diff --git a/src/me/ByteEdit/boxes/GlobalSearchBox.java b/src/me/ByteEdit/boxes/GlobalSearchBox.java index caa2f4a..dbf38cd 100644 --- a/src/me/ByteEdit/boxes/GlobalSearchBox.java +++ b/src/me/ByteEdit/boxes/GlobalSearchBox.java @@ -18,6 +18,7 @@ import javax.swing.KeyStroke; import javax.swing.border.EmptyBorder; import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.AnnotationNode; import org.objectweb.asm.tree.ClassNode; import org.objectweb.asm.tree.FieldInsnNode; import org.objectweb.asm.tree.LdcInsnNode; @@ -141,6 +142,7 @@ public class GlobalSearchBox extends JFrame { if (ignoreCase) { str = str.toLowerCase(); } + String fstr = str; for (ClassNode cn : Main.classNodes.values()) { for (MethodNode mn : cn.methods) { for (AbstractInsnNode insn : mn.instructions.toArray()) { @@ -154,6 +156,15 @@ public class GlobalSearchBox extends JFrame { } } } + if (mn.visibleAnnotations != null) { + for (AnnotationNode anno : mn.visibleAnnotations) { + if (anno.values == null) + continue; + anno.values.stream().filter(o -> o instanceof String).map(o -> (String) o) + .map(s -> ignoreCase ? s.toLowerCase() : s).filter(s -> s.contains(fstr)) + .forEach(s -> set.add(new Info(cn.name, mn.name, mn.desc, mn))); + } + } } } } else { diff --git a/src/me/ByteEdit/edit/Disassembler.java b/src/me/ByteEdit/edit/Disassembler.java index 4fa9423..6f4317d 100644 --- a/src/me/ByteEdit/edit/Disassembler.java +++ b/src/me/ByteEdit/edit/Disassembler.java @@ -106,7 +106,7 @@ public class Disassembler { AtomicInteger lineFound = new AtomicInteger(-1); StringContext ctx = new StringContext(18); ctx.next("// #Annotations:\n"); - ctx.next(doAnnotations(classNode.visibleAnnotations, hs)); + ctx.next(doAnnotations(classNode.visibleAnnotations, hs, "")); ctx.next("// #Class v:" + classNode.version + "\n"); if (classNode.signature != null) ctx.next("// #Signature: " + UnicodeUtils.escapeWithSpaces(hs, classNode.signature) + "\n"); @@ -165,12 +165,12 @@ public class Disassembler { } } - private static String doAnnotations(List annotations, HugeStrings hs) { + private static String doAnnotations(List annotations, HugeStrings hs, String linePrefix) { if (annotations == null) return ""; StringContext ctx = new StringContext(annotations.size()); for (AnnotationNode annotationNode : annotations) { - String s = "@" + UnicodeUtils.escapeWithSpaces(hs, annotationNode.desc); + String s = linePrefix + "@" + UnicodeUtils.escapeWithSpaces(hs, annotationNode.desc); if (annotationNode.values != null && !annotationNode.values.isEmpty()) { s += " ("; boolean valBefore = true; @@ -213,7 +213,7 @@ public class Disassembler { s += ", "; } s = s.substring(0, s.length() - 2); - s += " }]"; + s += " }], "; } else if (o instanceof String) { s += "\"" + UnicodeUtils.escapeWithSpaces(hs, (String) o) + "\"], "; } else { @@ -249,66 +249,8 @@ public class Disassembler { String[] dis = disassembleMethod(className, mn, hs); ms += dis[2]; ms += dis[1]; - if (mn.visibleAnnotations != null && !mn.visibleAnnotations.isEmpty()) { - for (AnnotationNode annotationNode : mn.visibleAnnotations) { - ms += "\t@" + annotationNode.desc; - if (annotationNode.values != null && !annotationNode.values.isEmpty()) { - ms += " ("; - boolean valBefore = true; - for (Object o : annotationNode.values) { - if (valBefore) { - ms += o + " = ["; - valBefore = false; - continue; - } else { - if (o instanceof String[]) { - String[] arr = (String[]) o; - boolean w8ing = false; - for (String rofl : arr) { - if (!w8ing) { - ms += UnicodeUtils.escapeWithSpaces(hs, rofl) + "/"; - w8ing = true; - } else { - ms += UnicodeUtils.escapeWithSpaces(hs, rofl) + "]"; - } - } - ms += ", "; - } else if (o instanceof List) { - List list = (List) o; - ms += "{ "; - for (Object obj : list) { - if (obj instanceof String[]) { - String[] arr = (String[]) obj; - boolean w8ing = false; - for (String rofl : arr) { - if (!w8ing) { - ms += UnicodeUtils.escapeWithSpaces(hs, rofl) + "/"; - w8ing = true; - } else { - ms += UnicodeUtils.escapeWithSpaces(hs, rofl); - } - } - } else { - ms += "\"" + UnicodeUtils.escape(hs, String.valueOf(obj)) - + "\""; - } - ms += ", "; - } - ms = ms.substring(0, ms.length() - 2); - ms += " }]"; - } else { - ms += "(" + o.getClass().getName().replace(".", "/") + ") " + o + "], "; - } - valBefore = true; - } - } - if (ms.endsWith(", ")) - ms = ms.substring(0, ms.length() - 2); - ms += ")"; - } - ms += "\n"; - } - } + if (mn.visibleAnnotations != null && !mn.visibleAnnotations.isEmpty()) + ms += doAnnotations(mn.visibleAnnotations, hs, "\t"); if (mn.equals(nodeToFind)) { lineFound.set(ms.split("\\n").length); } @@ -359,65 +301,8 @@ public class Disassembler { String s = ""; if (fn.signature != null) s += "\t// #Signature: " + UnicodeUtils.escapeWithSpaces(hs, fn.signature) + "\n"; - if (fn.visibleAnnotations != null && !fn.visibleAnnotations.isEmpty()) { - for (AnnotationNode annotationNode : fn.visibleAnnotations) { - s += "\t@" + UnicodeUtils.escapeWithSpaces(hs, annotationNode.desc); - if (annotationNode.values != null && !annotationNode.values.isEmpty()) { - s += " ("; - boolean valBefore = true; - for (Object o : annotationNode.values) { - if (valBefore) { - s += o + " = ["; - valBefore = false; - continue; - } else { - if (o instanceof String[]) { - String[] arr = (String[]) o; - boolean w8ing = false; - for (String rofl : arr) { - if (!w8ing) { - s += UnicodeUtils.escapeWithSpaces(hs, rofl) + "/"; - w8ing = true; - } else { - s += UnicodeUtils.escapeWithSpaces(hs, rofl) + "]"; - } - } - s += ", "; - } else if (o instanceof List) { - List list = (List) o; - s += "{ "; - for (Object obj : list) { - if (obj instanceof String[]) { - String[] arr = (String[]) obj; - boolean w8ing = false; - for (String rofl : arr) { - if (!w8ing) { - s += UnicodeUtils.escapeWithSpaces(hs, rofl) + "/"; - w8ing = true; - } else { - s += UnicodeUtils.escapeWithSpaces(hs, rofl); - } - } - } else { - s += "\"" + UnicodeUtils.escape(hs, String.valueOf(obj)) + "\""; - } - s += ", "; - } - s = s.substring(0, s.length() - 2); - s += " }]"; - } else { - s += "(" + o.getClass().getName().replace(".", "/") + ") " + o + "], "; - } - valBefore = true; - } - } - if (s.endsWith(", ")) - s = s.substring(0, s.length() - 2); - s += ")"; - } - s += "\n"; - } - } + if (fn.visibleAnnotations != null && !fn.visibleAnnotations.isEmpty()) + s += doAnnotations(fn.visibleAnnotations, hs, "\t"); if (fn.equals(nodeToFind)) { lineFound.set(s.split("\\n").length); } diff --git a/src/me/ByteEdit/main/Main.java b/src/me/ByteEdit/main/Main.java index 29d8078..93ff107 100644 --- a/src/me/ByteEdit/main/Main.java +++ b/src/me/ByteEdit/main/Main.java @@ -33,12 +33,12 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.List; import java.util.Map.Entry; -import java.util.jar.JarEntry; -import java.util.jar.JarFile; -import java.util.jar.JarOutputStream; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; +import java.util.zip.ZipOutputStream; import javax.swing.ButtonGroup; import javax.swing.JCheckBoxMenuItem; @@ -311,7 +311,7 @@ public class Main extends JFrame { new Thread(new Runnable() { public void run() { try { - ArchiveTreeModel model = new ArchiveTreeModel(new JarFile(jarFile)); + ArchiveTreeModel model = new ArchiveTreeModel(new ZipFile(jarFile)); EventQueue.invokeLater(new Runnable() { public void run() { synchronized (treeLock) { @@ -466,7 +466,7 @@ public class Main extends JFrame { new Thread(new Runnable() { public void run() { try { - ArchiveTreeModel model = new ArchiveTreeModel(new JarFile(jarFile)); + ArchiveTreeModel model = new ArchiveTreeModel(new ZipFile(jarFile)); EventQueue.invokeLater(new Runnable() { public void run() { synchronized (treeLock) { @@ -560,7 +560,7 @@ public class Main extends JFrame { new Thread(new Runnable() { public void run() { try { - ArchiveTreeModel model = new ArchiveTreeModel(new JarFile(jarFile)); + ArchiveTreeModel model = new ArchiveTreeModel(new ZipFile(jarFile)); EventQueue.invokeLater(new Runnable() { public void run() { synchronized (treeLock) { @@ -786,6 +786,8 @@ public class Main extends JFrame { public void goToSelected() throws BadLocationException { int lineStart = txtByteEditView.getLineStartOffsetOfCurrentLine(); int lineEnd = txtByteEditView.getLineEndOffsetOfCurrentLine() - 1; + if (lineEnd < lineStart) + return; String line = txtByteEditView.getText(lineStart, lineEnd - lineStart); if (!jumpableInstructionPattern.matcher(line).matches()) { return; @@ -1042,7 +1044,7 @@ public class Main extends JFrame { public void save(File jar, Collection classes) { try { - final JarOutputStream output = new JarOutputStream(new FileOutputStream(jar)); + final ZipOutputStream output = new ZipOutputStream(new FileOutputStream(jar)); if (tree.getModel().getClass().equals(DefaultTreeModel.class) || ((ArchiveTreeModel) tree.getModel()).newCreated) { int acc = ClassUtil.ACC_PUBLIC | ClassUtil.ACC_STATIC; @@ -1067,7 +1069,7 @@ public class Main extends JFrame { ((ArchiveTreeModel) tree.getModel()).newCreated = false; } for (Entry entry : OTHER_FILES.entrySet()) { - JarEntry ent = new JarEntry(entry.getKey()); + ZipEntry ent = new ZipEntry(entry.getKey()); output.putNextEntry(ent); output.write(entry.getValue()); output.closeEntry(); @@ -1082,7 +1084,7 @@ public class Main extends JFrame { for (ClassNode node : classes) { ClassWriter writer = new ClassWriter(computeFlags); node.accept(writer); - output.putNextEntry(new JarEntry(getFullName(node.name))); + output.putNextEntry(new ZipEntry(getFullName(node.name))); output.write(writer.toByteArray()); output.closeEntry(); } @@ -1123,16 +1125,16 @@ public class Main extends JFrame { newCreated = true; } - public ArchiveTreeModel(JarFile jar) { + public ArchiveTreeModel(ZipFile jar) { super(new ByteEditTreeNode(jar.getName().split(File.separator.equals("\\") ? "\\\\" : File.separator)[jar.getName().split(File.separator.equals("\\") ? "\\\\" : File.separator).length - 1])); try { classNodes.clear(); OTHER_FILES.clear(); - Enumeration enumeration = jar.entries(); + Enumeration enumeration = jar.entries(); while (enumeration.hasMoreElements()) { - JarEntry next = enumeration.nextElement(); + ZipEntry next = enumeration.nextElement(); byte[] data = toByteArray(jar.getInputStream(next)); if (next.getSize() != 0 && !next.getName().startsWith("META-INF") && (next.getName().endsWith(".class") || next.getName().endsWith(".class/"))) { diff --git a/src/org/fife/eclipse.xml b/src/org/fife/eclipse.xml index 7b904f7..6e1ace4 100644 --- a/src/org/fife/eclipse.xml +++ b/src/org/fife/eclipse.xml @@ -12,7 +12,7 @@ - + diff --git a/src/org/fife/eclipse_dark.xml b/src/org/fife/eclipse_dark.xml index 2cd3f00..1a95eb9 100644 --- a/src/org/fife/eclipse_dark.xml +++ b/src/org/fife/eclipse_dark.xml @@ -12,10 +12,10 @@ - + - - + + diff --git a/src/org/fife/io/DocumentReader.java b/src/org/fife/io/DocumentReader.java index 3a8b328..b917a71 100644 --- a/src/org/fife/io/DocumentReader.java +++ b/src/org/fife/io/DocumentReader.java @@ -20,7 +20,7 @@ import javax.swing.text.Segment; * @version 1.0 */ public class DocumentReader extends Reader { - + /** * The stream's position in the document. */ @@ -37,12 +37,11 @@ public class DocumentReader extends Reader { * Used for fast character access. */ private Segment segment; - + /** * Constructor. * - * @param document - * The document we're 'reading'. + * @param document The document we're 'reading'. */ public DocumentReader(Document document) { position = 0; @@ -50,34 +49,34 @@ public class DocumentReader extends Reader { this.document = document; this.segment = new Segment(); } - + /** * This currently does nothing... */ @Override - public void close() {} - + public void close() { + } + /** * Marks the present position in the stream. Subsequent calls to * reset() will reposition the stream to this point. * - * @param readAheadLimit - * Ignored. + * @param readAheadLimit Ignored. */ @Override public void mark(int readAheadLimit) { mark = position; } - + /** - * Tells whether this reader supports the mark operation. - * This always returns true for DocumentReader. + * Tells whether this reader supports the mark operation. This + * always returns true for DocumentReader. */ @Override public boolean markSupported() { return true; } - + /** * Reads the single character at the current position in the document. */ @@ -96,31 +95,27 @@ public class DocumentReader extends Reader { return -1; } } - + /** - * Read array.length characters from the beginning - * of the document into array. + * Read array.length characters from the beginning of the document + * into array. * - * @param array - * The array to read characters into. + * @param array The array to read characters into. * @return The number of characters read. */ @Override public int read(char[] array) { return read(array, 0, array.length); } - + /** * Reads characters into a portion of an array. * - * @param cbuf - * The destination buffer. - * @param off - * Offset at which to start storing characters. - * @param len - * Maximum number of characters to read. - * @return The number of characters read, or -1 if the - * end of the stream (document) has been reached. + * @param cbuf The destination buffer. + * @param off Offset at which to start storing characters. + * @param len Maximum number of characters to read. + * @return The number of characters read, or -1 if the end of the + * stream (document) has been reached. */ @Override public int read(char[] cbuf, int off, int len) { @@ -145,24 +140,23 @@ public class DocumentReader extends Reader { return -1; } } - + /** - * Tells whether this reader is ready to be read without - * blocking for input. DocumentReader will - * always return true. + * Tells whether this reader is ready to be read without blocking for input. + * DocumentReader will always return true. * - * @return true if the next read operation will - * return without blocking. + * @return true if the next read operation will return without + * blocking. */ @Override public boolean ready() { return true; } - + /** - * Resets the stream. If the stream has been marked, then attempt to - * reposition it at the mark. If the stream has not been marked, then - * move it to the beginning of the document. + * Resets the stream. If the stream has been marked, then attempt to reposition + * it at the mark. If the stream has not been marked, then move it to the + * beginning of the document. */ @Override public void reset() { @@ -173,12 +167,11 @@ public class DocumentReader extends Reader { mark = -1; } } - + /** * Skips characters. This will not 'skip' past the end of the document. * - * @param n - * The number of characters to skip. + * @param n The number of characters to skip. * @return The number of characters actually skipped. */ @Override @@ -191,14 +184,13 @@ public class DocumentReader extends Reader { position = document.getLength(); return document.getLength() - temp; } - + /** - * Move to the specified position in the document. If pos - * is greater than the document's length, the stream's position is moved - * to the end of the document. + * Move to the specified position in the document. If pos is + * greater than the document's length, the stream's position is moved to the end + * of the document. * - * @param pos - * The position in the document to move to. + * @param pos The position in the document to move to. */ public void seek(long pos) { position = Math.min(pos, document.getLength()); diff --git a/src/org/fife/io/UnicodeWriter.java b/src/org/fife/io/UnicodeWriter.java index 102814e..4607f11 100644 --- a/src/org/fife/io/UnicodeWriter.java +++ b/src/org/fife/io/UnicodeWriter.java @@ -28,12 +28,11 @@ import java.io.Writer; * @version 0.7 */ public class UnicodeWriter extends Writer { - + /** - * If this system property evaluates to "false", ignoring - * case, files written out as UTF-8 will not have a BOM written for them. - * Otherwise (even if the property is not set), UTF-8 files will have a - * BOM written. + * If this system property evaluates to "false", ignoring case, + * files written out as UTF-8 will not have a BOM written for them. Otherwise + * (even if the property is not set), UTF-8 files will have a BOM written. */ public static final String PROPERTY_WRITE_UTF8_BOM = "UnicodeWriter.writeUtf8BOM"; /** @@ -45,73 +44,62 @@ public class UnicodeWriter extends Writer { private static final byte[] UTF16BE_BOM = new byte[] { (byte) 0xFE, (byte) 0xFF }; private static final byte[] UTF32LE_BOM = new byte[] { (byte) 0xFF, (byte) 0xFE, (byte) 0x00, (byte) 0x00 }; private static final byte[] UTF32BE_BOM = new byte[] { (byte) 0x00, (byte) 0x00, (byte) 0xFE, (byte) 0xFF }; - + /** - * This is a utility constructor since the vast majority of the time, this - * class will be used to write Unicode files. + * This is a utility constructor since the vast majority of the time, this class + * will be used to write Unicode files. * - * @param fileName - * The file to which to write the Unicode output. - * @param encoding - * The encoding to use. - * @throws IOException - * If an IO exception occurs. + * @param fileName The file to which to write the Unicode output. + * @param encoding The encoding to use. + * @throws IOException If an IO exception occurs. */ public UnicodeWriter(String fileName, String encoding) throws IOException { this(new FileOutputStream(fileName), encoding); } - + /** - * This is a utility constructor since the vast majority of the time, this - * class will be used to write Unicode files. + * This is a utility constructor since the vast majority of the time, this class + * will be used to write Unicode files. * - * @param file - * The file to which to write the Unicode output. - * @param encoding - * The encoding to use. - * @throws IOException - * If an IO exception occurs. + * @param file The file to which to write the Unicode output. + * @param encoding The encoding to use. + * @throws IOException If an IO exception occurs. */ public UnicodeWriter(File file, String encoding) throws IOException { this(new FileOutputStream(file), encoding); } - + /** * Creates a new writer. * - * @param out - * The output stream to write. - * @param encoding - * The encoding to use. - * @throws IOException - * If an IO exception occurs. + * @param out The output stream to write. + * @param encoding The encoding to use. + * @throws IOException If an IO exception occurs. */ public UnicodeWriter(OutputStream out, String encoding) throws IOException { init(out, encoding); } - + /** * Closes this writer. * - * @throws IOException - * If an IO exception occurs. + * @throws IOException If an IO exception occurs. */ @Override public void close() throws IOException { internalOut.close(); } - + /** * Flushes the stream. * - * @throws IOException - * If an IO exception occurs. + * @throws IOException If an IO exception occurs. */ @Override public void flush() throws IOException { internalOut.flush(); } - + /** * Returns the encoding being used to write this output stream (i.e., the * encoding of the file). @@ -121,7 +109,7 @@ public class UnicodeWriter extends Writer { public String getEncoding() { return internalOut.getEncoding(); } - + /** * Returns whether UTF-8 files should have a BOM in them when written. * @@ -137,17 +125,14 @@ public class UnicodeWriter extends Writer { } return true; } - + /** - * Initializes the internal output stream and writes the BOM if the - * specified encoding is a Unicode encoding. + * Initializes the internal output stream and writes the BOM if the specified + * encoding is a Unicode encoding. * - * @param out - * The output stream we are writing. - * @param encoding - * The encoding in which to write. - * @throws IOException - * If an I/O error occurs while writing a BOM. + * @param out The output stream we are writing. + * @param encoding The encoding in which to write. + * @throws IOException If an I/O error occurs while writing a BOM. */ private void init(OutputStream out, String encoding) throws IOException { internalOut = new OutputStreamWriter(out, encoding); @@ -169,60 +154,49 @@ public class UnicodeWriter extends Writer { out.write(UTF32BE_BOM, 0, UTF32BE_BOM.length); } } - + /** * Sets whether UTF-8 files should have a BOM written in them. * - * @param write - * Whether to write a BOM. + * @param write Whether to write a BOM. * @see #getWriteUtf8BOM() * @see UnicodeWriter */ public static void setWriteUtf8BOM(boolean write) { System.setProperty(UnicodeWriter.PROPERTY_WRITE_UTF8_BOM, Boolean.toString(write)); } - + /** * Writes a portion of an array of characters. * - * @param cbuf - * The buffer of characters. - * @param off - * The offset from which to start writing characters. - * @param len - * The number of characters to write. - * @throws IOException - * If an I/O error occurs. + * @param cbuf The buffer of characters. + * @param off The offset from which to start writing characters. + * @param len The number of characters to write. + * @throws IOException If an I/O error occurs. */ @Override public void write(char[] cbuf, int off, int len) throws IOException { internalOut.write(cbuf, off, len); } - + /** * Writes a single character. * - * @param c - * An integer specifying the character to write. - * @throws IOException - * If an IO error occurs. + * @param c An integer specifying the character to write. + * @throws IOException If an IO error occurs. */ @Override public void write(int c) throws IOException { internalOut.write(c); } - + /** * Writes a portion of a string. * - * @param str - * The string from which to write. - * @param off - * The offset from which to start writing characters. - * @param len - * The number of characters to write. - * @throws IOException - * If an IO error occurs. + * @param str The string from which to write. + * @param off The offset from which to start writing characters. + * @param len The number of characters to write. + * @throws IOException If an IO error occurs. */ @Override public void write(String str, int off, int len) throws IOException { diff --git a/src/org/fife/print/RPrintUtilities.java b/src/org/fife/print/RPrintUtilities.java index ac3955f..158f272 100644 --- a/src/org/fife/print/RPrintUtilities.java +++ b/src/org/fife/print/RPrintUtilities.java @@ -30,7 +30,7 @@ import javax.swing.text.Utilities; * @version 1.0 */ public abstract class RPrintUtilities { - + private static int currentDocLineNumber; // The line number in the document // we are currently on. private static int numDocLines; // The number of lines in the current @@ -52,27 +52,21 @@ public abstract class RPrintUtilities { * The metrics of the font currently being used to print. */ private static FontMetrics fm; - + /** * Returns the position closest to, but before, position - * maxCharsPerLine in - * line of one of the chars in breakChars, or - * simply returns - * maxCharsPerLine-1 if none of the breakChars - * comes before - * that position. This position represents the logical line break for this - * java.lang.String - * if it is being printed in a monospaced font when lines can only be - * maxCharsPerLine - * characters long. + * maxCharsPerLine in line of one of the chars in + * breakChars, or simply returns maxCharsPerLine-1 if + * none of the breakChars comes before that position. This position + * represents the logical line break for this java.lang.String if + * it is being printed in a monospaced font when lines can only be + * maxCharsPerLine characters long. * - * @param line - * The text being printed. - * @param maxCharsPerLine - * Only up-to this many characters from - * line can be printed on one line. - * @return The logical position at which to stop printing line - * to simulate word wrap. + * @param line The text being printed. + * @param maxCharsPerLine Only up-to this many characters from line + * can be printed on one line. + * @return The logical position at which to stop printing line to + * simulate word wrap. */ private static int getLineBreakPoint(String line, final int maxCharsPerLine) { int breakPoint = -1; @@ -84,30 +78,23 @@ public abstract class RPrintUtilities { } return (breakPoint == -1 ? maxCharsPerLine - 1 : breakPoint); } - + /** * Prints a Document using a monospaced font, and does no word - * wrapping (ie, - * words will wrap mid-word to the next line). This method is expected to be - * called from - * Printable 'print(Graphics g)' functions. + * wrapping (ie, words will wrap mid-word to the next line). This method is + * expected to be called from Printable 'print(Graphics g)' functions. * - * @param g - * The graphics context to write to. - * @param doc - * The javax.swing.text.Document to print. - * @param fontSize - * the point size to use for the monospaced font. - * @param pageIndex - * The page number to print. - * @param pageFormat - * The format to print the page with. - * @param tabSize - * The number of spaces to expand tabs to. + * @param g The graphics context to write to. + * @param doc The javax.swing.text.Document to print. + * @param fontSize the point size to use for the monospaced font. + * @param pageIndex The page number to print. + * @param pageFormat The format to print the page with. + * @param tabSize The number of spaces to expand tabs to. * * @see #printDocumentMonospacedWordWrap */ - public static int printDocumentMonospaced(Graphics g, Document doc, int fontSize, int pageIndex, PageFormat pageFormat, int tabSize) { + public static int printDocumentMonospaced(Graphics g, Document doc, int fontSize, int pageIndex, + PageFormat pageFormat, int tabSize) { g.setColor(Color.BLACK); g.setFont(new Font("Monospaced", Font.PLAIN, fontSize)); // Initialize our static variables (these are used by our tab expander @@ -202,29 +189,23 @@ public abstract class RPrintUtilities { } return Printable.NO_SUCH_PAGE; } - + /** - * Prints a Document using a monospaced font, word wrapping on - * the characters ' ', '\t', '\n', ',', '.', and ';'. This method is - * expected to be called from Printable 'print(Graphics g)' functions. + * Prints a Document using a monospaced font, word wrapping on the + * characters ' ', '\t', '\n', ',', '.', and ';'. This method is expected to be + * called from Printable 'print(Graphics g)' functions. * - * @param g - * The graphics context to write to. - * @param doc - * The javax.swing.text.Document to print. - * @param fontSize - * the point size to use for the monospaced font. - * @param pageIndex - * The page number to print. - * @param pageFormat - * The format to print the page with. - * @param tabSize - * The number of spaces to expand tabs to. + * @param g The graphics context to write to. + * @param doc The javax.swing.text.Document to print. + * @param fontSize the point size to use for the monospaced font. + * @param pageIndex The page number to print. + * @param pageFormat The format to print the page with. + * @param tabSize The number of spaces to expand tabs to. * * @see #printDocumentMonospaced */ - public static int printDocumentMonospacedWordWrap(Graphics g, Document doc, int fontSize, int pageIndex, PageFormat pageFormat, - int tabSize) { + public static int printDocumentMonospacedWordWrap(Graphics g, Document doc, int fontSize, int pageIndex, + PageFormat pageFormat, int tabSize) { g.setColor(Color.BLACK); g.setFont(new Font("Monospaced", Font.PLAIN, fontSize)); // Initialize our static variables (these are used by our tab expander @@ -320,30 +301,24 @@ public abstract class RPrintUtilities { } return Printable.NO_SUCH_PAGE; } - + /** - * Prints a Document using the specified font, word wrapping - * on the characters ' ', '\t', '\n', ',', '.', and ';'. This method is - * expected to be called from Printable 'print(Graphics g)' functions. + * Prints a Document using the specified font, word wrapping on the + * characters ' ', '\t', '\n', ',', '.', and ';'. This method is expected to be + * called from Printable 'print(Graphics g)' functions. * - * @param g - * The graphics context to write to. - * @param textComponent - * The javax.swing.text.JTextComponent - * whose text you're printing. - * @param font - * The font to use for printing. If null, then - * textComponent's font is used. - * @param pageIndex - * The page number to print. - * @param pageFormat - * The format to print the page with. - * @param tabSize - * The number of spaces to convert tabs to. + * @param g The graphics context to write to. + * @param textComponent The javax.swing.text.JTextComponent whose + * text you're printing. + * @param font The font to use for printing. If null, then + * textComponent's font is used. + * @param pageIndex The page number to print. + * @param pageFormat The format to print the page with. + * @param tabSize The number of spaces to convert tabs to. * */ - public static int printDocumentWordWrap(Graphics g, JTextComponent textComponent, Font font, int pageIndex, PageFormat pageFormat, - int tabSize) { + public static int printDocumentWordWrap(Graphics g, JTextComponent textComponent, Font font, int pageIndex, + PageFormat pageFormat, int tabSize) { // Initialize our graphics object. g.setColor(Color.BLACK); g.setFont(font != null ? font : textComponent.getFont()); @@ -389,7 +364,8 @@ public abstract class RPrintUtilities { // we'd start after the part // that has already been printed). try { - doc.getText(currentLineStart + startingOffset, currentLineEnd - (currentLineStart + startingOffset), currentLineSeg); + doc.getText(currentLineStart + startingOffset, currentLineEnd - (currentLineStart + startingOffset), + currentLineSeg); } catch (BadLocationException ble) { System.err.println("BadLocationException in print (where there shouldn't be one!): " + ble); return Printable.NO_SUCH_PAGE; @@ -452,7 +428,8 @@ public abstract class RPrintUtilities { System.err.println(ble); return Printable.NO_SUCH_PAGE; } - currentLineLengthInPixels = Utilities.getTabbedTextWidth(currentLineSeg, fm, 0, tabExpander, 0); + currentLineLengthInPixels = Utilities.getTabbedTextWidth(currentLineSeg, fm, 0, tabExpander, + 0); } while (currentLineLengthInPixels <= lineLengthInPixels); currentPos--; } @@ -460,8 +437,8 @@ public abstract class RPrintUtilities { doc.getText((currentLineStart + startingOffset), currentPos, currentLineSeg); } catch (BadLocationException ble) { System.err.println("BadLocationException in print (a):"); - System.err.println("==> currentLineStart: " + currentLineStart + "; startingOffset: " + startingOffset - + "; currentPos: " + currentPos); + System.err.println("==> currentLineStart: " + currentLineStart + "; startingOffset: " + + startingOffset + "; currentPos: " + currentPos); System.err.println("==> Range: " + (currentLineStart + startingOffset) + " - " + (currentLineStart + startingOffset + currentPos)); ble.printStackTrace(); @@ -491,12 +468,11 @@ public abstract class RPrintUtilities { } return Printable.NO_SUCH_PAGE; } - + /** * Removes any spaces or tabs from the end of the segment. * - * @param segment - * The segment from which to remove tailing whitespace. + * @param segment The segment from which to remove tailing whitespace. * @return segment with trailing whitespace removed. */ private static Segment removeEndingWhitespace(Segment segment) { @@ -510,15 +486,16 @@ public abstract class RPrintUtilities { String newStringVal = stringVal.substring(0, stringVal.length() - toTrim); return new Segment(newStringVal.toCharArray(), 0, newStringVal.length()); } - + /** - * A tab expander for the document currently being printed with the - * font being used for the printing. + * A tab expander for the document currently being printed with the font being + * used for the printing. */ private static class RPrintTabExpander implements TabExpander { - - RPrintTabExpander() {} - + + RPrintTabExpander() { + } + @Override public float nextTabStop(float x, int tabOffset) { if (tabSizeInSpaces == 0) { diff --git a/src/org/fife/ui/autocomplete/AbstractCompletion.java b/src/org/fife/ui/autocomplete/AbstractCompletion.java index 3f09778..a697c9f 100644 --- a/src/org/fife/ui/autocomplete/AbstractCompletion.java +++ b/src/org/fife/ui/autocomplete/AbstractCompletion.java @@ -17,17 +17,17 @@ import javax.swing.text.JTextComponent; * lexicographically (ignoring case). *

* - * This implementation assumes the input text and replacement text are the - * same value. It also returns the input text from its {@link #toString()} - * method (which is what DefaultListCellRenderer uses to render - * objects). Subclasses that wish to override any of this behavior can simply - * override the corresponding method(s) needed to do so. + * This implementation assumes the input text and replacement text are the same + * value. It also returns the input text from its {@link #toString()} method + * (which is what DefaultListCellRenderer uses to render objects). + * Subclasses that wish to override any of this behavior can simply override the + * corresponding method(s) needed to do so. * * @author Robert Futrell * @version 1.0 */ public abstract class AbstractCompletion implements Completion { - + /** * The provider that created this completion; */ @@ -38,35 +38,32 @@ public abstract class AbstractCompletion implements Completion { private Icon icon; /** * The relevance of this completion. Completion instances with higher - * "relevance" values are inserted higher into the list of possible - * completions than those with lower values. Completion instances with - * equal relevance values are sorted alphabetically. + * "relevance" values are inserted higher into the list of possible completions + * than those with lower values. Completion instances with equal relevance + * values are sorted alphabetically. */ private int relevance; - + /** * Constructor. * - * @param provider - * The provider that created this completion. + * @param provider The provider that created this completion. */ protected AbstractCompletion(CompletionProvider provider) { this.provider = provider; } - + /** * Constructor. * - * @param provider - * The provider that created this completion. - * @param icon - * The icon for this completion. + * @param provider The provider that created this completion. + * @param icon The icon for this completion. */ protected AbstractCompletion(CompletionProvider provider, Icon icon) { this(provider); setIcon(icon); } - + /** * {@inheritDoc} */ @@ -79,7 +76,7 @@ public abstract class AbstractCompletion implements Completion { } return -1; } - + /** * {@inheritDoc} */ @@ -87,7 +84,7 @@ public abstract class AbstractCompletion implements Completion { public String getAlreadyEntered(JTextComponent comp) { return provider.getAlreadyEnteredText(comp); } - + /** * {@inheritDoc} */ @@ -95,10 +92,10 @@ public abstract class AbstractCompletion implements Completion { public Icon getIcon() { return icon; } - + /** - * Returns the text the user has to (start) typing for this completion - * to be offered. The default implementation simply returns + * Returns the text the user has to (start) typing for this completion to be + * offered. The default implementation simply returns * {@link #getReplacementText()}. * * @return The text the user has to (start) typing for this completion. @@ -108,7 +105,7 @@ public abstract class AbstractCompletion implements Completion { public String getInputText() { return getReplacementText(); } - + /** * {@inheritDoc} */ @@ -116,7 +113,7 @@ public abstract class AbstractCompletion implements Completion { public CompletionProvider getProvider() { return provider; } - + /** * {@inheritDoc} */ @@ -124,10 +121,10 @@ public abstract class AbstractCompletion implements Completion { public int getRelevance() { return relevance; } - + /** - * The default implementation returns null. Subclasses - * can override this method. + * The default implementation returns null. Subclasses can override + * this method. * * @return The tool tip text. */ @@ -135,29 +132,27 @@ public abstract class AbstractCompletion implements Completion { public String getToolTipText() { return null; } - + /** * Sets the icon to use for this completion. * - * @param icon - * The icon to use. + * @param icon The icon to use. * @see #getIcon() */ public void setIcon(Icon icon) { this.icon = icon; } - + /** * Sets the relevance of this completion. * - * @param relevance - * The new relevance of this completion. + * @param relevance The new relevance of this completion. * @see #getRelevance() */ public void setRelevance(int relevance) { this.relevance = relevance; } - + /** * Returns a string representation of this completion. The default * implementation returns {@link #getInputText()}. diff --git a/src/org/fife/ui/autocomplete/AutoCompleteDescWindow.java b/src/org/fife/ui/autocomplete/AutoCompleteDescWindow.java index 8b6c025..9fc2701 100644 --- a/src/org/fife/ui/autocomplete/AutoCompleteDescWindow.java +++ b/src/org/fife/ui/autocomplete/AutoCompleteDescWindow.java @@ -43,14 +43,14 @@ import javax.swing.event.HyperlinkListener; import org.fife.ui.rsyntaxtextarea.PopupWindowDecorator; /** - * The optional "description" window that describes the currently selected - * item in the auto-completion window. + * The optional "description" window that describes the currently selected item + * in the auto-completion window. * * @author Robert Futrell * @version 1.0 */ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescWindowCallback { - + /** * The parent AutoCompletion instance. */ @@ -89,9 +89,8 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW private int historyPos; /** * Provides a slight delay between asking to set a description and actually - * displaying it, so that if the user is scrolling quickly through - * completions, those with slow-to-calculate summaries won't bog down the - * scrolling. + * displaying it, so that if the user is scrolling quickly through completions, + * those with slow-to-calculate summaries won't bog down the scrolling. */ private Timer timer; /** @@ -103,24 +102,21 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW */ private ResourceBundle bundle; /** - * The amount of time to wait after the user changes the selected - * completion to refresh the description. This delay is in place to help - * performance for {@link Completion}s that may be slow to compute their - * summary text. + * The amount of time to wait after the user changes the selected completion to + * refresh the description. This delay is in place to help performance for + * {@link Completion}s that may be slow to compute their summary text. */ private static final int INITIAL_TIMER_DELAY = 120; /** * The resource bundle name. */ private static final String MSG = "org.fife.ui.autocomplete.AutoCompleteDescWindow"; - + /** * Constructor. * - * @param owner - * The parent window. - * @param ac - * The parent auto-completion. + * @param owner The parent window. + * @param ac The parent auto-completion. */ public AutoCompleteDescWindow(Window owner, AutoCompletion ac) { super(owner); @@ -146,12 +142,12 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW descWindowNavBar.add(new JButton(forwardAction)); bottomPanel = new JPanel(new BorderLayout()); b = new AbstractBorder() { - + @Override public Insets getBorderInsets(Component c) { return new Insets(1, 0, 0, 0); } - + @Override public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { g.setColor(UIManager.getColor("controlDkShadow")); @@ -179,19 +175,18 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW timer = new Timer(INITIAL_TIMER_DELAY, timerAction); timer.setRepeats(false); } - + /** * Sets the currently displayed description and updates the history. * - * @param historyItem - * The item to add to the history. + * @param historyItem The item to add to the history. */ private void addToHistory(HistoryEntry historyItem) { history.add(++historyPos, historyItem); clearHistoryAfterCurrentPos(); setActionStates(); } - + /** * Clears the history of viewed descriptions. */ @@ -202,7 +197,7 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW setActionStates(); } } - + /** * Makes the current history page the last one in the history. */ @@ -212,10 +207,10 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW } setActionStates(); } - + /** - * Copies from the description text area, if it is visible and there is - * a selection. + * Copies from the description text area, if it is visible and there is a + * selection. * * @return Whether a copy occurred. */ @@ -226,12 +221,11 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW } return false; } - + /** * Returns the localized message for the specified key. * - * @param key - * The key. + * @param key The key. * @return The localized message. */ private String getString(String key) { @@ -240,12 +234,11 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW } return bundle.getString(key); } - + /** * Called when a hyperlink is clicked. * - * @param e - * The event. + * @param e The event. */ @Override public void hyperlinkUpdate(HyperlinkEvent e) { @@ -261,7 +254,8 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW URL newUrl = redirector.possiblyRedirect(url); if (newUrl != null && newUrl != url) { url = newUrl; - e = new HyperlinkEvent(e.getSource(), e.getEventType(), newUrl, e.getDescription(), e.getSourceElement()); + e = new HyperlinkEvent(e.getSource(), e.getEventType(), newUrl, e.getDescription(), + e.getSourceElement()); } } } @@ -300,7 +294,7 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW } } } - + /** * Enables or disables the back and forward actions as appropriate. */ @@ -323,47 +317,41 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW } forwardAction.putValue(Action.SHORT_DESCRIPTION, desc); } - + /** - * Sets the description displayed in this window. This clears the - * history. + * Sets the description displayed in this window. This clears the history. * - * @param item - * The item whose description you want to display. + * @param item The item whose description you want to display. */ public void setDescriptionFor(Completion item) { setDescriptionFor(item, false); } - + /** * Sets the description displayed in this window. * - * @param item - * The item whose description you want to display. - * @param addToHistory - * Whether to add this page to the page history - * (as opposed to clearing it and starting anew). + * @param item The item whose description you want to display. + * @param addToHistory Whether to add this page to the page history (as opposed + * to clearing it and starting anew). */ protected void setDescriptionFor(Completion item, boolean addToHistory) { setDescriptionFor(item, null, addToHistory); } - + /** * Sets the description displayed in this window. * - * @param item - * The item whose description you want to display. + * @param item The item whose description you want to display. * @parma anchor The anchor to jump to, or null if none. - * @param addToHistory - * Whether to add this page to the page history - * (as opposed to clearing it and starting anew). + * @param addToHistory Whether to add this page to the page history (as opposed + * to clearing it and starting anew). */ protected void setDescriptionFor(Completion item, String anchor, boolean addToHistory) { timer.stop(); timerAction.setCompletion(item, anchor, addToHistory); timer.start(); } - + private void setDisplayedDesc(Completion completion, final String anchor, boolean addToHistory) { String desc = completion == null ? null : completion.getSummary(); if (desc == null) { @@ -372,7 +360,7 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW descArea.setText(desc); if (anchor != null) { SwingUtilities.invokeLater(new Runnable() { - + @Override public void run() { descArea.scrollToReference(anchor); @@ -388,7 +376,7 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW } addToHistory(new HistoryEntry(completion, desc, null)); } - + /** * {@inheritDoc} */ @@ -399,21 +387,19 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW } super.setVisible(visible); } - + /** * Callback for custom ExternalURLHandlers. * - * @param completion - * The completion to display. - * @param anchor - * The anchor in the HTML to jump to, or null - * if none. + * @param completion The completion to display. + * @param anchor The anchor in the HTML to jump to, or null if + * none. */ @Override public void showSummaryFor(Completion completion, String anchor) { setDescriptionFor(completion, anchor, true); } - + /** * Called by the parent completion popup window the LookAndFeel is updated. */ @@ -425,25 +411,25 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW scrollPane.getViewport().setBackground(descArea.getBackground()); ((JPanel) getContentPane()).setBorder(TipUtil.getToolTipBorder()); } - + /** * A completion and its cached summary text. */ private static class HistoryEntry { - + public Completion completion; public String summary; public String anchor; - + public HistoryEntry(Completion completion, String summary, String anchor) { this.completion = completion; this.summary = summary; this.anchor = anchor; } - + /** - * Overridden to display a short name for the completion, since it's - * used in the tool tips for the "back" and "forward" buttons. + * Overridden to display a short name for the completion, since it's used in the + * tool tips for the "back" and "forward" buttons. * * @return A string representation of this history entry. */ @@ -452,16 +438,16 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW return completion.getInputText(); } } - + /** * Action that actually updates the summary text displayed. */ private class TimerAction extends AbstractAction { - + private Completion completion; private String anchor; private boolean addToHistory; - + /** * Called when the timer is fired. */ @@ -469,26 +455,26 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW public void actionPerformed(ActionEvent e) { setDisplayedDesc(completion, anchor, addToHistory); } - + public void setCompletion(Completion c, String anchor, boolean addToHistory) { this.completion = c; this.anchor = anchor; this.addToHistory = addToHistory; } } - + /** * Action that moves to the previous description displayed. */ class ToolBarBackAction extends AbstractAction { - + public ToolBarBackAction(boolean ltr) { String img = "org/fife/ui/autocomplete/arrow_" + (ltr ? "left.png" : "right.png"); ClassLoader cl = getClass().getClassLoader(); Icon icon = new ImageIcon(cl.getResource(img)); putValue(Action.SMALL_ICON, icon); } - + @Override public void actionPerformed(ActionEvent e) { if (historyPos > 0) { @@ -504,19 +490,19 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener, DescW } } } - + /** * Action that moves to the previous description displayed. */ class ToolBarForwardAction extends AbstractAction { - + public ToolBarForwardAction(boolean ltr) { String img = "org/fife/ui/autocomplete/arrow_" + (ltr ? "right.png" : "left.png"); ClassLoader cl = getClass().getClassLoader(); Icon icon = new ImageIcon(cl.getResource(img)); putValue(Action.SMALL_ICON, icon); } - + @Override public void actionPerformed(ActionEvent e) { if (history != null && historyPos < history.size() - 1) { diff --git a/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java b/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java index 803b112..6c2bbb0 100644 --- a/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java +++ b/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java @@ -43,16 +43,15 @@ import org.fife.ui.rsyntaxtextarea.PopupWindowDecorator; /** * The actual popup window of choices. When visible, this window intercepts - * certain keystrokes in the parent text component and uses them to navigate - * the completion choices instead. If Enter or Escape is pressed, the window - * hides itself and notifies the {@link AutoCompletion} to insert the selected - * text. + * certain keystrokes in the parent text component and uses them to navigate the + * completion choices instead. If Enter or Escape is pressed, the window hides + * itself and notifies the {@link AutoCompletion} to insert the selected text. * * @author Robert Futrell * @version 1.0 */ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSelectionListener, MouseListener { - + /** * The parent AutoCompletion instance. */ @@ -66,27 +65,26 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele */ private CompletionListModel model; /** - * A hack to work around the fact that we clear our completion model (and - * our selection) when hiding the completion window. This allows us to - * still know what the user selected after the popup is hidden. + * A hack to work around the fact that we clear our completion model (and our + * selection) when hiding the completion window. This allows us to still know + * what the user selected after the popup is hidden. */ private Completion lastSelection; /** - * Optional popup window containing a description of the currently - * selected completion. + * Optional popup window containing a description of the currently selected + * completion. */ private AutoCompleteDescWindow descWindow; /** - * The preferred size of the optional description window. This field - * only exists because the user may (and usually will) set the size of - * the description window before it exists (it must be parented to a - * Window). + * The preferred size of the optional description window. This field only exists + * because the user may (and usually will) set the size of the description + * window before it exists (it must be parented to a Window). */ private Dimension preferredDescWindowSize; /** - * Whether the completion window and the optional description window - * should be displayed above the current caret position (as opposed to - * underneath it, which is preferred unless there is not enough space). + * Whether the completion window and the optional description window should be + * displayed above the current caret position (as opposed to underneath it, + * which is preferred unless there is not enough space). */ private boolean aboveCaret; private int lastLine; @@ -103,7 +101,8 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele private KeyActionPair pageUpKap; private KeyActionPair pageDownKap; private KeyActionPair ctrlCKap; - private KeyActionPair oldEscape, oldUp, oldDown, oldLeft, oldRight, oldEnter, oldTab, oldHome, oldEnd, oldPageUp, oldPageDown, oldCtrlC; + private KeyActionPair oldEscape, oldUp, oldDown, oldLeft, oldRight, oldEnter, oldTab, oldHome, oldEnd, oldPageUp, + oldPageDown, oldCtrlC; /** * The space between the caret and the completion popup. */ @@ -112,14 +111,12 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele * The class name of the Substance List UI. */ private static final String SUBSTANCE_LIST_UI = "org.pushingpixels.substance.internal.ui.SubstanceListUI"; - + /** * Constructor. * - * @param parent - * The parent window (hosting the text component). - * @param ac - * The auto-completion instance. + * @param parent The parent window (hosting the text component). + * @param ac The auto-completion instance. */ public AutoCompletePopupWindow(Window parent, final AutoCompletion ac) { super(parent); @@ -131,7 +128,8 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele list.addListSelectionListener(this); list.addMouseListener(this); JPanel contentPane = new JPanel(new BorderLayout()); - JScrollPane sp = new JScrollPane(list, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); + JScrollPane sp = new JScrollPane(list, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, + JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); // In 1.4, JScrollPane.setCorner() has a bug where it won't accept // JScrollPane.LOWER_TRAILING_CORNER, even though that constant is // defined. So we have to put the logic added in 1.5 to handle it @@ -155,7 +153,7 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele setFocusableWindowState(false); lastLine = -1; } - + @Override public void caretUpdate(CaretEvent e) { if (isVisible()) { // Should always be true @@ -170,7 +168,7 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele Thread.dumpStack(); } } - + /** * Creates the description window. * @@ -186,10 +184,10 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele dw.setSize(size); return dw; } - + /** - * Creates the mappings from keys to Actions we'll be putting into the - * text component's ActionMap and InputMap. + * Creates the mappings from keys to Actions we'll be putting into the text + * component's ActionMap and InputMap. */ private void createKeyActionPairs() { // Actions we'll install. @@ -220,11 +218,11 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele oldPageDown = new KeyActionPair(); oldCtrlC = new KeyActionPair(); } - + protected void doAutocomplete() { lastLine = ac.refreshPopupWindow(); } - + /** * Returns the copy keystroke to use for this platform. * @@ -235,10 +233,10 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele int mask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); return KeyStroke.getKeyStroke(key, mask); } - + /** - * Returns the default list cell renderer used when a completion provider - * does not supply its own. + * Returns the default list cell renderer used when a completion provider does + * not supply its own. * * @return The default list cell renderer. * @see #setListCellRenderer(ListCellRenderer) @@ -247,7 +245,7 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele DelegatingCellRenderer dcr = (DelegatingCellRenderer) list.getCellRenderer(); return dcr.getFallbackCellRenderer(); } - + /** * Returns the selected value, or null if nothing is selected. * @@ -256,7 +254,7 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele public Completion getSelection() { return isShowing() ? (Completion) list.getSelectedValue() : lastSelection; } - + /** * Inserts the currently selected completion. * @@ -266,10 +264,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele Completion comp = getSelection(); ac.insertCompletion(comp); } - + /** - * Registers keyboard actions to listen for in the text component and - * intercept. + * Registers keyboard actions to listen for in the text component and intercept. * * @see #uninstallKeyBindings() */ @@ -313,30 +310,34 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele comp.addCaretListener(this); keyBindingsInstalled = true; } - + @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { insertSelectedCompletion(); } } - + @Override - public void mouseEntered(MouseEvent e) {} - + public void mouseEntered(MouseEvent e) { + } + @Override - public void mouseExited(MouseEvent e) {} - + public void mouseExited(MouseEvent e) { + } + @Override - public void mousePressed(MouseEvent e) {} - + public void mousePressed(MouseEvent e) { + } + @Override - public void mouseReleased(MouseEvent e) {} - + public void mouseReleased(MouseEvent e) { + } + /** - * Positions the description window relative to the completion choices - * window. We assume there is room on one side of the other for this - * entire window to fit. + * Positions the description window relative to the completion choices window. + * We assume there is room on one side of the other for this entire window to + * fit. */ private void positionDescWindow() { boolean showDescWindow = descWindow != null && ac.getShowDescWindow(); @@ -372,42 +373,31 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele descWindow.setLocation(x, y); } } - + /** - * "Puts back" the original key/Action pair for a keystroke. This is used - * when this popup is hidden. + * "Puts back" the original key/Action pair for a keystroke. This is used when + * this popup is hidden. * - * @param im - * The input map. - * @param am - * The action map. - * @param key - * The keystroke whose key/Action pair to change. - * @param kap - * The (original) key/Action pair. - * @see #replaceAction(InputMap, ActionMap, int, KeyActionPair, - * KeyActionPair) + * @param im The input map. + * @param am The action map. + * @param key The keystroke whose key/Action pair to change. + * @param kap The (original) key/Action pair. + * @see #replaceAction(InputMap, ActionMap, int, KeyActionPair, KeyActionPair) */ private void putBackAction(InputMap im, ActionMap am, int key, KeyActionPair kap) { KeyStroke ks = KeyStroke.getKeyStroke(key, 0); am.put(im.get(ks), kap.action); // Original action for the "new" key im.put(ks, kap.key); // Original key for the keystroke. } - + /** - * Replaces a key/Action pair in an InputMap and ActionMap with a new - * pair. + * Replaces a key/Action pair in an InputMap and ActionMap with a new pair. * - * @param im - * The input map. - * @param am - * The action map. - * @param key - * The keystroke whose information to replace. - * @param kap - * The new key/Action pair for key. - * @param old - * A buffer in which to place the old key/Action pair. + * @param im The input map. + * @param am The action map. + * @param key The keystroke whose information to replace. + * @param kap The new key/Action pair for key. + * @param old A buffer in which to place the old key/Action pair. * @see #putBackAction(InputMap, ActionMap, int, KeyActionPair) */ private void replaceAction(InputMap im, ActionMap am, int key, KeyActionPair kap, KeyActionPair old) { @@ -417,7 +407,7 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele old.action = am.get(kap.key); am.put(kap.key, kap.action); } - + /** * Selects the first item in the completion list. * @@ -429,7 +419,7 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele list.ensureIndexIsVisible(0); } } - + /** * Selects the last item in the completion list. * @@ -442,7 +432,7 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele list.ensureIndexIsVisible(index); } } - + /** * Selects the next item in the completion list. * @@ -456,10 +446,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele list.ensureIndexIsVisible(index); } } - + /** - * Selects the completion item one "page down" from the currently selected - * one. + * Selects the completion item one "page down" from the currently selected one. * * @see #selectPageUpItem() */ @@ -469,10 +458,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele list.setSelectedIndex(i); list.ensureIndexIsVisible(i); } - + /** - * Selects the completion item one "page up" from the currently selected - * one. + * Selects the completion item one "page up" from the currently selected one. * * @see #selectPageDownItem() */ @@ -482,7 +470,7 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele list.setSelectedIndex(i); list.ensureIndexIsVisible(i); } - + /** * Selects the previous item in the completion list. * @@ -491,40 +479,38 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele private void selectPreviousItem() { int index = list.getSelectedIndex(); switch (index) { - case 0: - index = list.getModel().getSize() - 1; - break; - case -1: // Check for an empty list (would be an error) - index = list.getModel().getSize() - 1; - if (index == -1) { - return; - } - break; - default: - index = index - 1; - break; + case 0: + index = list.getModel().getSize() - 1; + break; + case -1: // Check for an empty list (would be an error) + index = list.getModel().getSize() - 1; + if (index == -1) { + return; + } + break; + default: + index = index - 1; + break; } list.setSelectedIndex(index); list.ensureIndexIsVisible(index); } - + /** - * Sets the completions to display in the choices list. The first - * completion is selected. + * Sets the completions to display in the choices list. The first completion is + * selected. * - * @param completions - * The completions to display. + * @param completions The completions to display. */ public void setCompletions(List completions) { model.setContents(completions); selectFirstItem(); } - + /** * Sets the size of the description window. * - * @param size - * The new size. This cannot be null. + * @param size The new size. This cannot be null. */ public void setDescriptionWindowSize(Dimension size) { if (descWindow != null) { @@ -533,28 +519,26 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele preferredDescWindowSize = size; } } - + /** - * Sets the default list cell renderer to use when a completion provider - * does not supply its own. + * Sets the default list cell renderer to use when a completion provider does + * not supply its own. * - * @param renderer - * The renderer to use. If this is null, - * a default renderer is used. + * @param renderer The renderer to use. If this is null, a default + * renderer is used. * @see #getListCellRenderer() */ public void setListCellRenderer(ListCellRenderer renderer) { DelegatingCellRenderer dcr = (DelegatingCellRenderer) list.getCellRenderer(); dcr.setFallbackCellRenderer(renderer); } - + /** * Sets the location of this window to be "good" relative to the specified - * rectangle. That rectangle should be the location of the text - * component's caret, in screen coordinates. + * rectangle. That rectangle should be the location of the text component's + * caret, in screen coordinates. * - * @param r - * The text component's caret position, in screen coordinates. + * @param r The text component's caret position, in screen coordinates. */ public void setLocationRelativeTo(Rectangle r) { // Multi-monitor support - make sure the completion window (and @@ -596,12 +580,11 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele positionDescWindow(); } } - + /** * Toggles the visibility of this popup window. * - * @param visible - * Whether this window should be visible. + * @param visible Whether this window should be visible. */ @Override public void setVisible(boolean visible) { @@ -649,7 +632,7 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + /** * Stops intercepting certain keystrokes from the text component. * @@ -683,10 +666,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele comp.removeCaretListener(this); keyBindingsInstalled = false; } - + /** - * Updates the LookAndFeel of this window and the description - * window. + * Updates the LookAndFeel of this window and the description window. */ public void updateUI() { SwingUtilities.updateComponentTreeUI(this); @@ -694,12 +676,11 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele descWindow.updateUI(); } } - + /** * Called when a new item is selected in the popup list. * - * @param e - * The event. + * @param e The event. */ @Override public void valueChanged(ListSelectionEvent e) { @@ -711,9 +692,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + class CopyAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { boolean doNormalCopy = false; @@ -725,9 +706,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + class DownAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isVisible()) { @@ -735,9 +716,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + class EndAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isVisible()) { @@ -745,9 +726,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + class EnterAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isVisible()) { @@ -755,9 +736,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + class EscapeAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isVisible()) { @@ -765,9 +746,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + class HomeAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isVisible()) { @@ -775,25 +756,26 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + /** * A mapping from a key (an Object) to an Action. */ private static class KeyActionPair { - + public Object key; public Action action; - - public KeyActionPair() {} - + + public KeyActionPair() { + } + public KeyActionPair(Object key, Action a) { this.key = key; this.action = a; } } - + class LeftAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isVisible()) { @@ -813,9 +795,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + class PageDownAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isVisible()) { @@ -823,9 +805,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + class PageUpAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isVisible()) { @@ -833,16 +815,16 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + /** * The actual list of completion choices in this popup window. */ private class PopupList extends JList { - + public PopupList(CompletionListModel model) { super(model); } - + @Override public void setUI(ListUI ui) { if (Util.getUseSubstanceRenderers() && SUBSTANCE_LIST_UI.equals(ui.getClass().getName())) { @@ -863,9 +845,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele super.setUI(ui); } } - + class RightAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isVisible()) { @@ -885,9 +867,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, ListSele } } } - + class UpAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isVisible()) { diff --git a/src/org/fife/ui/autocomplete/AutoCompletion.java b/src/org/fife/ui/autocomplete/AutoCompletion.java index 48954f1..6aa3077 100644 --- a/src/org/fife/ui/autocomplete/AutoCompletion.java +++ b/src/org/fife/ui/autocomplete/AutoCompletion.java @@ -49,8 +49,8 @@ import javax.swing.text.Element; import javax.swing.text.JTextComponent; /** - * Adds auto-completion to a text component. Provides a popup window with a - * list of auto-complete choices on a given keystroke, such as Crtrl+Space. + * Adds auto-completion to a text component. Provides a popup window with a list + * of auto-complete choices on a given keystroke, such as Crtrl+Space. *

* * Depending on the {@link CompletionProvider} installed, the following @@ -58,14 +58,14 @@ import javax.swing.text.JTextComponent; * *

    *
  • An auto-complete choices list made visible via e.g. Ctrl+Space
  • - *
  • A "description" window displayed alongside the choices list that - * provides documentation on the currently selected completion choice - * (as seen in Eclipse and NetBeans).
  • + *
  • A "description" window displayed alongside the choices list that provides + * documentation on the currently selected completion choice (as seen in Eclipse + * and NetBeans).
  • *
  • Parameter assistance. If this is enabled, if the user enters a - * "parameterized" completion, such as a method or a function, then they - * will receive a tool tip describing the arguments they have to enter to - * the completion. Also, the arguments can be navigated via tab and - * shift+tab (a la Eclipse and NetBeans).
  • + * "parameterized" completion, such as a method or a function, then they will + * receive a tool tip describing the arguments they have to enter to the + * completion. Also, the arguments can be navigated via tab and shift+tab (a la + * Eclipse and NetBeans). *
* * @author Robert Futrell @@ -78,7 +78,7 @@ import javax.swing.text.JTextComponent; * popup Window. */ public class AutoCompletion { - + /** * The text component we're providing completion for. */ @@ -93,14 +93,14 @@ public class AutoCompletion { private AutoCompletePopupWindow popupWindow; /** * The preferred size of the completion choices window. This field exists - * because the user will likely set the preferred size of the window before - * it is actually created. + * because the user will likely set the preferred size of the window before it + * is actually created. */ private Dimension preferredChoicesWindowSize; /** - * The preferred size of the optional description window. This field only - * exists because the user may (and usually will) set the size of the - * description window before it exists (it must be parented to a Window). + * The preferred size of the optional description window. This field only exists + * because the user may (and usually will) set the size of the description + * window before it exists (it must be parented to a Window). */ private Dimension preferredDescWindowSize; /** @@ -112,13 +112,12 @@ public class AutoCompletion { */ private CompletionProvider provider; /** - * The renderer to use for the completion choices. If this is - * null, then a default renderer is used. + * The renderer to use for the completion choices. If this is null, + * then a default renderer is used. */ private ListCellRenderer renderer; /** - * The handler to use when an external URL is clicked in the help - * documentation. + * The handler to use when an external URL is clicked in the help documentation. */ private ExternalURLHandler externalURLHandler; /** @@ -127,8 +126,8 @@ public class AutoCompletion { */ private static LinkRedirector linkRedirector; /** - * Whether the description window should be displayed along with the - * completion choice window. + * Whether the description window should be displayed along with the completion + * choice window. */ private boolean showDescWindow; /** @@ -136,14 +135,14 @@ public class AutoCompletion { */ private boolean autoCompleteEnabled; /** - * Whether the auto-activation of auto-complete (after a delay, after the - * user types an appropriate character) is enabled. + * Whether the auto-activation of auto-complete (after a delay, after the user + * types an appropriate character) is enabled. */ private boolean autoActivationEnabled; /** - * Whether or not, when there is only a single auto-complete option that - * matches the text at the current text position, that text should be - * auto-inserted, instead of the completion window displaying. + * Whether or not, when there is only a single auto-complete option that matches + * the text at the current text position, that text should be auto-inserted, + * instead of the completion window displaying. */ private boolean autoCompleteSingleChoices; /** @@ -166,8 +165,8 @@ public class AutoCompletion { */ private Object oldTriggerKey; /** - * The action previously assigned to {@link #trigger}, so we can reset it if - * the user disables auto-completion. + * The action previously assigned to {@link #trigger}, so we can reset it if the + * user disables auto-completion. */ private Action oldTriggerAction; /** @@ -186,8 +185,8 @@ public class AutoCompletion { */ private ParentWindowListener parentWindowListener; /** - * Listens for events from the text component that affect the visibility of - * the popup windows. + * Listens for events from the text component that affect the visibility of the + * popup windows. */ private TextComponentListener textComponentListener; /** @@ -210,14 +209,14 @@ public class AutoCompletion { private EventListenerList listeners; /** * Whether or not the popup should be hidden when user types a space (or any - * character that resets the completion list to "all completions"). Defaults - * to true. + * character that resets the completion list to "all completions"). Defaults to + * true. */ private boolean hideOnNoText; /** * Whether or not the popup should be hidden when the CompletionProvider - * changes. If set to false, caller has to ensure refresh of the popup - * content. Defaults to true. + * changes. If set to false, caller has to ensure refresh of the popup content. + * Defaults to true. */ private boolean hideOnCompletionProviderChange; /** @@ -229,21 +228,18 @@ public class AutoCompletion { */ private static final String PARAM_COMPLETE_KEY = "AutoCompletion.FunctionStart"; /** - * Stores how to render auto-completion-specific highlights in text - * components. + * Stores how to render auto-completion-specific highlights in text components. */ private static final AutoCompletionStyleContext styleContext = new AutoCompletionStyleContext(); /** - * Whether debug messages should be printed to stdout as AutoCompletion - * runs. + * Whether debug messages should be printed to stdout as AutoCompletion runs. */ private static final boolean DEBUG = initDebug(); - + /** * Constructor. * - * @param provider - * The completion provider. This cannot be null + * @param provider The completion provider. This cannot be null */ public AutoCompletion(CompletionProvider provider) { setChoicesWindowSize(350, 200); @@ -263,18 +259,17 @@ public class AutoCompletion { popupWindowListener = new PopupWindowListener(); listeners = new EventListenerList(); } - + /** * Adds a listener interested in popup window events from this instance. * - * @param l - * The listener to add. + * @param l The listener to add. * @see #removeAutoCompletionListener(AutoCompletionListener) */ public void addAutoCompletionListener(AutoCompletionListener l) { listeners.add(AutoCompletionListener.class, l); } - + /** * Displays the popup window. Hosting applications can call this method to * programmatically begin an auto-completion operation. @@ -282,12 +277,11 @@ public class AutoCompletion { public void doCompletion() { refreshPopupWindow(); } - + /** * Fires an {@link AutoCompletionEvent} of the specified type. * - * @param type - * The type of event to fire. + * @param type The type of event to fire. */ protected void fireAutoCompletionEvent(AutoCompletionEvent.Type type) { // Guaranteed to return a non-null array @@ -304,10 +298,10 @@ public class AutoCompletion { } } } - + /** - * Returns the delay between when the user types a character and when the - * code completion popup should automatically appear (if applicable). + * Returns the delay between when the user types a character and when the code + * completion popup should automatically appear (if applicable). * * @return The delay, in milliseconds. * @see #setAutoActivationDelay(int) @@ -315,10 +309,10 @@ public class AutoCompletion { public int getAutoActivationDelay() { return autoActivationListener.timer.getDelay(); } - + /** - * Returns whether, if a single auto-complete choice is available, it should - * be automatically inserted, without displaying the popup menu. + * Returns whether, if a single auto-complete choice is available, it should be + * automatically inserted, without displaying the popup menu. * * @return Whether to auto-complete single choices. * @see #setAutoCompleteSingleChoices(boolean) @@ -326,7 +320,7 @@ public class AutoCompletion { public boolean getAutoCompleteSingleChoices() { return autoCompleteSingleChoices; } - + /** * Returns the completion provider. * @@ -335,7 +329,7 @@ public class AutoCompletion { public CompletionProvider getCompletionProvider() { return provider; } - + /** * Returns whether debug is enabled for AutoCompletion. * @@ -344,10 +338,10 @@ public class AutoCompletion { static boolean getDebug() { return DEBUG; } - + /** - * Returns the default auto-complete "trigger key" for this OS. For Windows, - * for example, it is Ctrl+Space. + * Returns the default auto-complete "trigger key" for this OS. For Windows, for + * example, it is Ctrl+Space. * * @return The default auto-complete trigger key. */ @@ -356,10 +350,10 @@ public class AutoCompletion { int mask = InputEvent.CTRL_MASK; return KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, mask); } - + /** - * Returns the handler to use when an external URL is clicked in the - * description window. + * Returns the handler to use when an external URL is clicked in the description + * window. * * @return The handler. * @see #setExternalURLHandler(ExternalURLHandler) @@ -368,13 +362,13 @@ public class AutoCompletion { public ExternalURLHandler getExternalURLHandler() { return externalURLHandler; } - + int getLineOfCaret() { Document doc = textComponent.getDocument(); Element root = doc.getDefaultRootElement(); return root.getElementIndex(textComponent.getCaretPosition()); } - + /** * Returns the link redirector, if any. * @@ -384,10 +378,10 @@ public class AutoCompletion { public static LinkRedirector getLinkRedirector() { return linkRedirector; } - + /** - * Returns the default list cell renderer used when a completion provider - * does not supply its own. + * Returns the default list cell renderer used when a completion provider does + * not supply its own. * * @return The default list cell renderer. * @see #setListCellRenderer(ListCellRenderer) @@ -395,12 +389,12 @@ public class AutoCompletion { public ListCellRenderer getListCellRenderer() { return renderer; } - + /** - * Returns the renderer to use for {@link Completion}s in the optional - * parameter choices popup window (displayed when a - * {@link ParameterizedCompletion} is code-completed). If this returns - * null, a default renderer is used. + * Returns the renderer to use for {@link Completion}s in the optional parameter + * choices popup window (displayed when a {@link ParameterizedCompletion} is + * code-completed). If this returns null, a default renderer is + * used. * * @return The renderer to use. * @see #setParamChoicesRenderer(ListCellRenderer) @@ -409,7 +403,7 @@ public class AutoCompletion { public ListCellRenderer getParamChoicesRenderer() { return paramChoicesRenderer; } - + /** * Returns the text to replace with in the document. This is a "last-chance" * hook for subclasses to make special modifications to the completion text @@ -417,20 +411,16 @@ public class AutoCompletion { * c.getReplacementText(). You usually will not need to modify this * method. * - * @param c - * The completion being inserted. - * @param doc - * The document being modified. - * @param start - * The start of the text being replaced. - * @param len - * The length of the text being replaced. + * @param c The completion being inserted. + * @param doc The document being modified. + * @param start The start of the text being replaced. + * @param len The length of the text being replaced. * @return The text to replace with. */ protected String getReplacementText(Completion c, Document doc, int start, int len) { return c.getReplacementText(); } - + /** * Returns whether the "description window" should be shown alongside the * completion window. @@ -441,17 +431,17 @@ public class AutoCompletion { public boolean getShowDescWindow() { return showDescWindow; } - + /** - * Returns the style context describing how auto-completion related - * highlights in the editor are rendered. + * Returns the style context describing how auto-completion related highlights + * in the editor are rendered. * * @return The style context. */ public static AutoCompletionStyleContext getStyleContext() { return styleContext; } - + /** * Returns the text component for which auto-completion is enabled. * @@ -462,17 +452,17 @@ public class AutoCompletion { public JTextComponent getTextComponent() { return textComponent; } - + /** * Returns the orientation of the text component we're installed to. * - * @return The orientation of the text component, or null if we - * are not installed on one. + * @return The orientation of the text component, or null if we are + * not installed on one. */ ComponentOrientation getTextComponentOrientation() { return textComponent == null ? null : textComponent.getComponentOrientation(); } - + /** * Returns the "trigger key" used for auto-complete. * @@ -482,7 +472,7 @@ public class AutoCompletion { public KeyStroke getTriggerKey() { return trigger; } - + /** * Hides any child windows being displayed by the auto-completion system. * @@ -494,7 +484,7 @@ public class AutoCompletion { res |= hideParameterCompletionPopups(); return res; } - + /** * Hides and disposes of any parameter completion-related popups. * @@ -508,7 +498,7 @@ public class AutoCompletion { } return false; } - + /** * Hides the popup window, if it is visible. * @@ -523,10 +513,10 @@ public class AutoCompletion { } return false; } - + /** - * Determines whether debug should be enabled for the AutoCompletion - * library. This method checks a system property, but takes care of + * Determines whether debug should be enabled for the AutoCompletion library. + * This method checks a system property, but takes care of * {@link SecurityException}s in case we're in an applet or WebStart. * * @return Whether debug should be enabled. @@ -540,27 +530,26 @@ public class AutoCompletion { } return debug; } - + /** * Inserts a completion. Any time a code completion event occurs, the actual * text insertion happens through this method. * - * @param c - * A completion to insert. This cannot be null. + * @param c A completion to insert. This cannot be null. */ protected final void insertCompletion(Completion c) { insertCompletion(c, false); } - + /** * Inserts a completion. Any time a code completion event occurs, the actual * text insertion happens through this method. * - * @param c - * A completion to insert. This cannot be null. - * @param typedParamListStartChar - * Whether the parameterized completion start - * character was typed (typically '('). + * @param c A completion to insert. This cannot be + * null. + * @param typedParamListStartChar Whether the parameterized completion start + * character was typed (typically + * '('). */ protected void insertCompletion(Completion c, boolean typedParamListStartChar) { JTextComponent textComp = getTextComponent(); @@ -579,14 +568,13 @@ public class AutoCompletion { startParameterizedCompletionAssistance(pc, typedParamListStartChar); } } - + /** * Installs this auto-completion on a text component. If this - * {@link AutoCompletion} is already installed on another text component, - * it is uninstalled first. + * {@link AutoCompletion} is already installed on another text component, it is + * uninstalled first. * - * @param c - * The text component. + * @param c The text component. * @see #uninstall() */ public void install(JTextComponent c) { @@ -620,12 +608,11 @@ public class AutoCompletion { UIManager.addPropertyChangeListener(lafListener); updateUI(); // In case there have been changes since we uninstalled } - + /** * Installs a "trigger key" action onto the current text component. * - * @param ks - * The keystroke that should trigger the action. + * @param ks The keystroke that should trigger the action. * @see #uninstallTriggerKey() */ private void installTriggerKey(KeyStroke ks) { @@ -636,12 +623,12 @@ public class AutoCompletion { oldTriggerAction = am.get(PARAM_TRIGGER_KEY); am.put(PARAM_TRIGGER_KEY, createAutoCompleteAction()); } - + /** * Creates and returns the action to call when the user presses the - * auto-completion trigger key (e.g. ctrl+space). This is a hook for - * subclasses that want to provide their own behavior in this scenario. - * The default implementation returns an {@link AutoCompleteAction}. + * auto-completion trigger key (e.g. ctrl+space). This is a hook for subclasses + * that want to provide their own behavior in this scenario. The default + * implementation returns an {@link AutoCompleteAction}. * * @return The action to use. * @see AutoCompleteAction @@ -649,12 +636,12 @@ public class AutoCompletion { protected Action createAutoCompleteAction() { return new AutoCompleteAction(); } - + /** - * Returns whether auto-activation is enabled (that is, whether the - * completion popup will automatically appear after a delay when the user - * types an appropriate character). Note that this parameter will be ignored - * if auto-completion is disabled. + * Returns whether auto-activation is enabled (that is, whether the completion + * popup will automatically appear after a delay when the user types an + * appropriate character). Note that this parameter will be ignored if + * auto-completion is disabled. * * @return Whether auto-activation is enabled. * @see #setAutoActivationEnabled(boolean) @@ -664,7 +651,7 @@ public class AutoCompletion { public boolean isAutoActivationEnabled() { return autoActivationEnabled; } - + /** * Returns whether auto-completion is enabled. * @@ -674,11 +661,10 @@ public class AutoCompletion { public boolean isAutoCompleteEnabled() { return autoCompleteEnabled; } - + /** * Whether or not the popup should be hidden when the CompletionProvider - * changes. If set to false, caller has to ensure refresh of the popup - * content. + * changes. If set to false, caller has to ensure refresh of the popup content. * * @return Whether the popup should be hidden when the completion provider * changes. @@ -687,19 +673,19 @@ public class AutoCompletion { protected boolean isHideOnCompletionProviderChange() { return hideOnCompletionProviderChange; } - + /** - * Whether or not the popup should be hidden when user types a space (or - * any character that resets the completion list to "all completions"). + * Whether or not the popup should be hidden when user types a space (or any + * character that resets the completion list to "all completions"). * - * @return Whether the popup should be hidden when the completion list is - * reset to show all completions. + * @return Whether the popup should be hidden when the completion list is reset + * to show all completions. * @see #setHideOnNoText(boolean) */ protected boolean isHideOnNoText() { return hideOnNoText; } - + /** * Returns whether parameter assistance is enabled. * @@ -709,7 +695,7 @@ public class AutoCompletion { public boolean isParameterAssistanceEnabled() { return parameterAssistanceEnabled; } - + /** * Returns whether the completion popup window is visible. * @@ -718,14 +704,14 @@ public class AutoCompletion { public boolean isPopupVisible() { return popupWindow != null && popupWindow.isVisible(); } - + /** - * Refreshes the popup window. First, this method gets the possible - * completions for the current caret position. If there are none, and the - * popup is visible, it is hidden. If there are some completions and the - * popup is hidden, it is made visible and made to display the completions. - * If there are some completions and the popup is visible, its list is - * updated to the current set of completions. + * Refreshes the popup window. First, this method gets the possible completions + * for the current caret position. If there are none, and the popup is visible, + * it is hidden. If there are some completions and the popup is hidden, it is + * made visible and made to display the completions. If there are some + * completions and the popup is visible, its list is updated to the current set + * of completions. * * @return The current line number of the caret. */ @@ -749,7 +735,8 @@ public class AutoCompletion { final List completions = provider.getCompletions(textComponent); int count = completions == null ? 0 : completions.size(); if (count > 1 || (count == 1 && (isPopupVisible() || text.equals(completions.get(0).getInputText()))) - || (count == 1 && (isPopupVisible() || textLen == 0)) || (count == 1 && !getAutoCompleteSingleChoices())) { + || (count == 1 && (isPopupVisible() || textLen == 0)) + || (count == 1 && !getAutoCompleteSingleChoices())) { if (popupWindow == null) { popupWindow = new AutoCompletePopupWindow(parentWindow, this); popupWindowListener.install(popupWindow); @@ -785,7 +772,7 @@ public class AutoCompletion { } } else if (count == 1) { // !isPopupVisible && autoCompleteSingleChoices SwingUtilities.invokeLater(new Runnable() { - + @Override public void run() { insertCompletion(completions.get(0)); @@ -796,24 +783,22 @@ public class AutoCompletion { } return getLineOfCaret(); } - + /** * Removes a listener interested in popup window events from this instance. * - * @param l - * The listener to remove. + * @param l The listener to remove. * @see #addAutoCompletionListener(AutoCompletionListener) */ public void removeAutoCompletionListener(AutoCompletionListener l) { listeners.remove(AutoCompletionListener.class, l); } - + /** * Sets the delay between when the user types a character and when the code * completion popup should automatically appear (if applicable). * - * @param ms - * The delay, in milliseconds. This should be greater than zero. + * @param ms The delay, in milliseconds. This should be greater than zero. * @see #getAutoActivationDelay() */ public void setAutoActivationDelay(int ms) { @@ -821,13 +806,12 @@ public class AutoCompletion { autoActivationListener.timer.stop(); autoActivationListener.timer.setInitialDelay(ms); } - + /** - * Toggles whether auto-activation is enabled. Note that auto-activation - * also depends on auto-completion itself being enabled. + * Toggles whether auto-activation is enabled. Note that auto-activation also + * depends on auto-completion itself being enabled. * - * @param enabled - * Whether auto-activation is enabled. + * @param enabled Whether auto-activation is enabled. * @see #isAutoActivationEnabled() * @see #setAutoActivationDelay(int) */ @@ -843,12 +827,11 @@ public class AutoCompletion { } } } - + /** * Sets whether auto-completion is enabled. * - * @param enabled - * Whether auto-completion is enabled. + * @param enabled Whether auto-completion is enabled. * @see #isAutoCompleteEnabled() */ public void setAutoCompleteEnabled(boolean enabled) { @@ -857,28 +840,25 @@ public class AutoCompletion { hidePopupWindow(); } } - + /** * Sets whether, if a single auto-complete choice is available, it should be * automatically inserted, without displaying the popup menu. * - * @param autoComplete - * Whether to auto-complete single choices. + * @param autoComplete Whether to auto-complete single choices. * @see #getAutoCompleteSingleChoices() */ public void setAutoCompleteSingleChoices(boolean autoComplete) { autoCompleteSingleChoices = autoComplete; } - + /** * Sets the completion provider being used. * - * @param provider - * The new completion provider. This cannot be - * null. - * @throws IllegalArgumentException - * If provider is - * null. + * @param provider The new completion provider. This cannot be + * null. + * @throws IllegalArgumentException If provider is + * null. */ public void setCompletionProvider(CompletionProvider provider) { if (provider == null) { @@ -889,14 +869,12 @@ public class AutoCompletion { hidePopupWindow(); // In case new choices should be displayed. } } - + /** * Sets the size of the completion choices window. * - * @param w - * The new width. - * @param h - * The new height. + * @param w The new width. + * @param h The new height. * @see #setDescriptionWindowSize(int, int) */ public void setChoicesWindowSize(int w, int h) { @@ -905,14 +883,12 @@ public class AutoCompletion { popupWindow.setSize(preferredChoicesWindowSize); } } - + /** * Sets the size of the description window. * - * @param w - * The new width. - * @param h - * The new height. + * @param w The new width. + * @param h The new height. * @see #setChoicesWindowSize(int, int) */ public void setDescriptionWindowSize(int w, int h) { @@ -921,71 +897,64 @@ public class AutoCompletion { popupWindow.setDescriptionWindowSize(preferredDescWindowSize); } } - + /** - * Sets the handler to use when an external URL is clicked in the - * description window. This handler can perform some action, such as open - * the URL in a web browser. The default implementation will open the URL in - * a browser, but only if running in Java 6. If you want browser support for - * Java 5 and below, or otherwise want to respond to hyperlink clicks, you - * will have to install your own handler to do so. + * Sets the handler to use when an external URL is clicked in the description + * window. This handler can perform some action, such as open the URL in a web + * browser. The default implementation will open the URL in a browser, but only + * if running in Java 6. If you want browser support for Java 5 and below, or + * otherwise want to respond to hyperlink clicks, you will have to install your + * own handler to do so. * - * @param handler - * The new handler. + * @param handler The new handler. * @see #getExternalURLHandler() */ public void setExternalURLHandler(ExternalURLHandler handler) { this.externalURLHandler = handler; } - + /** - * Sets whether or not the popup should be hidden when the - * CompletionProvider changes. If set to false, caller has to ensure refresh - * of the popup content. + * Sets whether or not the popup should be hidden when the CompletionProvider + * changes. If set to false, caller has to ensure refresh of the popup content. * - * @param hideOnCompletionProviderChange - * Whether the popup should be hidden - * when the completion provider changes. + * @param hideOnCompletionProviderChange Whether the popup should be hidden when + * the completion provider changes. * @see #isHideOnCompletionProviderChange() */ protected void setHideOnCompletionProviderChange(boolean hideOnCompletionProviderChange) { this.hideOnCompletionProviderChange = hideOnCompletionProviderChange; } - + /** - * Sets whether or not the popup should be hidden when user types a space - * (or any character that resets the completion list to "all completions"). + * Sets whether or not the popup should be hidden when user types a space (or + * any character that resets the completion list to "all completions"). * - * @param hideOnNoText - * Whether the popup sh ould be hidden when the - * completion list is reset to show all completions. + * @param hideOnNoText Whether the popup sh ould be hidden when the completion + * list is reset to show all completions. * @see #isHideOnNoText() */ protected void setHideOnNoText(boolean hideOnNoText) { this.hideOnNoText = hideOnNoText; } - + /** * Sets the redirector for external URL's found in code completion - * documentation. When a non-local link in completion popups is clicked, - * this redirector is given the chance to modify the URL fetched and - * displayed. + * documentation. When a non-local link in completion popups is clicked, this + * redirector is given the chance to modify the URL fetched and displayed. * - * @param linkRedirector - * The link redirector, or null for none. + * @param linkRedirector The link redirector, or null for none. * @see #getLinkRedirector() */ public static void setLinkRedirector(LinkRedirector linkRedirector) { AutoCompletion.linkRedirector = linkRedirector; } - + /** - * Sets the default list cell renderer to use when a completion provider - * does not supply its own. + * Sets the default list cell renderer to use when a completion provider does + * not supply its own. * - * @param renderer - * The renderer to use. If this is null, a - * default renderer is used. + * @param renderer The renderer to use. If this is null, a default + * renderer is used. * @see #getListCellRenderer() */ public void setListCellRenderer(ListCellRenderer renderer) { @@ -995,43 +964,39 @@ public class AutoCompletion { hidePopupWindow(); } } - + /** - * Sets the renderer to use for {@link Completion}s in the optional - * parameter choices popup window (displayed when a - * {@link ParameterizedCompletion} is code-completed). If this isn't set, a - * default renderer is used. + * Sets the renderer to use for {@link Completion}s in the optional parameter + * choices popup window (displayed when a {@link ParameterizedCompletion} is + * code-completed). If this isn't set, a default renderer is used. * - * @param r - * The renderer to use. + * @param r The renderer to use. * @see #getParamChoicesRenderer() * @see #setParameterAssistanceEnabled(boolean) */ public void setParamChoicesRenderer(ListCellRenderer r) { paramChoicesRenderer = r; } - + /** * Sets whether parameter assistance is enabled. If parameter assistance is - * enabled, and a "parameterized" completion (such as a function or method) - * is inserted, the user will get "assistance" in inserting the parameters - * in the form of a popup window with documentation and easy tabbing through - * the arguments (as seen in Eclipse and NetBeans). + * enabled, and a "parameterized" completion (such as a function or method) is + * inserted, the user will get "assistance" in inserting the parameters in the + * form of a popup window with documentation and easy tabbing through the + * arguments (as seen in Eclipse and NetBeans). * - * @param enabled - * Whether parameter assistance should be enabled. + * @param enabled Whether parameter assistance should be enabled. * @see #isParameterAssistanceEnabled() */ public void setParameterAssistanceEnabled(boolean enabled) { parameterAssistanceEnabled = enabled; } - + /** - * Toggles the visibility of the auto-completion popup window. This fires - * an {@link AutoCompletionEvent} of the appropriate type. + * Toggles the visibility of the auto-completion popup window. This fires an + * {@link AutoCompletionEvent} of the appropriate type. * - * @param visible - * Whether the window should be made visible or hidden. + * @param visible Whether the window should be made visible or hidden. * @see #isPopupVisible() */ protected void setPopupVisible(boolean visible) { @@ -1039,28 +1004,25 @@ public class AutoCompletion { popupWindow.setVisible(visible); } } - + /** - * Sets whether the "description window" should be shown beside the - * completion window. + * Sets whether the "description window" should be shown beside the completion + * window. * - * @param show - * Whether to show the description window. + * @param show Whether to show the description window. * @see #getShowDescWindow() */ public void setShowDescWindow(boolean show) { hidePopupWindow(); // Needed to force it to take effect showDescWindow = show; } - + /** * Sets the keystroke that should be used to trigger the auto-complete popup * window. * - * @param ks - * The keystroke. - * @throws IllegalArgumentException - * If ks is null. + * @param ks The keystroke. + * @throws IllegalArgumentException If ks is null. * @see #getTriggerKey() */ public void setTriggerKey(KeyStroke ks) { @@ -1077,15 +1039,13 @@ public class AutoCompletion { trigger = ks; } } - + /** * Displays a "tool tip" detailing the inputs to the function just entered. * - * @param pc - * The completion. - * @param typedParamListStartChar - * Whether the parameterized completion list - * starting character was typed. + * @param pc The completion. + * @param typedParamListStartChar Whether the parameterized completion list + * starting character was typed. */ private void startParameterizedCompletionAssistance(ParameterizedCompletion pc, boolean typedParamListStartChar) { // Get rid of the previous tool tip window, if there is one. @@ -1110,7 +1070,7 @@ public class AutoCompletion { pcc = new ParameterizedCompletionContext(parentWindow, this, pc); pcc.activate(); } - + /** * Uninstalls this auto-completion from its text component. If it is not * installed on any text component, nothing happens. @@ -1143,7 +1103,7 @@ public class AutoCompletion { popupWindow = null; } } - + /** * Replaces the "trigger key" action with the one that was there before * auto-completion was installed. @@ -1156,11 +1116,10 @@ public class AutoCompletion { ActionMap am = textComponent.getActionMap(); am.put(PARAM_TRIGGER_KEY, oldTriggerAction); } - + /** * Updates the LookAndFeel of the popup window. Applications can call this - * method as appropriate if they support changing the LookAndFeel at - * runtime. + * method as appropriate if they support changing the LookAndFeel at runtime. */ private void updateUI() { if (popupWindow != null) { @@ -1174,32 +1133,33 @@ public class AutoCompletion { ((JComponent) paramChoicesRenderer).updateUI(); } } - + /** - * Listens for events in the text component to auto-activate the code - * completion popup. + * Listens for events in the text component to auto-activate the code completion + * popup. */ - private class AutoActivationListener extends FocusAdapter implements DocumentListener, CaretListener, ActionListener { - + private class AutoActivationListener extends FocusAdapter + implements DocumentListener, CaretListener, ActionListener { + private Timer timer; private boolean justInserted; - + public AutoActivationListener() { timer = new Timer(200, this); timer.setRepeats(false); } - + @Override public void actionPerformed(ActionEvent e) { doCompletion(); } - + public void addTo(JTextComponent tc) { tc.addFocusListener(this); tc.getDocument().addDocumentListener(this); tc.addCaretListener(this); } - + @Override public void caretUpdate(CaretEvent e) { if (justInserted) { @@ -1208,18 +1168,18 @@ public class AutoCompletion { timer.stop(); } } - + @Override public void changedUpdate(DocumentEvent e) { // Ignore } - + @Override public void focusLost(FocusEvent e) { timer.stop(); // hideChildWindows(); Other listener will do this } - + @Override public void insertUpdate(DocumentEvent e) { justInserted = false; @@ -1234,7 +1194,7 @@ public class AutoCompletion { timer.stop(); } } - + public void removeFrom(JTextComponent tc) { tc.removeFocusListener(this); tc.getDocument().removeDocumentListener(this); @@ -1242,19 +1202,19 @@ public class AutoCompletion { timer.stop(); justInserted = false; } - + @Override public void removeUpdate(DocumentEvent e) { timer.stop(); } } - + /** - * The Action that displays the popup window if auto-completion - * is enabled. + * The Action that displays the popup window if auto-completion is + * enabled. */ protected class AutoCompleteAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { if (isAutoCompleteEnabled()) { @@ -1264,13 +1224,13 @@ public class AutoCompletion { } } } - + /** * Listens for LookAndFeel changes and updates the various popup windows * involved in auto-completion accordingly. */ private class LookAndFeelChangeListener implements PropertyChangeListener { - + @Override public void propertyChange(PropertyChangeEvent e) { String name = e.getPropertyName(); @@ -1279,18 +1239,18 @@ public class AutoCompletion { } } } - + /** * Action that starts a parameterized completion, e.g. after '(' is typed. */ private class ParameterizedCompletionStartAction extends AbstractAction { - + private String start; - + public ParameterizedCompletionStartAction(char ch) { this.start = Character.toString(ch); } - + @Override public void actionPerformed(ActionEvent e) { // Prevents keystrokes from messing up @@ -1307,83 +1267,84 @@ public class AutoCompletion { } } } - + /** * Listens for events in the parent window of the text component with * auto-completion enabled. */ private class ParentWindowListener extends ComponentAdapter implements WindowFocusListener { - + public void addTo(Window w) { w.addComponentListener(this); w.addWindowFocusListener(this); } - + @Override public void componentHidden(ComponentEvent e) { hideChildWindows(); } - + @Override public void componentMoved(ComponentEvent e) { hideChildWindows(); } - + @Override public void componentResized(ComponentEvent e) { hideChildWindows(); } - + public void removeFrom(Window w) { w.removeComponentListener(this); w.removeWindowFocusListener(this); } - + @Override - public void windowGainedFocus(WindowEvent e) {} - + public void windowGainedFocus(WindowEvent e) { + } + @Override public void windowLostFocus(WindowEvent e) { hideChildWindows(); } } - + /** * Listens for events from the popup window. */ private class PopupWindowListener extends ComponentAdapter { - + @Override public void componentHidden(ComponentEvent e) { fireAutoCompletionEvent(AutoCompletionEvent.Type.POPUP_HIDDEN); } - + @Override public void componentShown(ComponentEvent e) { fireAutoCompletionEvent(AutoCompletionEvent.Type.POPUP_SHOWN); } - + public void install(AutoCompletePopupWindow popupWindow) { popupWindow.addComponentListener(this); } - + public void uninstall(AutoCompletePopupWindow popupWindow) { if (popupWindow != null) { popupWindow.removeComponentListener(this); } } } - + /** * Listens for events from the text component we're installed on. */ private class TextComponentListener extends FocusAdapter implements HierarchyListener { - + void addTo(JTextComponent tc) { tc.addFocusListener(this); tc.addHierarchyListener(this); } - + /** * Hide the auto-completion windows when the text component loses focus. */ @@ -1391,14 +1352,13 @@ public class AutoCompletion { public void focusLost(FocusEvent e) { hideChildWindows(); } - + /** - * Called when the component hierarchy for our text component changes. - * When the text component is added to a new {@link Window}, this method - * registers listeners on that Window. + * Called when the component hierarchy for our text component changes. When the + * text component is added to a new {@link Window}, this method registers + * listeners on that Window. * - * @param e - * The event. + * @param e The event. */ @Override public void hierarchyChanged(HierarchyEvent e) { @@ -1415,7 +1375,7 @@ public class AutoCompletion { } } } - + public void removeFrom(JTextComponent tc) { tc.removeFocusListener(this); tc.removeHierarchyListener(this); diff --git a/src/org/fife/ui/autocomplete/AutoCompletionEvent.java b/src/org/fife/ui/autocomplete/AutoCompletionEvent.java index 43f0bc3..caeebb5 100644 --- a/src/org/fife/ui/autocomplete/AutoCompletionEvent.java +++ b/src/org/fife/ui/autocomplete/AutoCompletionEvent.java @@ -8,34 +8,31 @@ package org.fife.ui.autocomplete; import java.util.EventObject; /** - * An event fired by an instance of {@link AutoCompletion}. This can be - * used by applications that wish to be notified of the auto-complete popup - * window showing and hiding. + * An event fired by an instance of {@link AutoCompletion}. This can be used by + * applications that wish to be notified of the auto-complete popup window + * showing and hiding. * * @author Robert Futrell * @version 1.0 */ public class AutoCompletionEvent extends EventObject { - + /** * The type of this event. */ private Type type; - + /** * Constructor. * - * @param source - * The AutoCompletion instance that fired - * this event. - * @param type - * The event type. + * @param source The AutoCompletion instance that fired this event. + * @param type The event type. */ public AutoCompletionEvent(AutoCompletion source, Type type) { super(source); this.type = type; } - + /** * Returns the source AutoCompletion instance. This is just * shorthand for return (AutoCompletion)getSource();. @@ -45,7 +42,7 @@ public class AutoCompletionEvent extends EventObject { public AutoCompletion getAutoCompletion() { return (AutoCompletion) getSource(); } - + /** * Returns the type of this event. * @@ -54,7 +51,7 @@ public class AutoCompletionEvent extends EventObject { public Type getEventType() { return type; } - + /** * Enumeration of the various types of this event. */ diff --git a/src/org/fife/ui/autocomplete/AutoCompletionListener.java b/src/org/fife/ui/autocomplete/AutoCompletionListener.java index 11fc662..b0897a7 100644 --- a/src/org/fife/ui/autocomplete/AutoCompletionListener.java +++ b/src/org/fife/ui/autocomplete/AutoCompletionListener.java @@ -15,13 +15,12 @@ import java.util.EventListener; * @version 1.0 */ public interface AutoCompletionListener extends EventListener { - + /** - * Callback notified when a change to the AutoCompletion's - * status occurs. + * Callback notified when a change to the AutoCompletion's status + * occurs. * - * @param e - * The event. + * @param e The event. */ void autoCompleteUpdate(AutoCompletionEvent e); } diff --git a/src/org/fife/ui/autocomplete/AutoCompletionStyleContext.java b/src/org/fife/ui/autocomplete/AutoCompletionStyleContext.java index 9d92938..2a15065 100644 --- a/src/org/fife/ui/autocomplete/AutoCompletionStyleContext.java +++ b/src/org/fife/ui/autocomplete/AutoCompletionStyleContext.java @@ -15,32 +15,32 @@ import java.awt.Color; * @version 1.0 */ public class AutoCompletionStyleContext { - + /** * The color used to denote the ending caret position for parameterized * completions. */ private Color parameterizedCompletionCursorPositionColor; /** - * The color used to highlight copies of editable parameters in - * parameterized completions. + * The color used to highlight copies of editable parameters in parameterized + * completions. */ private Color parameterCopyColor; /** - * The color of the outline highlight used to denote editable parameters - * in parameterized completions. + * The color of the outline highlight used to denote editable parameters in + * parameterized completions. */ private Color parameterOutlineColor; - + public AutoCompletionStyleContext() { setParameterOutlineColor(Color.gray); setParameterCopyColor(new Color(0xb4d7ff)); setParameterizedCompletionCursorPositionColor(new Color(0x00b400)); } - + /** - * Returns the color of the highlight painted on copies of editable - * parameters in parameterized completions. + * Returns the color of the highlight painted on copies of editable parameters + * in parameterized completions. * * @return The color used. * @see #setParameterCopyColor(Color) @@ -48,10 +48,10 @@ public class AutoCompletionStyleContext { public Color getParameterCopyColor() { return parameterCopyColor; } - + /** - * Returns the color used to denote the ending caret position for - * parameterized completions. + * Returns the color used to denote the ending caret position for parameterized + * completions. * * @return The color used. * @see #setParameterizedCompletionCursorPositionColor(Color) @@ -59,10 +59,10 @@ public class AutoCompletionStyleContext { public Color getParameterizedCompletionCursorPositionColor() { return parameterizedCompletionCursorPositionColor; } - + /** - * Returns the color of the outline highlight used to denote editable - * parameters in parameterized completions. + * Returns the color of the outline highlight used to denote editable parameters + * in parameterized completions. * * @return The color used. * @see #setParameterOutlineColor(Color) @@ -70,37 +70,34 @@ public class AutoCompletionStyleContext { public Color getParameterOutlineColor() { return parameterOutlineColor; } - + /** - * Sets the color of the highlight painted on copies of editable - * parameters in parameterized completions. + * Sets the color of the highlight painted on copies of editable parameters in + * parameterized completions. * - * @param color - * The color to use. + * @param color The color to use. * @see #setParameterCopyColor(Color) */ public void setParameterCopyColor(Color color) { this.parameterCopyColor = color; } - + /** - * Sets the color used to denote the ending caret position for - * parameterized completions. + * Sets the color used to denote the ending caret position for parameterized + * completions. * - * @param color - * The color to use. + * @param color The color to use. * @see #getParameterizedCompletionCursorPositionColor() */ public void setParameterizedCompletionCursorPositionColor(Color color) { this.parameterizedCompletionCursorPositionColor = color; } - + /** - * Sets the color of the outline highlight used to denote editable - * parameters in parameterized completions. + * Sets the color of the outline highlight used to denote editable parameters in + * parameterized completions. * - * @param color - * The color to use. + * @param color The color to use. * @see #getParameterOutlineColor() */ public void setParameterOutlineColor(Color color) { diff --git a/src/org/fife/ui/autocomplete/BasicCompletion.java b/src/org/fife/ui/autocomplete/BasicCompletion.java index 8a5366b..a82aa90 100644 --- a/src/org/fife/ui/autocomplete/BasicCompletion.java +++ b/src/org/fife/ui/autocomplete/BasicCompletion.java @@ -7,9 +7,9 @@ package org.fife.ui.autocomplete; /** - * A straightforward {@link Completion} implementation. This implementation - * can be used if you have a relatively short number of static completions - * with no (or short) summaries. + * A straightforward {@link Completion} implementation. This implementation can + * be used if you have a relatively short number of static completions with no + * (or short) summaries. *

* * This implementation uses the replacement text as the input text. It also @@ -20,53 +20,44 @@ package org.fife.ui.autocomplete; * @version 1.0 */ public class BasicCompletion extends AbstractCompletion { - + private String replacementText; private String shortDesc; private String summary; - + /** * Constructor. * - * @param provider - * The parent completion provider. - * @param replacementText - * The text to replace. + * @param provider The parent completion provider. + * @param replacementText The text to replace. */ public BasicCompletion(CompletionProvider provider, String replacementText) { this(provider, replacementText, null); } - + /** * Constructor. * - * @param provider - * The parent completion provider. - * @param replacementText - * The text to replace. - * @param shortDesc - * A short description of the completion. This will be - * displayed in the completion list. This may be - * null. + * @param provider The parent completion provider. + * @param replacementText The text to replace. + * @param shortDesc A short description of the completion. This will be + * displayed in the completion list. This may be + * null. */ public BasicCompletion(CompletionProvider provider, String replacementText, String shortDesc) { this(provider, replacementText, shortDesc, null); } - + /** * Constructor. * - * @param provider - * The parent completion provider. - * @param replacementText - * The text to replace. - * @param shortDesc - * A short description of the completion. This will be - * displayed in the completion list. This may be - * null. - * @param summary - * The summary of this completion. This should be HTML. - * This may be null. + * @param provider The parent completion provider. + * @param replacementText The text to replace. + * @param shortDesc A short description of the completion. This will be + * displayed in the completion list. This may be + * null. + * @param summary The summary of this completion. This should be HTML. + * This may be null. */ public BasicCompletion(CompletionProvider provider, String replacementText, String shortDesc, String summary) { super(provider); @@ -74,7 +65,7 @@ public class BasicCompletion extends AbstractCompletion { this.shortDesc = shortDesc; this.summary = summary; } - + /** * {@inheritDoc} */ @@ -82,10 +73,10 @@ public class BasicCompletion extends AbstractCompletion { public String getReplacementText() { return replacementText; } - + /** - * Returns the short description of this completion, usually used in - * the completion choices list. + * Returns the short description of this completion, usually used in the + * completion choices list. * * @return The short description, or null if there is none. * @see #setShortDescription(String) @@ -93,7 +84,7 @@ public class BasicCompletion extends AbstractCompletion { public String getShortDescription() { return shortDesc; } - + /** * {@inheritDoc} */ @@ -101,32 +92,30 @@ public class BasicCompletion extends AbstractCompletion { public String getSummary() { return summary; } - + /** * Sets the short description of this completion. * - * @param shortDesc - * The short description of this completion. + * @param shortDesc The short description of this completion. * @see #getShortDescription() */ public void setShortDescription(String shortDesc) { this.shortDesc = shortDesc; } - + /** * Sets the summary for this completion. * - * @param summary - * The summary for this completion. + * @param summary The summary for this completion. * @see #getSummary() */ public void setSummary(String summary) { this.summary = summary; } - + /** - * Returns a string representation of this completion. If the short - * description is not null, this method will return: + * Returns a string representation of this completion. If the short description + * is not null, this method will return: * * getInputText() + " - " + shortDesc * diff --git a/src/org/fife/ui/autocomplete/Completion.java b/src/org/fife/ui/autocomplete/Completion.java index eed1adb..ed88c8d 100644 --- a/src/org/fife/ui/autocomplete/Completion.java +++ b/src/org/fife/ui/autocomplete/Completion.java @@ -10,20 +10,20 @@ import javax.swing.Icon; import javax.swing.text.JTextComponent; /** - * Represents a completion choice. A {@link CompletionProvider} returns lists - * of objects implementing this interface. A Completion contains the + * Represents a completion choice. A {@link CompletionProvider} returns lists of + * objects implementing this interface. A Completion contains the * following information: * *

    *
  • The text the user must (begin to) input for this to be a completion * choice. - *
  • The text that will be filled in if the user chooses this completion. - * Note that often, this is the same as the text the user must (begin to) - * enter, but this doesn't have to be the case. - *
  • Summary HTML that describes this completion. This is information that - * can be displayed in a helper "tooltip"-style window beside the - * completion list. This may be null. It may also be - * lazily generated to cut down on memory usage. + *
  • The text that will be filled in if the user chooses this completion. Note + * that often, this is the same as the text the user must (begin to) enter, but + * this doesn't have to be the case. + *
  • Summary HTML that describes this completion. This is information that can + * be displayed in a helper "tooltip"-style window beside the completion list. + * This may be null. It may also be lazily generated to cut down on + * memory usage. *
  • The CompletionProvider that returned this completion. *
  • Tool tip text that can be displayed when a mouse hovers over this * completion in a text component. @@ -34,112 +34,104 @@ import javax.swing.text.JTextComponent; * @see AbstractCompletion */ public interface Completion extends Comparable { - + /** - * Compares this completion to another one lexicographically, ignoring - * case. + * Compares this completion to another one lexicographically, ignoring case. * - * @param other - * Another completion instance. + * @param other Another completion instance. * @return How this completion compares to the other one. */ @Override public int compareTo(Completion other); - + /** - * Returns the portion of this completion that has already been entered - * into the text component. The match is case-insensitive. + * Returns the portion of this completion that has already been entered into the + * text component. The match is case-insensitive. *

    * * This is a convenience method for: * getProvider().getAlreadyEnteredText(comp). * - * @param comp - * The text component. + * @param comp The text component. * @return The already-entered portion of this completion. */ public String getAlreadyEntered(JTextComponent comp); - + /** * Returns the icon to use for this completion. * * @return The icon, or null for none. */ public Icon getIcon(); - + /** - * Returns the text that the user has to (start) typing for this completion - * to be offered. Note that this will usually be the same value as - * {@link #getReplacementText()}, but not always (a completion could be - * a way to implement shorthand, for example, "sysout" mapping - * to "System.out.println("). + * Returns the text that the user has to (start) typing for this completion to + * be offered. Note that this will usually be the same value as + * {@link #getReplacementText()}, but not always (a completion could be a way to + * implement shorthand, for example, "sysout" mapping to + * "System.out.println("). * - * @return The text the user has to (start) typing for this completion to - * be offered. + * @return The text the user has to (start) typing for this completion to be + * offered. * @see #getReplacementText() */ public String getInputText(); - + /** * Returns the provider that returned this completion. * * @return The provider. */ public CompletionProvider getProvider(); - + /** * Returns the "relevance" of this completion. This is used when sorting - * completions by their relevance. It is an abstract concept that may - * mean different things to different languages, and may depend on the - * context of the completion. + * completions by their relevance. It is an abstract concept that may mean + * different things to different languages, and may depend on the context of the + * completion. *

    * - * By default, all completions have a relevance of 0. The - * higher the value returned by this method, the higher up in the list - * this completion will be; the lower the value returned, the lower it will - * be. Completions with equal relevance values will be - * sorted alphabetically. + * By default, all completions have a relevance of 0. The higher + * the value returned by this method, the higher up in the list this completion + * will be; the lower the value returned, the lower it will be. + * Completions with equal relevance values will be sorted + * alphabetically. * * @return The relevance of this completion. */ public int getRelevance(); - + /** - * Returns the text to insert as the result of this auto-completion. This - * is the "complete" text, including any text that replaces what the user - * has already typed. + * Returns the text to insert as the result of this auto-completion. This is the + * "complete" text, including any text that replaces what the user has already + * typed. * * @return The replacement text. * @see #getInputText() */ public String getReplacementText(); - + /** - * Returns the description of this auto-complete choice. This can be - * used in a popup "description window." + * Returns the description of this auto-complete choice. This can be used in a + * popup "description window." * * @return This item's description. This should be HTML. It may be - * null if there is no description for this - * completion. + * null if there is no description for this completion. */ public String getSummary(); - + /** - * Returns the tool tip text to display for mouse hovers over this - * completion. + * Returns the tool tip text to display for mouse hovers over this completion. *

    * - * Note that for this functionality to be enabled, a - * JTextComponent must be registered with the - * ToolTipManager, and the text component must know to search - * for this value. In the case of an - * RSyntaxTextArea, this - * can be done with a org.fife.ui.rtextarea.ToolTipSupplier that - * calls into + * Note that for this functionality to be enabled, a JTextComponent + * must be registered with the ToolTipManager, and the text component + * must know to search for this value. In the case of an + * RSyntaxTextArea, this can + * be done with a org.fife.ui.rtextarea.ToolTipSupplier that calls into * {@link CompletionProvider#getCompletionsAt(JTextComponent, java.awt.Point)}. * - * @return The tool tip text for this completion, or null if - * none. + * @return The tool tip text for this completion, or null if none. */ public String getToolTipText(); } diff --git a/src/org/fife/ui/autocomplete/CompletionCellRenderer.java b/src/org/fife/ui/autocomplete/CompletionCellRenderer.java index b26009d..b9b9e8b 100644 --- a/src/org/fife/ui/autocomplete/CompletionCellRenderer.java +++ b/src/org/fife/ui/autocomplete/CompletionCellRenderer.java @@ -26,8 +26,8 @@ import javax.swing.text.View; /** * A cell renderer that adds some pizazz when rendering the standard - * {@link Completion} types, like Eclipse and NetBeans do. Specifically, - * this renderer handles: + * {@link Completion} types, like Eclipse and NetBeans do. Specifically, this + * renderer handles: * *

      *
    • {@link FunctionCompletion}s
    • @@ -41,20 +41,20 @@ import javax.swing.text.View; * @version 1.0 */ public class CompletionCellRenderer extends DefaultListCellRenderer { - + /** - * The alternating background color, or null if alternating - * row colors should not be used. + * The alternating background color, or null if alternating row + * colors should not be used. */ private static Color altBG; /** - * The font to use when rendering items, or null if the - * list's default font should be used. + * The font to use when rendering items, or null if the list's + * default font should be used. */ private Font font; /** - * Whether to display the types of fields and return types of functions - * in the completion text. + * Whether to display the types of fields and return types of functions in the + * completion text. */ private boolean showTypes; /** @@ -92,33 +92,32 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { * words. */ private static final String PREFIX = ""; - + /** * Constructor. */ public CompletionCellRenderer() { init(); } - + /** - * Constructor. This is primarily a hook for Substance, or any other - * Look and Feel whose renderers look drastically different than standard + * Constructor. This is primarily a hook for Substance, or any other Look and + * Feel whose renderers look drastically different than standard * DefaultListCellRenderers. Everything except for the text - * rendering will be done by the delegate. In almost all scenarios, you - * will want to use the no-argument constructor instead of this one. + * rendering will be done by the delegate. In almost all scenarios, you will + * want to use the no-argument constructor instead of this one. * - * @param delegate - * The delegate renderer. + * @param delegate The delegate renderer. * @see #delegateToSubstanceRenderer() */ public CompletionCellRenderer(DefaultListCellRenderer delegate) { setDelegateRenderer(delegate); init(); } - + /** - * Creates the icon to use if no icon is found for a specific completion. - * The default implementation returns a 16x16 empty icon. + * Creates the icon to use if no icon is found for a specific completion. The + * default implementation returns a 16x16 empty icon. * * @return The icon. * @see #getEmptyIcon() @@ -126,34 +125,32 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { protected Icon createEmptyIcon() { return new EmptyIcon(16); } - + /** - * Returns a decent "parameter" color based on the current default - * foreground color. + * Returns a decent "parameter" color based on the current default foreground + * color. * * @return The parameter color to use. */ private String createParamColor() { return Util.isLightForeground(getForeground()) ? Util.getHexString(Util.getHyperlinkForeground()) : "#aa0077"; } - + /** - * Returns a decent "type" color based on the current default foreground - * color. + * Returns a decent "type" color based on the current default foreground color. * * @return The type color to use. */ private String createTypeColor() { return "#808080"; } - + /** - * Attempts to delegate rendering to a Substance cell renderer. This - * should only be called if Substance is known to be on the classpath. + * Attempts to delegate rendering to a Substance cell renderer. This should only + * be called if Substance is known to be on the classpath. * - * @throws Exception - * If Substance is not on the classpath, or some other - * error occurs creating the Substance cell renderer. + * @throws Exception If Substance is not on the classpath, or some other error + * occurs creating the Substance cell renderer. * @see Util#getUseSubstanceRenderers() * @see #setDelegateRenderer(DefaultListCellRenderer) */ @@ -162,7 +159,7 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { DefaultListCellRenderer delegate = (DefaultListCellRenderer) clazz.newInstance(); setDelegateRenderer(delegate); } - + /** * Returns the background color to use on alternating lines. * @@ -173,7 +170,7 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { public static Color getAlternateBackground() { return altBG; } - + /** * Returns the delegate renderer, or null if there is none. * @@ -183,21 +180,21 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { public DefaultListCellRenderer getDelegateRenderer() { return delegate; } - + /** * Returns the font used when rendering completions. * - * @return The font. If this is null, then the default list - * font is used. + * @return The font. If this is null, then the default list font is + * used. * @see #setDisplayFont(Font) */ public Font getDisplayFont() { return font; } - + /** - * Returns the icon to use if no icon is found for a specific completion. - * This icon is lazily created if necessary. + * Returns the icon to use if no icon is found for a specific completion. This + * icon is lazily created if necessary. * * @return The icon. * @see #createEmptyIcon() @@ -208,13 +205,12 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { } return emptyIcon; } - + /** * Returns an icon. * - * @param resource - * The icon to retrieve. This should either be a file, - * or a resource loadable by the current ClassLoader. + * @param resource The icon to retrieve. This should either be a file, or a + * resource loadable by the current ClassLoader. * @return The icon. */ protected Icon getIcon(String resource) { @@ -229,23 +225,19 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { } return url != null ? new ImageIcon(url) : null; } - + /** * Returns the renderer. * - * @param list - * The list of choices being rendered. - * @param value - * The {@link Completion} being rendered. - * @param index - * The index into list being rendered. - * @param selected - * Whether the item is selected. - * @param hasFocus - * Whether the item has focus. + * @param list The list of choices being rendered. + * @param value The {@link Completion} being rendered. + * @param index The index into list being rendered. + * @param selected Whether the item is selected. + * @param hasFocus Whether the item has focus. */ @Override - public Component getListCellRendererComponent(JList list, Object value, int index, boolean selected, boolean hasFocus) { + public Component getListCellRendererComponent(JList list, Object value, int index, boolean selected, + boolean hasFocus) { super.getListCellRendererComponent(list, value, index, selected, hasFocus); if (font != null) { setFont(font); // Overrides super's setFont(list.getFont()). @@ -282,10 +274,10 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { } return this; } - + /** - * Returns whether the types of fields and return types of methods are - * shown in the completion text. + * Returns whether the types of fields and return types of methods are shown in + * the completion text. * * @return Whether to show the types. * @see #setShowTypes(boolean) @@ -293,7 +285,7 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { public boolean getShowTypes() { return showTypes; } - + private void init() { // setDisplayFont(new Font("Monospaced", Font.PLAIN, 12)); setShowTypes(true); @@ -301,7 +293,7 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { paramColor = createParamColor(); paintTextR = new Rectangle(); } - + @Override protected void paintComponent(Graphics g) { // super.paintComponent(g); @@ -342,22 +334,18 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { } } } - + /** * Prepares this renderer to display a function completion. * - * @param list - * The list of choices being rendered. - * @param fc - * The completion to render. - * @param index - * The index into list being rendered. - * @param selected - * Whether the item is selected. - * @param hasFocus - * Whether the item has focus. + * @param list The list of choices being rendered. + * @param fc The completion to render. + * @param index The index into list being rendered. + * @param selected Whether the item is selected. + * @param hasFocus Whether the item has focus. */ - protected void prepareForFunctionCompletion(JList list, FunctionCompletion fc, int index, boolean selected, boolean hasFocus) { + protected void prepareForFunctionCompletion(JList list, FunctionCompletion fc, int index, boolean selected, + boolean hasFocus) { StringBuilder sb = new StringBuilder(PREFIX); sb.append(fc.getName()); char paramListStart = fc.getProvider().getParameterListStart(); @@ -404,41 +392,32 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { } setText(sb.toString()); } - + /** * Prepares this renderer to display a markup tag completion. * - * @param list - * The list of choices being rendered. - * @param mc - * The completion to render. - * @param index - * The index into list being rendered. - * @param selected - * Whether the item is selected. - * @param hasFocus - * Whether the item has focus. + * @param list The list of choices being rendered. + * @param mc The completion to render. + * @param index The index into list being rendered. + * @param selected Whether the item is selected. + * @param hasFocus Whether the item has focus. */ - protected void prepareForMarkupTagCompletion(JList list, MarkupTagCompletion mc, int index, boolean selected, boolean hasFocus) { + protected void prepareForMarkupTagCompletion(JList list, MarkupTagCompletion mc, int index, boolean selected, + boolean hasFocus) { StringBuilder sb = new StringBuilder(PREFIX); sb.append(mc.getName()); setText(sb.toString()); } - + /** * Prepares this renderer to display a completion not specifically handled * elsewhere. * - * @param list - * The list of choices being rendered. - * @param c - * The completion to render. - * @param index - * The index into list being rendered. - * @param selected - * Whether the item is selected. - * @param hasFocus - * Whether the item has focus. + * @param list The list of choices being rendered. + * @param c The completion to render. + * @param index The index into list being rendered. + * @param selected Whether the item is selected. + * @param hasFocus Whether the item has focus. */ protected void prepareForOtherCompletion(JList list, Completion c, int index, boolean selected, boolean hasFocus) { StringBuilder sb = new StringBuilder(PREFIX); @@ -458,22 +437,18 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { } setText(sb.toString()); } - + /** * Prepares this renderer to display a template completion. * - * @param list - * The list of choices being rendered. - * @param tc - * The completion to render. - * @param index - * The index into list being rendered. - * @param selected - * Whether the item is selected. - * @param hasFocus - * Whether the item has focus. + * @param list The list of choices being rendered. + * @param tc The completion to render. + * @param index The index into list being rendered. + * @param selected Whether the item is selected. + * @param hasFocus Whether the item has focus. */ - protected void prepareForTemplateCompletion(JList list, TemplateCompletion tc, int index, boolean selected, boolean hasFocus) { + protected void prepareForTemplateCompletion(JList list, TemplateCompletion tc, int index, boolean selected, + boolean hasFocus) { StringBuilder sb = new StringBuilder(PREFIX); sb.append(tc.getInputText()); String definition = tc.getShortDescription(); @@ -489,22 +464,18 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { } setText(sb.toString()); } - + /** * Prepares this renderer to display a variable completion. * - * @param list - * The list of choices being rendered. - * @param vc - * The completion to render. - * @param index - * The index into list being rendered. - * @param selected - * Whether the item is selected. - * @param hasFocus - * Whether the item has focus. + * @param list The list of choices being rendered. + * @param vc The completion to render. + * @param index The index into list being rendered. + * @param selected Whether the item is selected. + * @param hasFocus Whether the item has focus. */ - protected void prepareForVariableCompletion(JList list, VariableCompletion vc, int index, boolean selected, boolean hasFocus) { + protected void prepareForVariableCompletion(JList list, VariableCompletion vc, int index, boolean selected, + boolean hasFocus) { StringBuilder sb = new StringBuilder(PREFIX); sb.append(vc.getName()); if (getShowTypes() && vc.getType() != null) { @@ -519,81 +490,73 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { } setText(sb.toString()); } - + /** * Sets the background color to use on alternating lines. * - * @param altBG - * The new alternate background color. If this is - * null, alternating lines will not use different - * background colors. + * @param altBG The new alternate background color. If this is + * null, alternating lines will not use different + * background colors. * @see #getAlternateBackground() */ public static void setAlternateBackground(Color altBG) { CompletionCellRenderer.altBG = altBG; } - + /** - * Sets the delegate renderer. Most users will never use this method; it - * is primarily a hook for Substance and other Look and Feels whose - * renderers look drastically different from the standard - * DefaultListCellRenderer. + * Sets the delegate renderer. Most users will never use this method; it is + * primarily a hook for Substance and other Look and Feels whose renderers look + * drastically different from the standard DefaultListCellRenderer. * - * @param delegate - * The new delegate renderer. If this is null, - * the default rendering of this component is used. + * @param delegate The new delegate renderer. If this is null, the + * default rendering of this component is used. * @see #getDelegateRenderer() * @see #delegateToSubstanceRenderer() */ public void setDelegateRenderer(DefaultListCellRenderer delegate) { this.delegate = delegate; } - + /** * Sets the font to use when rendering completion items. * - * @param font - * The font to use. If this is null, then - * the default list font is used. + * @param font The font to use. If this is null, then the default + * list font is used. * @see #getDisplayFont() */ public void setDisplayFont(Font font) { this.font = font; } - + /** - * Sets the icon to display based off of a completion, falling back to the - * empty icon if the completion has no icon. + * Sets the icon to display based off of a completion, falling back to the empty + * icon if the completion has no icon. * - * @param completion - * The completion to check. + * @param completion The completion to check. * @see #setIconWithDefault(Completion, Icon) */ protected void setIconWithDefault(Completion completion) { setIconWithDefault(completion, getEmptyIcon()); } - + /** - * Sets the icon to display based off of a completion, falling back to a - * default icon if the completion has no icon. + * Sets the icon to display based off of a completion, falling back to a default + * icon if the completion has no icon. * - * @param completion - * The completion to check. - * @param defaultIcon - * The icon to use if completion does not - * specify an icon. + * @param completion The completion to check. + * @param defaultIcon The icon to use if completion does not + * specify an icon. * @see #setIconWithDefault(Completion) */ protected void setIconWithDefault(Completion completion, Icon defaultIcon) { Icon icon = completion.getIcon(); setIcon(icon != null ? icon : (defaultIcon != null ? defaultIcon : emptyIcon)); } - + /** * Sets the color to use for function arguments. * - * @param color - * The color to use. This is ignored if null. + * @param color The color to use. This is ignored if null. * @see #setTypeColor(Color) */ public void setParamColor(Color color) { @@ -601,27 +564,25 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { paramColor = Util.getHexString(color); } } - + /** - * Sets whether the types of fields and return types of methods are - * shown in the completion text. + * Sets whether the types of fields and return types of methods are shown in the + * completion text. * - * @param show - * Whether to show the types. + * @param show Whether to show the types. * @see #getShowTypes() */ public void setShowTypes(boolean show) { this.showTypes = show; } - + /** * Sets the color to use for function/field types. Note that if - * {@link #getShowTypes()} returns false, this property - * effectively does nothing. + * {@link #getShowTypes()} returns false, this property effectively + * does nothing. * - * @param color - * The color to use for types. This is ignored if - * null. + * @param color The color to use for types. This is ignored if + * null. * @see #setShowTypes(boolean) * @see #setParamColor(Color) */ @@ -630,7 +591,7 @@ public class CompletionCellRenderer extends DefaultListCellRenderer { typeColor = Util.getHexString(color); } } - + /** * Overridden to update our delegate, if necessary. */ diff --git a/src/org/fife/ui/autocomplete/CompletionListModel.java b/src/org/fife/ui/autocomplete/CompletionListModel.java index c6e8705..57edbc7 100644 --- a/src/org/fife/ui/autocomplete/CompletionListModel.java +++ b/src/org/fife/ui/autocomplete/CompletionListModel.java @@ -13,30 +13,29 @@ import java.util.List; import javax.swing.AbstractListModel; /** - * A list model implementation that allows the bulk addition of elements. - * This is the only feature missing from DefaultListModel that - * we need. + * A list model implementation that allows the bulk addition of elements. This + * is the only feature missing from DefaultListModel that we need. * * @author Robert Futrell * @version 1.0 */ class CompletionListModel extends AbstractListModel { - + /** * Container for items in this model. */ private List delegate; - + /** * Constructor. */ public CompletionListModel() { delegate = new ArrayList(); } - + /** - * Removes all of the elements from this list. The list will - * be empty after this call returns (unless it throws an exception). + * Removes all of the elements from this list. The list will be empty after this + * call returns (unless it throws an exception). * * @see #setContents(Collection) */ @@ -47,7 +46,7 @@ class CompletionListModel extends AbstractListModel { fireIntervalRemoved(this, 0, end); } } - + /** * {@inheritDoc} */ @@ -55,7 +54,7 @@ class CompletionListModel extends AbstractListModel { public Object getElementAt(int index) { return delegate.get(index); } - + /** * {@inheritDoc} */ @@ -63,12 +62,11 @@ class CompletionListModel extends AbstractListModel { public int getSize() { return delegate.size(); } - + /** * Sets the contents of this model. All previous contents are removed. * - * @param contents - * The new contents of this model. + * @param contents The new contents of this model. */ public void setContents(Collection contents) { clear(); diff --git a/src/org/fife/ui/autocomplete/CompletionProvider.java b/src/org/fife/ui/autocomplete/CompletionProvider.java index e5f556e..16c5470 100644 --- a/src/org/fife/ui/autocomplete/CompletionProvider.java +++ b/src/org/fife/ui/autocomplete/CompletionProvider.java @@ -25,7 +25,7 @@ import javax.swing.text.JTextComponent; * @version 1.0 */ public interface CompletionProvider { - + /** * Clears the values used to identify and insert "parameterized completions" * (e.g. functions or methods). After this method is called, functions and @@ -34,111 +34,103 @@ public interface CompletionProvider { * @see #setParameterizedCompletionParams(char, String, char) */ public void clearParameterizedCompletionParams(); - + /** - * Returns the text just before the current caret position that could be - * the start of something auto-completable. + * Returns the text just before the current caret position that could be the + * start of something auto-completable. * - * @param comp - * The text component. - * @return The text. A return value of null means nothing - * should be auto-completed; a value of an empty string - * ("") means auto-completion should still be - * considered (i.e., all possible choices are valid). + * @param comp The text component. + * @return The text. A return value of null means nothing should be + * auto-completed; a value of an empty string ("") means + * auto-completion should still be considered (i.e., all possible + * choices are valid). */ public String getAlreadyEnteredText(JTextComponent comp); - + /** - * Gets the possible completions for the text component at the current - * caret position. + * Gets the possible completions for the text component at the current caret + * position. * - * @param comp - * The text component. - * @return The list of {@link Completion}s. If no completions are - * available, this method should return an empty list. + * @param comp The text component. + * @return The list of {@link Completion}s. If no completions are available, + * this method should return an empty list. */ public List getCompletions(JTextComponent comp); - + /** * Returns the completions that have been entered at the specified visual - * location. This can be used for tool tips when the user hovers the - * mouse over completed text. + * location. This can be used for tool tips when the user hovers the mouse over + * completed text. * - * @param comp - * The text component. - * @param p - * The position, usually from a MouseEvent. + * @param comp The text component. + * @param p The position, usually from a MouseEvent. * @return The completions, or an empty list if there are none. */ public List getCompletionsAt(JTextComponent comp, Point p); - + /** * Returns the cell renderer for completions returned from this provider. * - * @return The cell renderer, or null if the default should - * be used. + * @return The cell renderer, or null if the default should be + * used. * @see #setListCellRenderer(ListCellRenderer) */ public ListCellRenderer getListCellRenderer(); - + /** * Returns an object that can return a list of completion choices for * parameters. This is used when a user code-completes a parameterized * completion, such as a function or method. For any parameter to the * function/method, this object can return possible completions. * - * @return The parameter choices provider, or null if - * none is installed. + * @return The parameter choices provider, or null if none is + * installed. */ public ParameterChoicesProvider getParameterChoicesProvider(); - + /** - * Returns a list of parameterized completions that have been entered - * at the current caret position of a text component (and thus can have - * their completion choices displayed). + * Returns a list of parameterized completions that have been entered at the + * current caret position of a text component (and thus can have their + * completion choices displayed). * - * @param tc - * The text component. - * @return The list of {@link ParameterizedCompletion}s. If no completions - * are available, this may be null. + * @param tc The text component. + * @return The list of {@link ParameterizedCompletion}s. If no completions are + * available, this may be null. */ public List getParameterizedCompletions(JTextComponent tc); - + /** - * Returns the text that marks the end of a list of parameters to a - * function or method. + * Returns the text that marks the end of a list of parameters to a function or + * method. * - * @return The text for a parameter list end, for example, - * ')'. + * @return The text for a parameter list end, for example, ')'. * @see #getParameterListStart() * @see #getParameterListSeparator() * @see #setParameterizedCompletionParams(char, String, char) */ public char getParameterListEnd(); - + /** * Returns the text that separates parameters to a function or method. * - * @return The text that separates parameters, for example, - * ", ". + * @return The text that separates parameters, for example, ", ". * @see #getParameterListStart() * @see #getParameterListEnd() * @see #setParameterizedCompletionParams(char, String, char) */ public String getParameterListSeparator(); - + /** - * Returns the text that marks the start of a list of parameters to a - * function or method. + * Returns the text that marks the start of a list of parameters to a function + * or method. * - * @return The text for a parameter list start, for example, - * "(". + * @return The text for a parameter list start, for example, "(". * @see #getParameterListEnd() * @see #getParameterListSeparator() * @see #setParameterizedCompletionParams(char, String, char) */ public char getParameterListStart(); - + /** * Returns the parent completion provider. * @@ -146,59 +138,53 @@ public interface CompletionProvider { * @see #setParent(CompletionProvider) */ public CompletionProvider getParent(); - + /** * This method is called if auto-activation is enabled in the parent - * {@link AutoCompletion} after the user types a single character. This - * provider should check the text at the current caret position of the - * text component, and decide whether auto-activation would be appropriate - * here. For example, a CompletionProvider for Java might - * want to return true for this method only if the last - * character typed was a '.'. + * {@link AutoCompletion} after the user types a single character. This provider + * should check the text at the current caret position of the text component, + * and decide whether auto-activation would be appropriate here. For example, a + * CompletionProvider for Java might want to return + * true for this method only if the last character typed was a + * '.'. * - * @param tc - * The text component. + * @param tc The text component. * @return Whether auto-activation would be appropriate. */ public boolean isAutoActivateOkay(JTextComponent tc); - + /** * Sets the renderer to use when displaying completion choices. * - * @param r - * The renderer to use. + * @param r The renderer to use. * @see #getListCellRenderer() */ public void setListCellRenderer(ListCellRenderer r); - + /** - * Sets the values used to identify and insert "parameterized completions" - * (e.g. functions or methods). If this method isn't called, functions - * and methods will not have their parameters auto-completed. + * Sets the values used to identify and insert "parameterized completions" (e.g. + * functions or methods). If this method isn't called, functions and methods + * will not have their parameters auto-completed. * - * @param listStart - * The character that marks the beginning of a list of - * parameters, such as '(' in C or Java. - * @param separator - * Text that should separate parameters in a parameter - * list when one is inserted. For example, ", ". - * @param listEnd - * The character that marks the end of a list of parameters, - * such as ')' in C or Java. - * @throws IllegalArgumentException - * If either listStart or - * listEnd is not printable ASCII, or if - * separator is null or an empty string. + * @param listStart The character that marks the beginning of a list of + * parameters, such as '(' in C or Java. + * @param separator Text that should separate parameters in a parameter list + * when one is inserted. For example, ", ". + * @param listEnd The character that marks the end of a list of parameters, + * such as ')' in C or Java. + * @throws IllegalArgumentException If either listStart or + * listEnd is not printable ASCII, or + * if separator is null + * or an empty string. * @see #clearParameterizedCompletionParams() */ public void setParameterizedCompletionParams(char listStart, String separator, char listEnd); - + /** * Sets the parent completion provider. * - * @param parent - * The parent provider. null means there will - * be no parent provider. + * @param parent The parent provider. null means there will be no + * parent provider. * @see #getParent() */ public void setParent(CompletionProvider parent); diff --git a/src/org/fife/ui/autocomplete/CompletionProviderBase.java b/src/org/fife/ui/autocomplete/CompletionProviderBase.java index d29eb4e..d3b6d91 100644 --- a/src/org/fife/ui/autocomplete/CompletionProviderBase.java +++ b/src/org/fife/ui/autocomplete/CompletionProviderBase.java @@ -182,7 +182,8 @@ public abstract class CompletionProviderBase implements CompletionProvider { } catch (BadLocationException ble) { // Never happens ble.printStackTrace(); } - return (autoActivateAfterLetters && Character.isLetter(ch)) || (autoActivateChars != null && autoActivateChars.indexOf(ch) > -1); + return (autoActivateAfterLetters && Character.isLetter(ch)) + || (autoActivateChars != null && autoActivateChars.indexOf(ch) > -1); } /** diff --git a/src/org/fife/ui/autocomplete/CompletionXMLParser.java b/src/org/fife/ui/autocomplete/CompletionXMLParser.java index 151a12f..8eaefd9 100644 --- a/src/org/fife/ui/autocomplete/CompletionXMLParser.java +++ b/src/org/fife/ui/autocomplete/CompletionXMLParser.java @@ -18,15 +18,15 @@ import org.xml.sax.SAXParseException; import org.xml.sax.helpers.DefaultHandler; /** - * Parser for an XML file describing a procedural language such as C. XML - * files will be validated against the CompletionXml.dtd DTD - * found in this package. + * Parser for an XML file describing a procedural language such as C. XML files + * will be validated against the CompletionXml.dtd DTD found in + * this package. * * @author Robert Futrell * @version 1.0 */ public class CompletionXMLParser extends DefaultHandler { - + /** * The completions found after parsing the XML. */ @@ -68,36 +68,31 @@ public class CompletionXMLParser extends DefaultHandler { */ private String funcCompletionType; /** - * The class loader to use to load custom completion classes, such as - * the one defined by {@link #funcCompletionType}. If this is - * null, then a default class loader is used. This field - * will usually be null. + * The class loader to use to load custom completion classes, such as the one + * defined by {@link #funcCompletionType}. If this is null, then a + * default class loader is used. This field will usually be null. */ private static ClassLoader DEFAULT_COMPLETION_CLASS_LOADER; - + /** * Constructor. * - * @param provider - * The provider to get completions for. + * @param provider The provider to get completions for. * @see #reset(CompletionProvider) */ public CompletionXMLParser(CompletionProvider provider) { this(provider, null); } - + /** * Constructor. * - * @param provider - * The provider to get completions for. - * @param cl - * The class loader to use, if necessary, when loading classes - * from the XML (custom {@link FunctionCompletion}s, for - * example). - * This may be null if the default is to be used, or - * if the XML does not define specific classes for completion - * types. + * @param provider The provider to get completions for. + * @param cl The class loader to use, if necessary, when loading classes + * from the XML (custom {@link FunctionCompletion}s, for + * example). This may be null if the default is to + * be used, or if the XML does not define specific classes for + * completion types. * @see #reset(CompletionProvider) */ public CompletionXMLParser(CompletionProvider provider, ClassLoader cl) { @@ -115,7 +110,7 @@ public class CompletionXMLParser extends DefaultHandler { paramStartChar = paramEndChar = 0; paramSeparator = null; } - + /** * Called when character data inside an element is found. */ @@ -129,7 +124,7 @@ public class CompletionXMLParser extends DefaultHandler { returnValDesc.append(ch, start, length); } } - + private FunctionCompletion createFunctionCompletion() { FunctionCompletion fc = null; if (funcCompletionType != null) { @@ -163,7 +158,7 @@ public class CompletionXMLParser extends DefaultHandler { } return fc; } - + private BasicCompletion createOtherCompletion() { BasicCompletion bc = new BasicCompletion(provider, name); if (desc.length() > 0) { @@ -172,7 +167,7 @@ public class CompletionXMLParser extends DefaultHandler { } return bc; } - + private MarkupTagCompletion createMarkupTagCompletion() { MarkupTagCompletion mc = new MarkupTagCompletion(provider, name); if (desc.length() > 0) { @@ -183,7 +178,7 @@ public class CompletionXMLParser extends DefaultHandler { mc.setDefinedIn(definedIn); return mc; } - + private VariableCompletion createVariableCompletion() { VariableCompletion vc = new VariableCompletion(provider, name, returnType); if (desc.length() > 0) { @@ -193,7 +188,7 @@ public class CompletionXMLParser extends DefaultHandler { vc.setDefinedIn(definedIn); return vc; } - + /** * Called when an element is closed. */ @@ -246,12 +241,12 @@ public class CompletionXMLParser extends DefaultHandler { } } } - + @Override public void error(SAXParseException e) throws SAXException { throw e; } - + /** * Returns the completions found after parsing the XML. * @@ -260,7 +255,7 @@ public class CompletionXMLParser extends DefaultHandler { public List getCompletions() { return completions; } - + /** * Returns the parameter end character specified. * @@ -269,7 +264,7 @@ public class CompletionXMLParser extends DefaultHandler { public char getParamEndChar() { return paramEndChar; } - + /** * Returns the parameter end string specified. * @@ -278,7 +273,7 @@ public class CompletionXMLParser extends DefaultHandler { public String getParamSeparator() { return paramSeparator; } - + /** * Returns the parameter start character specified. * @@ -287,16 +282,15 @@ public class CompletionXMLParser extends DefaultHandler { public char getParamStartChar() { return paramStartChar; } - + private static final char getSingleChar(String str) { return str.length() == 1 ? str.charAt(0) : 0; } - + /** * Resets this parser to grab more completions. * - * @param provider - * The new provider to get completions for. + * @param provider The new provider to get completions for. */ public void reset(CompletionProvider provider) { this.provider = provider; @@ -305,28 +299,26 @@ public class CompletionXMLParser extends DefaultHandler { paramStartChar = paramEndChar = 0; paramSeparator = null; } - + @Override public InputSource resolveEntity(String publicID, String systemID) throws SAXException { return new InputSource(getClass().getResourceAsStream("CompletionXml.dtd")); } - + /** - * Sets the class loader to use when loading custom classes to use for - * various {@link Completion} types, such as {@link FunctionCompletion}s, - * from XML. + * Sets the class loader to use when loading custom classes to use for various + * {@link Completion} types, such as {@link FunctionCompletion}s, from XML. *

      * * Users should very rarely have a need to use this method. * - * @param cl - * The class loader to use. If this is null, then - * a default is used. + * @param cl The class loader to use. If this is null, then a + * default is used. */ public static void setDefaultCompletionClassLoader(ClassLoader cl) { DEFAULT_COMPLETION_CLASS_LOADER = cl; } - + /** * Called when an element starts. */ @@ -375,7 +367,7 @@ public class CompletionXMLParser extends DefaultHandler { } } } - + @Override public void warning(SAXParseException e) throws SAXException { throw e; diff --git a/src/org/fife/ui/autocomplete/DefaultCompletionProvider.java b/src/org/fife/ui/autocomplete/DefaultCompletionProvider.java index f62801c..26fc617 100644 --- a/src/org/fife/ui/autocomplete/DefaultCompletionProvider.java +++ b/src/org/fife/ui/autocomplete/DefaultCompletionProvider.java @@ -28,29 +28,29 @@ import org.xml.sax.SAXException; /** * A basic completion provider implementation. This provider has no - * understanding of language semantics. It simply checks the text entered up - * to the caret position for a match against known completions. This is all - * that is needed in the majority of cases. + * understanding of language semantics. It simply checks the text entered up to + * the caret position for a match against known completions. This is all that is + * needed in the majority of cases. * * @author Robert Futrell * @version 1.0 */ public class DefaultCompletionProvider extends AbstractCompletionProvider { - + protected Segment seg; /** * Used to speed up {@link #getCompletionsAt(JTextComponent, Point)}. */ private String lastCompletionsAtText; /** - * Used to speed up {@link #getCompletionsAt(JTextComponent, Point)}, - * since this may be called multiple times in succession (this is usually - * called by JTextComponent.getToolTipText(), and if the user - * wiggles the mouse while a tool tip is displayed, this method gets - * repeatedly called. It can be costly so we try to speed it up a tad). + * Used to speed up {@link #getCompletionsAt(JTextComponent, Point)}, since this + * may be called multiple times in succession (this is usually called by + * JTextComponent.getToolTipText(), and if the user wiggles the mouse + * while a tool tip is displayed, this method gets repeatedly called. It can be + * costly so we try to speed it up a tad). */ private List lastParameterizedCompletionsAt; - + /** * Constructor. The returned provider will not be aware of any completions. * @@ -59,28 +59,27 @@ public class DefaultCompletionProvider extends AbstractCompletionProvider { public DefaultCompletionProvider() { init(); } - + /** - * Creates a completion provider that provides completion for a simple - * list of words. + * Creates a completion provider that provides completion for a simple list of + * words. * - * @param words - * The words to offer as completion suggestions. If this is - * null, no completions will be known. + * @param words The words to offer as completion suggestions. If this is + * null, no completions will be known. * @see BasicCompletion */ public DefaultCompletionProvider(String[] words) { init(); addWordCompletions(words); } - + /** - * Returns the text just before the current caret position that could be - * the start of something auto-completable. + * Returns the text just before the current caret position that could be the + * start of something auto-completable. *

      * - * This method returns all characters before the caret that are matched - * by {@link #isValidChar(char)}. + * This method returns all characters before the caret that are matched by + * {@link #isValidChar(char)}. * * {@inheritDoc} */ @@ -108,7 +107,7 @@ public class DefaultCompletionProvider extends AbstractCompletionProvider { len = segEnd - start; return len == 0 ? EMPTY_STRING : new String(seg.array, start, len); } - + /** * {@inheritDoc} */ @@ -156,7 +155,7 @@ public class DefaultCompletionProvider extends AbstractCompletionProvider { lastCompletionsAtText = null; return lastParameterizedCompletionsAt = null; } - + /** * {@inheritDoc} */ @@ -212,36 +211,33 @@ public class DefaultCompletionProvider extends AbstractCompletionProvider { } return list; } - + /** * Initializes this completion provider. */ protected void init() { seg = new Segment(); } - + /** - * Returns whether the specified character is valid in an auto-completion. - * The default implementation is equivalent to - * "Character.isLetterOrDigit(ch) || ch=='_'". Subclasses - * can override this method to change what characters are matched. + * Returns whether the specified character is valid in an auto-completion. The + * default implementation is equivalent to + * "Character.isLetterOrDigit(ch) || ch=='_'". Subclasses can + * override this method to change what characters are matched. * - * @param ch - * The character. + * @param ch The character. * @return Whether the character is valid. */ protected boolean isValidChar(char ch) { return Character.isLetterOrDigit(ch) || ch == '_'; } - + /** * Loads completions from an XML file. The XML should validate against * CompletionXml.dtd. * - * @param file - * An XML file to load from. - * @throws IOException - * If an IO error occurs. + * @param file An XML file to load from. + * @throws IOException If an IO error occurs. */ public void loadFromXML(File file) throws IOException { BufferedInputStream bin = new BufferedInputStream(new FileInputStream(file)); @@ -251,34 +247,28 @@ public class DefaultCompletionProvider extends AbstractCompletionProvider { bin.close(); } } - + /** - * Loads completions from an XML input stream. The XML should validate - * against CompletionXml.dtd. + * Loads completions from an XML input stream. The XML should validate against + * CompletionXml.dtd. * - * @param in - * The input stream to read from. - * @throws IOException - * If an IO error occurs. + * @param in The input stream to read from. + * @throws IOException If an IO error occurs. */ public void loadFromXML(InputStream in) throws IOException { loadFromXML(in, null); } - + /** - * Loads completions from an XML input stream. The XML should validate - * against CompletionXml.dtd. + * Loads completions from an XML input stream. The XML should validate against + * CompletionXml.dtd. * - * @param in - * The input stream to read from. - * @param cl - * The class loader to use when loading any extra classes defined - * in the XML, such as custom {@link FunctionCompletion}s. This - * may be null if the default is to be used, or if - * no - * custom completions are defined in the XML. - * @throws IOException - * If an IO error occurs. + * @param in The input stream to read from. + * @param cl The class loader to use when loading any extra classes defined in + * the XML, such as custom {@link FunctionCompletion}s. This may be + * null if the default is to be used, or if no custom + * completions are defined in the XML. + * @throws IOException If an IO error occurs. */ public void loadFromXML(InputStream in, ClassLoader cl) throws IOException { // long start = System.currentTimeMillis(); @@ -309,15 +299,13 @@ public class DefaultCompletionProvider extends AbstractCompletionProvider { bin.close(); } } - + /** * Loads completions from an XML file. The XML should validate against * CompletionXml.dtd. * - * @param resource - * A resource the current ClassLoader can get to. - * @throws IOException - * If an IO error occurs. + * @param resource A resource the current ClassLoader can get to. + * @throws IOException If an IO error occurs. */ public void loadFromXML(String resource) throws IOException { ClassLoader cl = getClass().getClassLoader(); diff --git a/src/org/fife/ui/autocomplete/DelegatingCellRenderer.java b/src/org/fife/ui/autocomplete/DelegatingCellRenderer.java index 0ce9f64..f1e4d01 100644 --- a/src/org/fife/ui/autocomplete/DelegatingCellRenderer.java +++ b/src/org/fife/ui/autocomplete/DelegatingCellRenderer.java @@ -15,22 +15,22 @@ import javax.swing.JList; import javax.swing.ListCellRenderer; /** - * List cell renderer that delegates to a {@link CompletionProvider}'s - * renderer, if it has one. If it doesn't, it calls into a fallback renderer. - * If a fallback renderer isn't specified, it simply renders + * List cell renderer that delegates to a {@link CompletionProvider}'s renderer, + * if it has one. If it doesn't, it calls into a fallback renderer. If a + * fallback renderer isn't specified, it simply renders * (({@link Completion})value).toString(). * * @author Robert Futrell * @version 1.0 */ class DelegatingCellRenderer extends DefaultListCellRenderer { - + /** - * The renderer to fall back on if one isn't specified by a provider. - * This is usually this. + * The renderer to fall back on if one isn't specified by a provider. This is + * usually this. */ private ListCellRenderer fallback; - + /** * Returns the fallback cell renderer. * @@ -40,12 +40,13 @@ class DelegatingCellRenderer extends DefaultListCellRenderer { public ListCellRenderer getFallbackCellRenderer() { return fallback; } - + /** * {@inheritDoc} */ @Override - public Component getListCellRendererComponent(JList list, Object value, int index, boolean selected, boolean hasFocus) { + public Component getListCellRendererComponent(JList list, Object value, int index, boolean selected, + boolean hasFocus) { Completion c = (Completion) value; CompletionProvider p = c.getProvider(); ListCellRenderer r = p.getListCellRenderer(); @@ -57,19 +58,18 @@ class DelegatingCellRenderer extends DefaultListCellRenderer { } return fallback.getListCellRendererComponent(list, value, index, selected, hasFocus); } - + /** * Sets the fallback cell renderer. * - * @param fallback - * The fallback cell renderer. If this is - * null, this will be used. + * @param fallback The fallback cell renderer. If this is null, + * this will be used. * @see #getFallbackCellRenderer() */ public void setFallbackCellRenderer(ListCellRenderer fallback) { this.fallback = fallback; } - + /** * {@inheritDoc} */ diff --git a/src/org/fife/ui/autocomplete/DescWindowCallback.java b/src/org/fife/ui/autocomplete/DescWindowCallback.java index eed6064..068367a 100644 --- a/src/org/fife/ui/autocomplete/DescWindowCallback.java +++ b/src/org/fife/ui/autocomplete/DescWindowCallback.java @@ -14,15 +14,13 @@ package org.fife.ui.autocomplete; * @see ExternalURLHandler */ public interface DescWindowCallback { - + /** - * Callback allowing a new code completion's description to be displayed - * in the description window. + * Callback allowing a new code completion's description to be displayed in the + * description window. * - * @param completion - * The new completion. - * @param anchor - * The anchor to scroll to, or null if none. + * @param completion The new completion. + * @param anchor The anchor to scroll to, or null if none. */ public void showSummaryFor(Completion completion, String anchor); } diff --git a/src/org/fife/ui/autocomplete/EmptyIcon.java b/src/org/fife/ui/autocomplete/EmptyIcon.java index b5ce5f4..b515cab 100644 --- a/src/org/fife/ui/autocomplete/EmptyIcon.java +++ b/src/org/fife/ui/autocomplete/EmptyIcon.java @@ -21,23 +21,24 @@ import javax.swing.Icon; * @version 1.0 */ public class EmptyIcon implements Icon, Serializable { - + private int size; - + public EmptyIcon(int size) { this.size = size; } - + @Override public int getIconHeight() { return size; } - + @Override public int getIconWidth() { return size; } - + @Override - public void paintIcon(Component c, Graphics g, int x, int y) {} + public void paintIcon(Component c, Graphics g, int x, int y) { + } } diff --git a/src/org/fife/ui/autocomplete/ExternalURLHandler.java b/src/org/fife/ui/autocomplete/ExternalURLHandler.java index 1f7c68d..9339abf 100644 --- a/src/org/fife/ui/autocomplete/ExternalURLHandler.java +++ b/src/org/fife/ui/autocomplete/ExternalURLHandler.java @@ -10,12 +10,12 @@ package org.fife.ui.autocomplete; import javax.swing.event.HyperlinkEvent; /** - * A callback for when an external URL is clicked in the description window. - * If no handler is installed, and if running in Java 6, the system default - * web browser is used to open the URL. If not running Java 6, nothing will - * happen. If you want browser support for pre-Java 6 JRE's, you will need - * to register one of these callbacks on your {@link AutoCompletion}, and - * open the URL in a web browser yourself. + * A callback for when an external URL is clicked in the description window. If + * no handler is installed, and if running in Java 6, the system default web + * browser is used to open the URL. If not running Java 6, nothing will happen. + * If you want browser support for pre-Java 6 JRE's, you will need to register + * one of these callbacks on your {@link AutoCompletion}, and open the URL in a + * web browser yourself. *

      * * Alternatively, folks implementing robust code completion support for a @@ -27,17 +27,13 @@ import javax.swing.event.HyperlinkEvent; * @see AutoCompletion#setExternalURLHandler(ExternalURLHandler) */ public interface ExternalURLHandler { - + /** * Called when an external URL is clicked in the description window. * - * @param e - * The event containing the hyperlink clicked. - * @param c - * The completion currently being displayed. - * @param callback - * Allows you to display new content in the description - * window. + * @param e The event containing the hyperlink clicked. + * @param c The completion currently being displayed. + * @param callback Allows you to display new content in the description window. */ public void urlClicked(HyperlinkEvent e, Completion c, DescWindowCallback callback); } diff --git a/src/org/fife/ui/autocomplete/FastListUI.java b/src/org/fife/ui/autocomplete/FastListUI.java index e872720..41d5704 100644 --- a/src/org/fife/ui/autocomplete/FastListUI.java +++ b/src/org/fife/ui/autocomplete/FastListUI.java @@ -20,37 +20,37 @@ import javax.swing.plaf.basic.BasicListUI; /** * A custom list UI, used by the completion choices list. If the number of - * completion choices is "large," it does a fast estimate of the preferred - * width and height of list items. This allows HTML renderers to be used (such - * as {@link CompletionCellRenderer}), with thousands of completion choices, - * with no performance penalty. With standard BasicListUI subclasses, this can - * cause very poor performance each time the list is displayed, which - * is bad for lists that are repeatedly hidden and re-displayed, such as - * completion choices. This is all because the calculation to get the - * preferred size of each list item, when it is displayed with HTML, is slow. + * completion choices is "large," it does a fast estimate of the preferred width + * and height of list items. This allows HTML renderers to be used (such as + * {@link CompletionCellRenderer}), with thousands of completion choices, with + * no performance penalty. With standard BasicListUI subclasses, this can cause + * very poor performance each time the list is displayed, which is bad + * for lists that are repeatedly hidden and re-displayed, such as completion + * choices. This is all because the calculation to get the preferred size of + * each list item, when it is displayed with HTML, is slow. * * @author Robert Futrell * @version 1.0 */ class FastListUI extends BasicListUI { - + /** - * Whether the selection background was overridden (usually because of - * Nimbus) so we know to manually uninstall the color we installed. + * Whether the selection background was overridden (usually because of Nimbus) + * so we know to manually uninstall the color we installed. */ private boolean overriddenBackground; /** - * Whether the selection foreground was overridden (usually because of - * Nimbus) so we know to manually uninstall the color we installed. + * Whether the selection foreground was overridden (usually because of Nimbus) + * so we know to manually uninstall the color we installed. */ private boolean overriddenForeground; /** - * If there are more than this many completions in a single list, this - * UI will estimate the cell width and height needed for each item instead - * of computing it, for performance reasons. + * If there are more than this many completions in a single list, this UI will + * estimate the cell width and height needed for each item instead of computing + * it, for performance reasons. */ private static final int ESTIMATION_THRESHOLD = 200; - + private Color determineSelectionBackground() { Color c = UIManager.getColor("List.selectionBackground"); if (c == null) { @@ -68,7 +68,7 @@ class FastListUI extends BasicListUI { // actually be a ColorUIResource return new Color(c.getRGB());// new ColorUIResource(c); } - + private Color determineSelectionForeground() { Color c = UIManager.getColor("List.selectionForeground"); if (c == null) { @@ -84,12 +84,11 @@ class FastListUI extends BasicListUI { // may actually be a ColorUIResource return new Color(c.getRGB()); } - + /** - * Overridden to ensure we have selection background/foreground colors - * defined, even if we're in some weirdo LAF such as Nimbus which doesn't - * define them. Since FastListUI extends BasicListUI, we need these values - * to be defined. + * Overridden to ensure we have selection background/foreground colors defined, + * even if we're in some weirdo LAF such as Nimbus which doesn't define them. + * Since FastListUI extends BasicListUI, we need these values to be defined. */ @Override protected void installDefaults() { @@ -103,7 +102,7 @@ class FastListUI extends BasicListUI { overriddenForeground = true; } } - + /** * Overridden to work around a Nimbus issue. */ @@ -117,12 +116,11 @@ class FastListUI extends BasicListUI { list.setSelectionForeground(null); } } - + /** - * Recalculates the cell width and height of each cell in the list. This - * method is overridden to do a fast estimation if the completion list is - * too long, to improve performance for lists with huge amounts of - * completions. + * Recalculates the cell width and height of each cell in the list. This method + * is overridden to do a fast estimation if the completion list is too long, to + * improve performance for lists with huge amounts of completions. */ @Override protected void updateLayoutState() { diff --git a/src/org/fife/ui/autocomplete/FunctionCompletion.java b/src/org/fife/ui/autocomplete/FunctionCompletion.java index 866630a..6538406 100644 --- a/src/org/fife/ui/autocomplete/FunctionCompletion.java +++ b/src/org/fife/ui/autocomplete/FunctionCompletion.java @@ -20,7 +20,7 @@ import javax.swing.text.Position; * @version 1.0 */ public class FunctionCompletion extends VariableCompletion implements ParameterizedCompletion { - + /** * Parameters to the function. */ @@ -33,33 +33,29 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri * Used to improve performance of sorting FunctionCompletions. */ private String compareString; - + /** * Constructor. * - * @param provider - * The parent provider. - * @param name - * The name of this function. - * @param returnType - * The return type of this function. + * @param provider The parent provider. + * @param name The name of this function. + * @param returnType The return type of this function. */ public FunctionCompletion(CompletionProvider provider, String name, String returnType) { super(provider, name, returnType); } - + @Override protected void addDefinitionString(StringBuilder sb) { sb.append(""); sb.append(getDefinitionString()); sb.append(""); } - + /** * Adds HTML describing the parameters to this function to a buffer. * - * @param sb - * The buffer to append to. + * @param sb The buffer to append to. */ protected void addParameters(StringBuilder sb) { // TODO: Localize me @@ -86,12 +82,11 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri sb.append("

      "); } } - + /** * Overridden to compare methods by their comparison strings. * - * @param c2 - * A Completion to compare to. + * @param c2 A Completion to compare to. * @return The sort order. */ @Override @@ -106,7 +101,7 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri } return rc; } - + /** * Returns a string used to compare this method completion to another. * @@ -114,11 +109,9 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri */ private String getCompareString() { /* - * This string compares the following parts of methods in this order, - * to optimize sort order in completion lists. - * 1. First, by name - * 2. Next, by number of parameters. - * 3. Finally, by parameter type. + * This string compares the following parts of methods in this order, to + * optimize sort order in completion lists. 1. First, by name 2. Next, by number + * of parameters. 3. Finally, by parameter type. */ if (compareString == null) { StringBuilder sb = new StringBuilder(getName()); @@ -139,10 +132,10 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri } return compareString; } - + /** - * Returns the "definition string" for this function completion. For - * example, for the C "printf" function, this would return + * Returns the "definition string" for this function completion. For example, + * for the C "printf" function, this would return * "int printf(const char *, ...)". * * @return The definition string. @@ -186,7 +179,7 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri } return sb.toString(); } - + @Override public ParameterizedCompletionInsertionInfo getInsertionInfo(JTextComponent tc, boolean replaceTabsWithSpaces) { ParameterizedCompletionInsertionInfo info = new ParameterizedCompletionInsertionInfo(); @@ -238,7 +231,7 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri info.setTextToInsert(sb.toString()); return info; } - + /** * {@inheritDoc} */ @@ -246,7 +239,7 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri public Parameter getParam(int index) { return params.get(index); } - + /** * Returns the number of parameters to this function. * @@ -257,7 +250,7 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri public int getParamCount() { return params == null ? 0 : params.size(); } - + /** * {@inheritDoc} */ @@ -265,12 +258,11 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri public boolean getShowParameterToolTip() { return true; } - + /** * Returns the text to insert for a parameter. * - * @param param - * The parameter. + * @param param The parameter. * @return The text. */ private String getParamText(ParameterizedCompletion.Parameter param) { @@ -283,7 +275,7 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri } return text; } - + /** * Returns the description of the return value of this function. * @@ -293,7 +285,7 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri public String getReturnValueDescription() { return returnValDesc; } - + /** * {@inheritDoc} */ @@ -308,7 +300,7 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri possiblyAddDefinedIn(sb); return sb.toString(); } - + /** * {@inheritDoc} */ @@ -320,13 +312,12 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri } return text; } - + /** * Sets the parameters to this function. * - * @param params - * The parameters. This should be a list of - * {@link ParameterizedCompletion.Parameter}s. + * @param params The parameters. This should be a list of + * {@link ParameterizedCompletion.Parameter}s. * @see #getParam(int) * @see #getParamCount() */ @@ -336,12 +327,11 @@ public class FunctionCompletion extends VariableCompletion implements Parameteri this.params = new ArrayList(params); } } - + /** * Sets the description of the return value of this function. * - * @param desc - * The description. + * @param desc The description. * @see #getReturnValueDescription() */ public void setReturnValueDescription(String desc) { diff --git a/src/org/fife/ui/autocomplete/LanguageAwareCompletionProvider.java b/src/org/fife/ui/autocomplete/LanguageAwareCompletionProvider.java index 8914782..54774d5 100644 --- a/src/org/fife/ui/autocomplete/LanguageAwareCompletionProvider.java +++ b/src/org/fife/ui/autocomplete/LanguageAwareCompletionProvider.java @@ -33,13 +33,13 @@ import org.fife.ui.rtextarea.ToolTipSupplier; *

    • A documentation comment
    • *
    * - * This allows for different completion choices in comments than in code, - * for example. + * This allows for different completion choices in comments than in code, for + * example. *

    * * This provider also implements the - * org.fife.ui.rtextarea.ToolTipSupplier interface, which allows it - * to display tooltips for completion choices. Thus the standard + * org.fife.ui.rtextarea.ToolTipSupplier interface, which allows it to + * display tooltips for completion choices. Thus the standard * {@link VariableCompletion} and {@link FunctionCompletion} completions should * be able to display tooltips with the variable declaration or function * definition (provided the RSyntaxTextArea was registered with the @@ -49,10 +49,9 @@ import org.fife.ui.rtextarea.ToolTipSupplier; * @version 1.0 */ public class LanguageAwareCompletionProvider extends CompletionProviderBase implements ToolTipSupplier { - + /** - * The provider to use when no provider is assigned to a particular token - * type. + * The provider to use when no provider is assigned to a particular token type. */ private CompletionProvider defaultProvider; /** @@ -67,41 +66,40 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl * The provider to use while in documentation comments. */ private CompletionProvider docCommentCompletionProvider; - + /** - * Constructor subclasses can use when they don't have their default - * provider created at construction time. They should call + * Constructor subclasses can use when they don't have their default provider + * created at construction time. They should call * {@link #setDefaultCompletionProvider(CompletionProvider)} in this * constructor. */ - protected LanguageAwareCompletionProvider() {} - + protected LanguageAwareCompletionProvider() { + } + /** * Constructor. * - * @param defaultProvider - * The provider to use when no provider is assigned - * to a particular token type. This cannot be null. + * @param defaultProvider The provider to use when no provider is assigned to a + * particular token type. This cannot be + * null. */ public LanguageAwareCompletionProvider(CompletionProvider defaultProvider) { setDefaultCompletionProvider(defaultProvider); } - + /** - * Calling this method will result in an - * {@link UnsupportedOperationException} being thrown. To set the - * parameter completion parameters, do so on the provider returned by - * {@link #getDefaultCompletionProvider()}. + * Calling this method will result in an {@link UnsupportedOperationException} + * being thrown. To set the parameter completion parameters, do so on the + * provider returned by {@link #getDefaultCompletionProvider()}. * - * @throws UnsupportedOperationException - * Always. + * @throws UnsupportedOperationException Always. * @see #setParameterizedCompletionParams(char, String, char) */ @Override public void clearParameterizedCompletionParams() { throw new UnsupportedOperationException(); } - + /** * {@inheritDoc} */ @@ -113,7 +111,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl CompletionProvider provider = getProviderFor(comp); return provider != null ? provider.getAlreadyEnteredText(comp) : null; } - + /** * Returns the completion provider to use for comments. * @@ -123,7 +121,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl public CompletionProvider getCommentCompletionProvider() { return commentCompletionProvider; } - + /** * {@inheritDoc} */ @@ -131,14 +129,12 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl public List getCompletionsAt(JTextComponent tc, Point p) { return defaultProvider == null ? null : defaultProvider.getCompletionsAt(tc, p); } - + /** * Does the dirty work of creating a list of completions. * - * @param comp - * The text component to look in. - * @return The list of possible completions, or an empty list if there - * are none. + * @param comp The text component to look in. + * @return The list of possible completions, or an empty list if there are none. */ @Override protected List getCompletionsImpl(JTextComponent comp) { @@ -150,10 +146,10 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl } return Collections.emptyList(); } - + /** - * Returns the completion provider used when one isn't defined for a - * particular token type. + * Returns the completion provider used when one isn't defined for a particular + * token type. * * @return The completion provider to use. * @see #setDefaultCompletionProvider(CompletionProvider) @@ -161,7 +157,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl public CompletionProvider getDefaultCompletionProvider() { return defaultProvider; } - + /** * Returns the completion provider to use for documentation comments. * @@ -171,7 +167,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl public CompletionProvider getDocCommentCompletionProvider() { return docCommentCompletionProvider; } - + /** * {@inheritDoc} */ @@ -183,7 +179,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl CompletionProvider provider = getProviderFor(tc); return provider == defaultProvider ? provider.getParameterizedCompletions(tc) : null; } - + /** * {@inheritDoc} */ @@ -191,7 +187,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl public char getParameterListEnd() { return defaultProvider.getParameterListEnd(); } - + /** * {@inheritDoc} */ @@ -199,7 +195,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl public String getParameterListSeparator() { return defaultProvider.getParameterListSeparator(); } - + /** * {@inheritDoc} */ @@ -207,13 +203,12 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl public char getParameterListStart() { return defaultProvider.getParameterListStart(); } - + /** - * Returns the completion provider to use at the current caret position in - * a text component. + * Returns the completion provider to use at the current caret position in a + * text component. * - * @param comp - * The text component to check. + * @param comp The text component to check. * @return The completion provider to use. */ private CompletionProvider getProviderFor(JTextComponent comp) { @@ -242,15 +237,15 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl type = doc.getClosestStandardTokenTypeForInternalType(type); } switch (type) { - case Token.ERROR_STRING_DOUBLE: - return getStringCompletionProvider(); - case Token.COMMENT_EOL: - case Token.COMMENT_MULTILINE: - return getCommentCompletionProvider(); - case Token.COMMENT_DOCUMENTATION: - return getDocCommentCompletionProvider(); - default: - return getDefaultCompletionProvider(); + case Token.ERROR_STRING_DOUBLE: + return getStringCompletionProvider(); + case Token.COMMENT_EOL: + case Token.COMMENT_MULTILINE: + return getCommentCompletionProvider(); + case Token.COMMENT_DOCUMENTATION: + return getDocCommentCompletionProvider(); + default: + return getDefaultCompletionProvider(); } } // FIXME: This isn't always a safe assumption. @@ -261,27 +256,27 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl return getDefaultCompletionProvider(); } switch (curToken.getType()) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - case Token.ERROR_STRING_DOUBLE: - return getStringCompletionProvider(); - case Token.COMMENT_EOL: - case Token.COMMENT_MULTILINE: - return getCommentCompletionProvider(); - case Token.COMMENT_DOCUMENTATION: - return getDocCommentCompletionProvider(); - case Token.NULL: - case Token.WHITESPACE: - case Token.IDENTIFIER: - case Token.VARIABLE: - case Token.PREPROCESSOR: - case Token.DATA_TYPE: - case Token.FUNCTION: - case Token.OPERATOR: - return getDefaultCompletionProvider(); + case Token.LITERAL_STRING_DOUBLE_QUOTE: + case Token.ERROR_STRING_DOUBLE: + return getStringCompletionProvider(); + case Token.COMMENT_EOL: + case Token.COMMENT_MULTILINE: + return getCommentCompletionProvider(); + case Token.COMMENT_DOCUMENTATION: + return getDocCommentCompletionProvider(); + case Token.NULL: + case Token.WHITESPACE: + case Token.IDENTIFIER: + case Token.VARIABLE: + case Token.PREPROCESSOR: + case Token.DATA_TYPE: + case Token.FUNCTION: + case Token.OPERATOR: + return getDefaultCompletionProvider(); } return null; // In a token type we can't auto-complete from. } - + /** * Returns the completion provider to use for strings. * @@ -291,7 +286,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl public CompletionProvider getStringCompletionProvider() { return stringCompletionProvider; } - + /** * {@inheritDoc} */ @@ -300,24 +295,22 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl CompletionProvider provider = getProviderFor(tc); return provider != null ? provider.isAutoActivateOkay(tc) : false; } - + /** * Sets the comment completion provider. * - * @param provider - * The provider to use in comments. + * @param provider The provider to use in comments. * @see #getCommentCompletionProvider() */ public void setCommentCompletionProvider(CompletionProvider provider) { this.commentCompletionProvider = provider; } - + /** * Sets the default completion provider. * - * @param provider - * The provider to use when no provider is assigned to a - * particular token type. This cannot be null. + * @param provider The provider to use when no provider is assigned to a + * particular token type. This cannot be null. * @see #getDefaultCompletionProvider() */ public void setDefaultCompletionProvider(CompletionProvider provider) { @@ -326,59 +319,53 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl } this.defaultProvider = provider; } - + /** * Sets the documentation comment completion provider. * - * @param provider - * The provider to use in comments. + * @param provider The provider to use in comments. * @see #getDocCommentCompletionProvider() */ public void setDocCommentCompletionProvider(CompletionProvider provider) { this.docCommentCompletionProvider = provider; } - + /** - * Calling this method will result in an - * {@link UnsupportedOperationException} being thrown. To set the - * parameter completion parameters, do so on the provider returned by - * {@link #getDefaultCompletionProvider()}. + * Calling this method will result in an {@link UnsupportedOperationException} + * being thrown. To set the parameter completion parameters, do so on the + * provider returned by {@link #getDefaultCompletionProvider()}. * - * @throws UnsupportedOperationException - * Always. + * @throws UnsupportedOperationException Always. * @see #clearParameterizedCompletionParams() */ @Override public void setParameterizedCompletionParams(char listStart, String separator, char listEnd) { throw new UnsupportedOperationException(); } - + /** * Sets the completion provider to use while in a string. * - * @param provider - * The provider to use. + * @param provider The provider to use. * @see #getStringCompletionProvider() */ public void setStringCompletionProvider(CompletionProvider provider) { stringCompletionProvider = provider; } - + /** * Returns the tool tip to display for a mouse event. *

    * - * For this method to be called, the RSyntaxTextArea must be - * registered with the javax.swing.ToolTipManager like so: + * For this method to be called, the RSyntaxTextArea must be registered + * with the javax.swing.ToolTipManager like so: * *

     	 * ToolTipManager.sharedInstance().registerComponent(textArea);
     	 * 
    * - * @param textArea - * The text area. - * @param e - * The mouse event. + * @param textArea The text area. + * @param e The mouse event. * @return The tool tip text, or null if none. */ @Override diff --git a/src/org/fife/ui/autocomplete/LinkRedirector.java b/src/org/fife/ui/autocomplete/LinkRedirector.java index f343efb..e7c70c2 100644 --- a/src/org/fife/ui/autocomplete/LinkRedirector.java +++ b/src/org/fife/ui/autocomplete/LinkRedirector.java @@ -8,14 +8,13 @@ package org.fife.ui.autocomplete; import java.net.URL; /** - * Possibly redirects one URL to another. Useful if you want "external" URL's - * in code completion documentation to point to a local copy instead, for - * example. + * Possibly redirects one URL to another. Useful if you want "external" URL's in + * code completion documentation to point to a local copy instead, for example. * * @author Robert Futrell * @version 1.0 */ public interface LinkRedirector { - + public URL possiblyRedirect(URL original); } diff --git a/src/org/fife/ui/autocomplete/MarkupTagCompletion.java b/src/org/fife/ui/autocomplete/MarkupTagCompletion.java index 206e026..3f308f8 100644 --- a/src/org/fife/ui/autocomplete/MarkupTagCompletion.java +++ b/src/org/fife/ui/autocomplete/MarkupTagCompletion.java @@ -19,7 +19,7 @@ import org.fife.ui.autocomplete.ParameterizedCompletion.Parameter; * @version 1.0 */ public class MarkupTagCompletion extends AbstractCompletion { - + private String name; private String desc; private String definedIn; @@ -27,25 +27,22 @@ public class MarkupTagCompletion extends AbstractCompletion { * Attributes of the tag. */ private List attrs; - + /** * Constructor. * - * @param provider - * The parent provider instance. - * @param name - * The name of the tag. + * @param provider The parent provider instance. + * @param name The name of the tag. */ public MarkupTagCompletion(CompletionProvider provider, String name) { super(provider); this.name = name; } - + /** * Adds HTML describing the attributes of this tag to a buffer. * - * @param sb - * The buffer to append to. + * @param sb The buffer to append to. */ protected void addAttributes(StringBuilder sb) { // TODO: Localize me. @@ -67,11 +64,11 @@ public class MarkupTagCompletion extends AbstractCompletion { sb.append("

    "); } } - + protected void addDefinitionString(StringBuilder sb) { sb.append("").append(name).append(""); } - + /** * Returns all attributes of this tag. * @@ -82,19 +79,18 @@ public class MarkupTagCompletion extends AbstractCompletion { public List getAttributes() { return attrs; } - + /** * Returns the specified {@link ParameterizedCompletion.Parameter}. * - * @param index - * The index of the attribute to retrieve. + * @param index The index of the attribute to retrieve. * @return The attribute. * @see #getAttributeCount() */ public Parameter getAttribute(int index) { return attrs.get(index); } - + /** * Returns the number of attributes of this tag. * @@ -104,7 +100,7 @@ public class MarkupTagCompletion extends AbstractCompletion { public int getAttributeCount() { return attrs == null ? 0 : attrs.size(); } - + /** * Returns where this variable is defined. * @@ -114,19 +110,17 @@ public class MarkupTagCompletion extends AbstractCompletion { public String getDefinedIn() { return definedIn; } - + /** - * Returns a short description of this variable. This should be an - * HTML snippet. + * Returns a short description of this variable. This should be an HTML snippet. * - * @return A short description of this variable. This may be - * null. + * @return A short description of this variable. This may be null. * @see #setDescription(String) */ public String getDescription() { return desc; } - + /** * Returns the name of this tag. * @@ -135,7 +129,7 @@ public class MarkupTagCompletion extends AbstractCompletion { public String getName() { return name; } - + /** * {@inheritDoc} */ @@ -143,7 +137,7 @@ public class MarkupTagCompletion extends AbstractCompletion { public String getReplacementText() { return getName(); } - + /** * {@inheritDoc} */ @@ -156,13 +150,12 @@ public class MarkupTagCompletion extends AbstractCompletion { possiblyAddDefinedIn(sb); return sb.toString(); } - + /** - * Adds some HTML describing where this variable is defined, if this - * information is known. + * Adds some HTML describing where this variable is defined, if this information + * is known. * - * @param sb - * The buffer to append to. + * @param sb The buffer to append to. */ protected void possiblyAddDefinedIn(StringBuilder sb) { if (definedIn != null) { @@ -170,13 +163,11 @@ public class MarkupTagCompletion extends AbstractCompletion { sb.append(" ").append(definedIn).append(""); } } - + /** - * Adds the description text as HTML to a buffer, if a description is - * defined. + * Adds the description text as HTML to a buffer, if a description is defined. * - * @param sb - * The buffer to append to. + * @param sb The buffer to append to. */ protected void possiblyAddDescription(StringBuilder sb) { if (desc != null) { @@ -185,36 +176,31 @@ public class MarkupTagCompletion extends AbstractCompletion { sb.append("


    "); } } - + /** * Sets where this variable is defined. * - * @param definedIn - * Where this variable is defined. + * @param definedIn Where this variable is defined. * @see #getDefinedIn() */ public void setDefinedIn(String definedIn) { this.definedIn = definedIn; } - + /** - * Sets the short description of this tag. This should be an - * HTML snippet. + * Sets the short description of this tag. This should be an HTML snippet. * - * @param desc - * A short description of this tag. This may be - * null. + * @param desc A short description of this tag. This may be null. * @see #getDescription() */ public void setDescription(String desc) { this.desc = desc; } - + /** * Sets the attributes of this tag. * - * @param attrs - * The attributes. + * @param attrs The attributes. * @see #getAttribute(int) * @see #getAttributeCount() */ diff --git a/src/org/fife/ui/autocomplete/OutlineHighlightPainter.java b/src/org/fife/ui/autocomplete/OutlineHighlightPainter.java index 4709950..1922539 100644 --- a/src/org/fife/ui/autocomplete/OutlineHighlightPainter.java +++ b/src/org/fife/ui/autocomplete/OutlineHighlightPainter.java @@ -19,40 +19,39 @@ import javax.swing.text.Position; import javax.swing.text.View; /** - * Highlight painter that draws an outline around the text. This is used to - * draw bounds around function/method parameters. + * Highlight painter that draws an outline around the text. This is used to draw + * bounds around function/method parameters. * * @author Robert Futrell * @version 1.0 */ /* - * NOTE: Whenever you see text like "Workaround for Java Highlight issues", - * this is because highlighted text in a JTextComponent gets "pushed" forward - * when the caret is at the Highlight's start, when we need it to instead get + * NOTE: Whenever you see text like "Workaround for Java Highlight issues", this + * is because highlighted text in a JTextComponent gets "pushed" forward when + * the caret is at the Highlight's start, when we need it to instead get * prepended to. For this reason, the auto-complete package adds its Highlights * 1 char too long (1 char earlier than where it should really start), but only * paint the Highlight from the 2nd char on. */ class OutlineHighlightPainter extends DefaultHighlighter.DefaultHighlightPainter { - + /** - * DefaultHighlightPainter doesn't allow changing color, so we must cache - * ours here. + * DefaultHighlightPainter doesn't allow changing color, so we must cache ours + * here. */ private Color color; - + /** * Constructor. * - * @param color - * The color to draw the bounding boxes with. This cannot - * be null. + * @param color The color to draw the bounding boxes with. This cannot be + * null. */ public OutlineHighlightPainter(Color color) { super(color); setColor(color); } - + /** * Returns the color to paint bounding boxes with. * @@ -63,7 +62,7 @@ class OutlineHighlightPainter extends DefaultHighlighter.DefaultHighlightPainter public Color getColor() { return color; } - + /** * {@inheritDoc} */ @@ -110,12 +109,11 @@ class OutlineHighlightPainter extends DefaultHighlighter.DefaultHighlightPainter return null; } } - + /** * Sets the color to paint the bounding boxes with. * - * @param color - * The new color. This cannot be null. + * @param color The new color. This cannot be null. * @see #getColor() */ public void setColor(Color color) { diff --git a/src/org/fife/ui/autocomplete/ParameterChoicesProvider.java b/src/org/fife/ui/autocomplete/ParameterChoicesProvider.java index 8719e79..a0dd98d 100644 --- a/src/org/fife/ui/autocomplete/ParameterChoicesProvider.java +++ b/src/org/fife/ui/autocomplete/ParameterChoicesProvider.java @@ -12,25 +12,23 @@ import java.util.List; import javax.swing.text.JTextComponent; /** - * Provides completions for a {@link ParameterizedCompletion}'s parameters. - * So, for example, if the user code-completes a function or method, if - * a ParameterChoicesProvider is installed, it can return possible + * Provides completions for a {@link ParameterizedCompletion}'s parameters. So, + * for example, if the user code-completes a function or method, if a + * ParameterChoicesProvider is installed, it can return possible * completions for the parameters to that function or method. * * @author Robert Futrell * @version 1.0 */ public interface ParameterChoicesProvider { - + /** * Returns a list of choices for a specific parameter. * - * @param tc - * The text component. - * @param param - * The currently focused parameter. - * @return The list of parameters. This may be null for - * "no parameters," but might also be an empty list. + * @param tc The text component. + * @param param The currently focused parameter. + * @return The list of parameters. This may be null for "no + * parameters," but might also be an empty list. */ public List getParameterChoices(JTextComponent tc, ParameterizedCompletion.Parameter param); } diff --git a/src/org/fife/ui/autocomplete/ParameterizedCompletion.java b/src/org/fife/ui/autocomplete/ParameterizedCompletion.java index a6ff10f..1e5dd9f 100644 --- a/src/org/fife/ui/autocomplete/ParameterizedCompletion.java +++ b/src/org/fife/ui/autocomplete/ParameterizedCompletion.java @@ -15,26 +15,25 @@ import javax.swing.text.JTextComponent; * @version 1.0 */ public interface ParameterizedCompletion extends Completion { - + /** - * Returns the "definition string" for this completion. For example, - * for the C "printf" function, this would return + * Returns the "definition string" for this completion. For example, for the C + * "printf" function, this would return * "int printf(const char *, ...)". * * @return The definition string. */ public String getDefinitionString(); - + /** * Returns the specified {@link Parameter}. * - * @param index - * The index of the parameter to retrieve. + * @param index The index of the parameter to retrieve. * @return The parameter. * @see #getParamCount() */ public Parameter getParam(int index); - + /** * Returns the number of parameters this completion takes. * @@ -42,82 +41,73 @@ public interface ParameterizedCompletion extends Completion { * @see #getParam(int) */ public int getParamCount(); - + public ParameterizedCompletionInsertionInfo getInsertionInfo(JTextComponent tc, boolean replaceTabsWithSpaces); - + /** - * Returns whether a tool tip displaying assistance for each parameter - * while it is being edited is appropriate for this completion. + * Returns whether a tool tip displaying assistance for each parameter while it + * is being edited is appropriate for this completion. * * @return Whether the tool tip is appropriate to display. */ public boolean getShowParameterToolTip(); - + /** * A parameter passed to a parameterized {@link Completion}. */ public static class Parameter { - + private String name; private Object type; private String desc; private boolean isEndParam; - + /** * Constructor. * - * @param type - * The type of this parameter. This may be - * null for languages without specific types, - * dynamic typing, etc. Usually you'll pass a String for this - * value, but you may pass any object representing a type in - * your language, as long as its toString() - * method - * returns a string representation of the type. - * @param name - * The name of the parameter. + * @param type The type of this parameter. This may be null for + * languages without specific types, dynamic typing, etc. Usually + * you'll pass a String for this value, but you may pass any object + * representing a type in your language, as long as its + * toString() method returns a string representation of + * the type. + * @param name The name of the parameter. */ public Parameter(Object type, String name) { this(type, name, false); } - + /** * Constructor. * - * @param type - * The type of this parameter. This may be - * null for languages without specific types, - * dynamic typing, etc. Usually you'll pass a String for this - * value, but you may pass any object representing a type in - * your language, as long as its toString() - * method - * returns a string representation of the type. - * @param name - * The name of the parameter. - * @param endParam - * Whether this parameter is an "ending parameter;" - * that is, whether this parameter is at a logical "ending - * point" in the completion text. If the user types in a - * parameter that is an ending point, parameter completion - * mode - * terminates. Set this to true for a trailing - * parameter after a function call's closing ')', for - * example. + * @param type The type of this parameter. This may be null for + * languages without specific types, dynamic typing, etc. + * Usually you'll pass a String for this value, but you may pass + * any object representing a type in your language, as long as + * its toString() method returns a string + * representation of the type. + * @param name The name of the parameter. + * @param endParam Whether this parameter is an "ending parameter;" that is, + * whether this parameter is at a logical "ending point" in the + * completion text. If the user types in a parameter that is an + * ending point, parameter completion mode terminates. Set this + * to true for a trailing parameter after a + * function call's closing ')', for example. */ public Parameter(Object type, String name, boolean endParam) { this.name = name; this.type = type; this.isEndParam = endParam; } - + public String getDescription() { return desc; } - + public String getName() { return name; } - + /** * Returns the type of this parameter, as a string. * @@ -126,7 +116,7 @@ public interface ParameterizedCompletion extends Completion { public String getType() { return type == null ? null : type.toString(); } - + /** * Returns the object used to describe the type of this parameter. * @@ -135,22 +125,21 @@ public interface ParameterizedCompletion extends Completion { public Object getTypeObject() { return type; } - + /** - * @return Whether this parameter is an "ending parameter;" - * that is, whether this parameter is at a logical "ending - * point" in the completion text. If the user types in a - * parameter that is an ending point, parameter completion mode - * terminates. + * @return Whether this parameter is an "ending parameter;" that is, whether + * this parameter is at a logical "ending point" in the completion text. + * If the user types in a parameter that is an ending point, parameter + * completion mode terminates. */ public boolean isEndParam() { return isEndParam; } - + public void setDescription(String desc) { this.desc = desc; } - + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/org/fife/ui/autocomplete/ParameterizedCompletionChoicesWindow.java b/src/org/fife/ui/autocomplete/ParameterizedCompletionChoicesWindow.java index d7f9025..ea9deeb 100644 --- a/src/org/fife/ui/autocomplete/ParameterizedCompletionChoicesWindow.java +++ b/src/org/fife/ui/autocomplete/ParameterizedCompletionChoicesWindow.java @@ -28,17 +28,17 @@ import javax.swing.text.JTextComponent; import org.fife.ui.rsyntaxtextarea.PopupWindowDecorator; /** - * A small popup window offering a list of likely choices for a parameter - * when the user has code-completed a parameterized completion. For example, - * if they have just code-completed the C function "fprintf", - * when entering the file name, this popup might display all local variables - * of type "char *". + * A small popup window offering a list of likely choices for a parameter when + * the user has code-completed a parameterized completion. For example, if they + * have just code-completed the C function "fprintf", when entering + * the file name, this popup might display all local variables of type + * "char *". * * @author Robert Futrell * @version 1.0 */ public class ParameterizedCompletionChoicesWindow extends JWindow { - + /** * The parent AutoCompletion instance. */ @@ -60,22 +60,20 @@ public class ParameterizedCompletionChoicesWindow extends JWindow { */ private JScrollPane sp; /** - * Comparator used to sort completions by their relevance before sorting - * them lexicographically. + * Comparator used to sort completions by their relevance before sorting them + * lexicographically. */ private static final Comparator sortByRelevanceComparator = new SortByRelevanceComparator(); - + /** * Constructor. * - * @param parent - * The parent window (hosting the text component). - * @param ac - * The auto-completion instance. - * @param context - * The completion context. + * @param parent The parent window (hosting the text component). + * @param ac The auto-completion instance. + * @param context The completion context. */ - public ParameterizedCompletionChoicesWindow(Window parent, AutoCompletion ac, final ParameterizedCompletionContext context) { + public ParameterizedCompletionChoicesWindow(Window parent, AutoCompletion ac, + final ParameterizedCompletionContext context) { super(parent); this.ac = ac; ComponentOrientation o = ac.getTextComponentOrientation(); @@ -85,7 +83,7 @@ public class ParameterizedCompletionChoicesWindow extends JWindow { list.setCellRenderer(ac.getParamChoicesRenderer()); } list.addMouseListener(new MouseAdapter() { - + @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { @@ -103,23 +101,21 @@ public class ParameterizedCompletionChoicesWindow extends JWindow { decorator.decorate(this); } } - + /** * Returns the selected value. * - * @return The selected value, or null if nothing is - * selected. + * @return The selected value, or null if nothing is selected. */ public String getSelectedChoice() { Completion c = (Completion) list.getSelectedValue(); return c == null ? null : c.toString(); } - + /** * Changes the selected index. * - * @param amount - * The amount by which to change the selected index. + * @param amount The amount by which to change the selected index. */ public void incSelection(int amount) { int selection = list.getSelectedIndex(); @@ -133,14 +129,12 @@ public class ParameterizedCompletionChoicesWindow extends JWindow { list.setSelectedIndex(selection); list.ensureIndexIsVisible(selection); } - + /** - * Initializes this window to offer suggestions for the parameters of - * a specific completion. + * Initializes this window to offer suggestions for the parameters of a specific + * completion. * - * @param pc - * The completion whose parameters we should offer suggestions - * for. + * @param pc The completion whose parameters we should offer suggestions for. */ public void initialize(ParameterizedCompletion pc) { CompletionProvider provider = pc.getProvider(); @@ -158,12 +152,11 @@ public class ParameterizedCompletionChoicesWindow extends JWindow { choicesListList.add(choices); } } - + /** * Sets the location of this window relative to the given rectangle. * - * @param r - * The visual position of the caret (in screen coordinates). + * @param r The visual position of the caret (in screen coordinates). */ public void setLocationRelativeTo(Rectangle r) { // Multi-monitor support - make sure the completion window (and @@ -187,18 +180,16 @@ public class ParameterizedCompletionChoicesWindow extends JWindow { } setLocation(x, y); } - + /** - * Displays the choices for the specified parameter matching the given - * text. This will display or hide this popup window as necessary. + * Displays the choices for the specified parameter matching the given text. + * This will display or hide this popup window as necessary. * - * @param param - * The index of the parameter the caret is currently in. - * This may be -1 if not in a parameter (i.e., on - * the comma between parameters). - * @param prefix - * Text in the parameter before the dot. This may - * be null to represent the empty string. + * @param param The index of the parameter the caret is currently in. This may + * be -1 if not in a parameter (i.e., on the comma + * between parameters). + * @param prefix Text in the parameter before the dot. This may be + * null to represent the empty string. */ public void setParameter(int param, String prefix) { model.clear(); @@ -250,12 +241,11 @@ public class ParameterizedCompletionChoicesWindow extends JWindow { setVisible(false); } } - + /** * Toggles the visibility of this popup window. * - * @param visible - * Whether this window should be visible. + * @param visible Whether this window should be visible. */ @Override public void setVisible(boolean visible) { @@ -268,7 +258,7 @@ public class ParameterizedCompletionChoicesWindow extends JWindow { super.setVisible(visible); } } - + /** * Updates the LookAndFeel of this window. */ diff --git a/src/org/fife/ui/autocomplete/ParameterizedCompletionContext.java b/src/org/fife/ui/autocomplete/ParameterizedCompletionContext.java index 36114b3..4c44bb1 100644 --- a/src/org/fife/ui/autocomplete/ParameterizedCompletionContext.java +++ b/src/org/fife/ui/autocomplete/ParameterizedCompletionContext.java @@ -48,8 +48,8 @@ import org.fife.ui.rtextarea.ChangeableHighlightPainter; /** * Manages UI and state specific to parameterized completions - the parameter * description tool tip, the parameter completion choices list, the actual - * highlights in the editor, etc. This component installs new key bindings - * when appropriate to allow the user to cycle through the parameters of the + * highlights in the editor, etc. This component installs new key bindings when + * appropriate to allow the user to cycle through the parameters of the * completion, and optionally cycle through completion choices for those * parameters. * @@ -57,7 +57,7 @@ import org.fife.ui.rtextarea.ChangeableHighlightPainter; * @version 1.0 */ class ParameterizedCompletionContext { - + /** * The parent window. */ @@ -95,13 +95,13 @@ class ParameterizedCompletionContext { */ private Listener listener; /** - * The minimum offset into the document that the caret can move to - * before this tool tip disappears. + * The minimum offset into the document that the caret can move to before this + * tool tip disappears. */ private int minPos; /** - * The maximum offset into the document that the caret can move to - * before this tool tip disappears. + * The maximum offset into the document that the caret can move to before this + * tool tip disappears. */ private Position maxPos; // Moves with text inserted. private Position defaultEndOffs; @@ -140,7 +140,7 @@ class ParameterizedCompletionContext { private static final String IM_KEY_ESCAPE = "ParamCompKey.Escape"; private static final String IM_KEY_ENTER = "ParamCompKey.Enter"; private static final String IM_KEY_CLOSING = "ParamCompKey.Closing"; - + /** * Constructor. */ @@ -156,7 +156,7 @@ class ParameterizedCompletionContext { tags = new ArrayList(1); // Usually small paramCopyInfos = new ArrayList(1); } - + /** * Activates parameter completion support. * @@ -195,7 +195,7 @@ class ParameterizedCompletionContext { prepareParamChoicesWindow(); paramChoicesWindow.setVisible(true); } - + /** * Creates the completion window offering suggestions for parameters. * @@ -206,10 +206,9 @@ class ParameterizedCompletionContext { pcw.initialize(pc); return pcw; } - + /** - * Hides any popup windows and terminates parameterized completion - * assistance. + * Hides any popup windows and terminates parameterized completion assistance. * * @see #activate() */ @@ -226,15 +225,13 @@ class ParameterizedCompletionContext { paramChoicesWindow.setVisible(false); } } - + /** - * Returns the text inserted for the parameter containing the specified - * offset. + * Returns the text inserted for the parameter containing the specified offset. * - * @param offs - * The offset into the document. - * @return The text of the parameter containing the offset, or - * null if the offset is not in a parameter. + * @param offs The offset into the document. + * @return The text of the parameter containing the offset, or null + * if the offset is not in a parameter. */ public String getArgumentText(int offs) { List paramHighlights = getParameterHighlights(); @@ -258,12 +255,12 @@ class ParameterizedCompletionContext { } return null; } - + /** * Returns the highlight of the current parameter. * - * @return The current parameter's highlight, or null if - * the caret is not in a parameter's bounds. + * @return The current parameter's highlight, or null if the caret + * is not in a parameter's bounds. * @see #getCurrentParameterStartOffset() */ private Highlight getCurrentParameterHighlight() { @@ -280,7 +277,7 @@ class ParameterizedCompletionContext { } return null; } - + private int getCurrentParameterIndex() { JTextComponent tc = ac.getTextComponent(); int dot = tc.getCaretPosition(); @@ -296,27 +293,26 @@ class ParameterizedCompletionContext { } return -1; } - + /** * Returns the starting offset of the current parameter. * - * @return The current parameter's starting offset, or -1 if - * the caret is not in a parameter's bounds. + * @return The current parameter's starting offset, or -1 if the + * caret is not in a parameter's bounds. * @see #getCurrentParameterHighlight() */ private int getCurrentParameterStartOffset() { Highlight h = getCurrentParameterHighlight(); return h != null ? h.getStartOffset() + 1 : -1; } - + /** - * Returns the highlight from a list that comes "first" in a list. Even - * though most parameter highlights are ordered, sometimes they aren't - * (e.g. the "cursor" parameter in a template completion is always last, - * even though it can be anywhere in the template). + * Returns the highlight from a list that comes "first" in a list. Even though + * most parameter highlights are ordered, sometimes they aren't (e.g. the + * "cursor" parameter in a template completion is always last, even though it + * can be anywhere in the template). * - * @param highlights - * The list of highlights. Assumed to be non-empty. + * @param highlights The list of highlights. Assumed to be non-empty. * @return The highlight that comes first in the document. * @see #getLastHighlight(List) */ @@ -332,15 +328,14 @@ class ParameterizedCompletionContext { } return first; } - + /** - * Returns the highlight from a list that comes "last" in that list. Even - * though most parameter highlights are ordered, sometimes they aren't - * (e.g. the "cursor" parameter in a template completion is always last, - * even though it can be anywhere in the template. + * Returns the highlight from a list that comes "last" in that list. Even though + * most parameter highlights are ordered, sometimes they aren't (e.g. the + * "cursor" parameter in a template completion is always last, even though it + * can be anywhere in the template. * - * @param highlights - * The list of highlights. Assumed to be non-empty. + * @param highlights The list of highlights. Assumed to be non-empty. * @return The highlight that comes last in the document. * @see #getFirstHighlight(List) */ @@ -356,7 +351,7 @@ class ParameterizedCompletionContext { } return last; } - + public List getParameterHighlights() { List paramHighlights = new ArrayList(2); JTextComponent tc = ac.getTextComponent(); @@ -369,12 +364,12 @@ class ParameterizedCompletionContext { } return paramHighlights; } - + /** * Inserts the choice selected in the parameter choices window. * - * @return Whether the choice was inserted. This will be false - * if the window is not visible, or no choice is selected. + * @return Whether the choice was inserted. This will be false if + * the window is not visible, or no choice is selected. */ boolean insertSelectedChoice() { if (paramChoicesWindow != null && paramChoicesWindow.isVisible()) { @@ -396,10 +391,10 @@ class ParameterizedCompletionContext { } return false; } - + /** - * Installs key bindings on the text component that facilitate the user - * editing this completion's parameters. + * Installs key bindings on the text component that facilitate the user editing + * this completion's parameters. * * @see #uninstallKeyBindings() */ @@ -447,7 +442,7 @@ class ParameterizedCompletionContext { oldClosingAction = am.get(IM_KEY_CLOSING); am.put(IM_KEY_CLOSING, new ClosingAction()); } - + /** * Moves to and selects the next parameter. * @@ -486,7 +481,7 @@ class ParameterizedCompletionContext { tc.setSelectionEnd(currentNext.getEndOffset()); updateToolTipText(pos); } - + /** * Moves to and selects the previous parameter. * @@ -507,8 +502,8 @@ class ParameterizedCompletionContext { List highlights = getParameterHighlights(); for (int i = 0; i < highlights.size(); i++) { Highlight h = highlights.get(i); - if (currentPrev == null || currentPrev.getStartOffset() >= dot - || (h.getStartOffset() < selStart && (h.getStartOffset() > currentPrev.getStartOffset() || pos == lastSelectedParam))) { + if (currentPrev == null || currentPrev.getStartOffset() >= dot || (h.getStartOffset() < selStart + && (h.getStartOffset() > currentPrev.getStartOffset() || pos == lastSelectedParam))) { currentPrev = h; pos = i; } @@ -533,7 +528,7 @@ class ParameterizedCompletionContext { deactivate(); } } - + private void possiblyUpdateParamCopies(Document doc) { int index = getCurrentParameterIndex(); // FunctionCompletions add an extra param at end of inserted text @@ -567,7 +562,7 @@ class ParameterizedCompletionContext { deactivate(); } } - + /** * Updates the optional window listing likely completion choices, */ @@ -595,7 +590,7 @@ class ParameterizedCompletionContext { paramChoicesWindow.setParameter(lastSelectedParam, paramPrefix); } } - + /** * Removes the bounding boxes around parameters. */ @@ -611,19 +606,16 @@ class ParameterizedCompletionContext { } paramCopyInfos.clear(); } - + /** - * Replaces highlighted text with new text. Takes special care so that - * the highlight stays just around the newly-highlighted text, since - * Swing's Highlight classes are funny about insertions at - * their start offsets. + * Replaces highlighted text with new text. Takes special care so that the + * highlight stays just around the newly-highlighted text, since Swing's + * Highlight classes are funny about insertions at their start + * offsets. * - * @param doc - * The document. - * @param h - * The highlight whose text to change. - * @param replacement - * The new text to be in the highlight. + * @param doc The document. + * @param h The highlight whose text to change. + * @param replacement The new text to be in the highlight. * @return The replacement highlight for h. */ private Highlight replaceHighlightedText(Document doc, Highlight h, String replacement) { @@ -646,7 +638,7 @@ class ParameterizedCompletionContext { } return null; } - + /** * Removes the key bindings we installed. * @@ -682,11 +674,10 @@ class ParameterizedCompletionContext { im.put(ks, oldClosingKey); am.put(IM_KEY_CLOSING, oldClosingAction); } - + /** - * Updates the text in the tool tip to have the current parameter - * displayed in bold. The "current parameter" is determined from the - * current caret position. + * Updates the text in the tool tip to have the current parameter displayed in + * bold. The "current parameter" is determined from the current caret position. * * @return The "prefix" of text in the caret's parameter before the caret. */ @@ -718,7 +709,7 @@ class ParameterizedCompletionContext { updateToolTipText(index); return paramPrefix; } - + private void updateToolTipText(int selectedParam) { if (selectedParam != lastSelectedParam) { if (tip != null) { @@ -727,7 +718,7 @@ class ParameterizedCompletionContext { this.lastSelectedParam = selectedParam; } } - + /** * Updates the LookAndFeel of all popup windows this context * manages. @@ -740,12 +731,12 @@ class ParameterizedCompletionContext { paramChoicesWindow.updateUI(); } } - + /** * Called when the user presses Enter while entering parameters. */ private class GotoEndAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { // If the param choices window is visible and something is chosen, @@ -771,19 +762,19 @@ class ParameterizedCompletionContext { } } } - + private Action getDefaultEnterAction(JTextComponent tc) { ActionMap am = tc.getActionMap(); return am.get(DefaultEditorKit.insertBreakAction); } } - + /** - * Called when the user types the character marking the closing of the - * parameter list, such as ')'. + * Called when the user types the character marking the closing of the parameter + * list, such as ')'. */ private class ClosingAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { JTextComponent tc = ac.getTextComponent(); @@ -812,7 +803,7 @@ class ParameterizedCompletionContext { tc.replaceSelection(Character.toString(end)); } } - + public int getCount(String text, char ch) { int count = 0; int old = 0; @@ -824,12 +815,12 @@ class ParameterizedCompletionContext { return count; } } - + /** * Action performed when the user hits the escape key. */ private class HideAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { // On first escape press, if the param choices window is visible, @@ -844,20 +835,19 @@ class ParameterizedCompletionContext { } } } - + /** - * Listens for various events in the text component while this tool tip - * is visible. + * Listens for various events in the text component while this tool tip is + * visible. */ private class Listener implements FocusListener, CaretListener, DocumentListener { - + private boolean markOccurrencesEnabled; - + /** * Called when the text component's caret moves. * - * @param e - * The event. + * @param e The event. */ @Override public void caretUpdate(CaretEvent e) { @@ -875,37 +865,36 @@ class ParameterizedCompletionContext { prepareParamChoicesWindow(); } } - + @Override - public void changedUpdate(DocumentEvent e) {} - + public void changedUpdate(DocumentEvent e) { + } + /** * Called when the text component gains focus. * - * @param e - * The event. + * @param e The event. */ @Override public void focusGained(FocusEvent e) { // Do nothing } - + /** * Called when the text component loses focus. * - * @param e - * The event. + * @param e The event. */ @Override public void focusLost(FocusEvent e) { deactivate(); } - + private void handleDocumentEvent(final DocumentEvent e) { if (!ignoringDocumentEvents) { ignoringDocumentEvents = true; SwingUtilities.invokeLater(new Runnable() { - + @Override public void run() { possiblyUpdateParamCopies(e.getDocument()); @@ -914,17 +903,16 @@ class ParameterizedCompletionContext { }); } } - + @Override public void insertUpdate(DocumentEvent e) { handleDocumentEvent(e); } - + /** * Installs this listener onto a text component. * - * @param tc - * The text component to install onto. + * @param tc The text component to install onto. * @see #uninstall() */ public void install(JTextComponent tc) { @@ -950,7 +938,8 @@ class ParameterizedCompletionContext { } for (int i = 0; i < info.getReplacementCopyCount(); i++) { ReplacementCopy rc = info.getReplacementCopy(i); - paramCopyInfos.add(new ParamCopyInfo(rc.getId(), (Highlight) h.addHighlight(rc.getStart(), rc.getEnd(), paramCopyP))); + paramCopyInfos.add(new ParamCopyInfo(rc.getId(), + (Highlight) h.addHighlight(rc.getStart(), rc.getEnd(), paramCopyP))); } // Go back and start at the first parameter. tc.setCaretPosition(info.getSelectionStart()); @@ -981,12 +970,12 @@ class ParameterizedCompletionContext { tc.addFocusListener(this); installKeyBindings(); } - + @Override public void removeUpdate(DocumentEvent e) { handleDocumentEvent(e); } - + /** * Uninstalls this listener from the current text component. */ @@ -1005,21 +994,21 @@ class ParameterizedCompletionContext { removeParameterHighlights(); } } - + /** - * Action performed when the user presses the up or down arrow keys and - * the parameter completion choices popup is visible. + * Action performed when the user presses the up or down arrow keys and the + * parameter completion choices popup is visible. */ private class NextChoiceAction extends AbstractAction { - + private Action oldAction; private int amount; - + public NextChoiceAction(int amount, Action oldAction) { this.amount = amount; this.oldAction = oldAction; } - + @Override public void actionPerformed(ActionEvent e) { if (paramChoicesWindow != null && paramChoicesWindow.isVisible()) { @@ -1031,34 +1020,34 @@ class ParameterizedCompletionContext { } } } - + /** * Action performed when the user hits the tab key. */ private class NextParamAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { moveToNextParam(); } } - + private static class ParamCopyInfo { - + private String paramName; private Highlight h; - + public ParamCopyInfo(String paramName, Highlight h) { this.paramName = paramName; this.h = h; } } - + /** * Action performed when the user hits shift+tab. */ private class PrevParamAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { moveToPreviousParam(); diff --git a/src/org/fife/ui/autocomplete/ParameterizedCompletionDescriptionToolTip.java b/src/org/fife/ui/autocomplete/ParameterizedCompletionDescriptionToolTip.java index 7e5433a..5efc885 100644 --- a/src/org/fife/ui/autocomplete/ParameterizedCompletionDescriptionToolTip.java +++ b/src/org/fife/ui/autocomplete/ParameterizedCompletionDescriptionToolTip.java @@ -28,7 +28,7 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities; * @version 1.0 */ class ParameterizedCompletionDescriptionToolTip { - + /** * The actual tool tip. */ @@ -41,23 +41,21 @@ class ParameterizedCompletionDescriptionToolTip { * The completion being described. */ private ParameterizedCompletion pc; - + /** * Constructor. * - * @param owner - * The parent window. - * @param ac - * The parent auto-completion. - * @param pc - * The completion being described. + * @param owner The parent window. + * @param ac The parent auto-completion. + * @param pc The completion being described. */ - public ParameterizedCompletionDescriptionToolTip(Window owner, ParameterizedCompletionContext context, AutoCompletion ac, - ParameterizedCompletion pc) { + public ParameterizedCompletionDescriptionToolTip(Window owner, ParameterizedCompletionContext context, + AutoCompletion ac, ParameterizedCompletion pc) { tooltip = new JWindow(owner); this.pc = pc; descLabel = new JLabel(); - descLabel.setBorder(BorderFactory.createCompoundBorder(TipUtil.getToolTipBorder(), BorderFactory.createEmptyBorder(2, 5, 2, 5))); + descLabel.setBorder(BorderFactory.createCompoundBorder(TipUtil.getToolTipBorder(), + BorderFactory.createEmptyBorder(2, 5, 2, 5))); descLabel.setOpaque(true); descLabel.setBackground(TipUtil.getToolTipBackground()); // It appears that if a JLabel is set as a content pane directly, when @@ -77,7 +75,7 @@ class ParameterizedCompletionDescriptionToolTip { updateText(0); tooltip.setFocusableWindowState(false); } - + /** * Returns whether this tool tip is visible. * @@ -87,12 +85,11 @@ class ParameterizedCompletionDescriptionToolTip { public boolean isVisible() { return tooltip.isVisible(); } - + /** * Sets the location of this tool tip relative to the given rectangle. * - * @param r - * The visual position of the caret (in screen coordinates). + * @param r The visual position of the caret (in screen coordinates). */ public void setLocationRelativeTo(Rectangle r) { // Multi-monitor support - make sure the completion window (and @@ -119,24 +116,22 @@ class ParameterizedCompletionDescriptionToolTip { } tooltip.setLocation(x, y); } - + /** * Toggles the visibility of this tool tip. * - * @param visible - * Whether this tool tip should be visible. + * @param visible Whether this tool tip should be visible. * @see #isVisible() */ public void setVisible(boolean visible) { tooltip.setVisible(visible); } - + /** - * Updates the text in the tool tip to have the current parameter - * displayed in bold. + * Updates the text in the tool tip to have the current parameter displayed in + * bold. * - * @param selectedParam - * The index of the selected parameter. + * @param selectedParam The index of the selected parameter. * @return Whether the text needed to be updated. */ public boolean updateText(int selectedParam) { @@ -170,10 +165,9 @@ class ParameterizedCompletionDescriptionToolTip { tooltip.pack(); return true; } - + /** - * Updates the LookAndFeel of this window and the description - * window. + * Updates the LookAndFeel of this window and the description window. */ public void updateUI() { SwingUtilities.updateComponentTreeUI(tooltip); diff --git a/src/org/fife/ui/autocomplete/ParameterizedCompletionInsertionInfo.java b/src/org/fife/ui/autocomplete/ParameterizedCompletionInsertionInfo.java index acd48e8..e2b87fc 100644 --- a/src/org/fife/ui/autocomplete/ParameterizedCompletionInsertionInfo.java +++ b/src/org/fife/ui/autocomplete/ParameterizedCompletionInsertionInfo.java @@ -22,7 +22,7 @@ import org.fife.ui.rsyntaxtextarea.DocumentRange; * @version 1.0 */ class ParameterizedCompletionInsertionInfo { - + private int minOffs; private Position maxOffs; private int defaultEnd; @@ -31,26 +31,24 @@ class ParameterizedCompletionInsertionInfo { private String textToInsert; private List replacementLocations; private List replacementCopies; - + public ParameterizedCompletionInsertionInfo() { defaultEnd = -1; } - + public void addReplacementCopy(String id, int start, int end) { if (replacementCopies == null) { replacementCopies = new ArrayList(1); } replacementCopies.add(new ReplacementCopy(id, start, end)); } - + /** - * Marks a region of the replacement text as representing a variable name - * or some other construct that the user should replace. + * Marks a region of the replacement text as representing a variable name or + * some other construct that the user should replace. * - * @param start - * The start offset. - * @param end - * The end offset. + * @param start The start offset. + * @param end The end offset. * @see #getReplacementCount() * @see #getReplacementLocation(int) */ @@ -60,14 +58,14 @@ class ParameterizedCompletionInsertionInfo { } replacementLocations.add(new DocumentRange(start, end)); } - + public int getDefaultEndOffs() { return defaultEnd > -1 ? defaultEnd : getMaxOffset().getOffset(); } - + /** - * Returns the maximum offset the caret can move to before being outside - * of the text inserted for this completion. + * Returns the maximum offset the caret can move to before being outside of the + * text inserted for this completion. * * @return The maximum offset. * @see #getMinOffset() @@ -75,10 +73,10 @@ class ParameterizedCompletionInsertionInfo { public Position getMaxOffset() { return maxOffs; } - + /** - * Returns the minimum offset the caret can move to before being outside - * of the text inserted for this completion. + * Returns the minimum offset the caret can move to before being outside of the + * text inserted for this completion. * * @return The minimum offset. * @see #getMaxOffset() @@ -86,11 +84,11 @@ class ParameterizedCompletionInsertionInfo { public int getMinOffset() { return minOffs; } - + public int getReplacementCopyCount() { return replacementCopies == null ? 0 : replacementCopies.size(); } - + /** * Returns the number of replacements in the completion. * @@ -99,28 +97,27 @@ class ParameterizedCompletionInsertionInfo { public int getReplacementCount() { return replacementLocations == null ? 0 : replacementLocations.size(); } - + public ReplacementCopy getReplacementCopy(int index) { return replacementCopies.get(index); } - + /** - * Returns the starting- and ending-offsets of the replacement regions - * in the completion. + * Returns the starting- and ending-offsets of the replacement regions in the + * completion. * - * @param index - * The replacement region. + * @param index The replacement region. * @return The range in the document of that replacement region. * @see #getReplacementCount() */ public DocumentRange getReplacementLocation(int index) { return replacementLocations.get(index); } - + /** - * Returns the offset that should be the end of the initially selected - * text when the completion is inserted (i.e., the end offset of the first - * replacement region). + * Returns the offset that should be the end of the initially selected text when + * the completion is inserted (i.e., the end offset of the first replacement + * region). * * @return The end offset for the initial selection. * @see #getSelectionStart() @@ -128,11 +125,11 @@ class ParameterizedCompletionInsertionInfo { public int getSelectionEnd() { return selEnd; } - + /** - * Returns the offset that should be the start of the initially selected - * text when the completion is inserted (i.e., the start offset of the - * first replacement region). + * Returns the offset that should be the start of the initially selected text + * when the completion is inserted (i.e., the start offset of the first + * replacement region). * * @return The start offset for the initial selection. * @see #getSelectionEnd() @@ -140,7 +137,7 @@ class ParameterizedCompletionInsertionInfo { public int getSelectionStart() { return selStart; } - + /** * Returns the actual text to insert when the completion is selected. * @@ -150,24 +147,22 @@ class ParameterizedCompletionInsertionInfo { public String getTextToInsert() { return textToInsert; } - + /** - * Returns whether or not there is an initial selected region for the - * completion (i.e., whether the completion actually has any parameters). + * Returns whether or not there is an initial selected region for the completion + * (i.e., whether the completion actually has any parameters). * * @return Whether there is a region to initially select for the completion. */ public boolean hasSelection() { return selEnd != selStart; } - + /** * Sets the initially selected region for the completion. * - * @param selStart - * The selection start. - * @param selEnd - * The selection end. + * @param selStart The selection start. + * @param selEnd The selection end. * @see #getSelectionEnd() * @see #getSelectionStart() */ @@ -175,16 +170,14 @@ class ParameterizedCompletionInsertionInfo { this.selStart = selStart; this.selEnd = selEnd; } - + /** - * Sets the document range the caret can move around in before being - * outside of the text inserted for the completion. + * Sets the document range the caret can move around in before being outside of + * the text inserted for the completion. * - * @param minOffs - * The minimum offset. - * @param maxOffs - * The maximum offset, that will track its location as the - * document is modified. + * @param minOffs The minimum offset. + * @param maxOffs The maximum offset, that will track its location as the + * document is modified. * @see #getMinOffset() * @see #getMaxOffset() */ @@ -192,42 +185,41 @@ class ParameterizedCompletionInsertionInfo { this.minOffs = minOffs; this.maxOffs = maxOffs; } - + public void setDefaultEndOffs(int end) { defaultEnd = end; } - + /** * Sets the text to insert for the completion. * - * @param text - * The text to insert. + * @param text The text to insert. * @see #getTextToInsert() */ public void setTextToInsert(String text) { this.textToInsert = text; } - + public static class ReplacementCopy { - + private String id; private int start; private int end; - + public ReplacementCopy(String id, int start, int end) { this.id = id; this.start = start; this.end = end; } - + public int getEnd() { return end; } - + public String getId() { return id; } - + public int getStart() { return start; } diff --git a/src/org/fife/ui/autocomplete/RoundRobinAutoCompletion.java b/src/org/fife/ui/autocomplete/RoundRobinAutoCompletion.java index add9e17..6a540ec 100644 --- a/src/org/fife/ui/autocomplete/RoundRobinAutoCompletion.java +++ b/src/org/fife/ui/autocomplete/RoundRobinAutoCompletion.java @@ -14,8 +14,8 @@ import javax.swing.Action; /** * An AutoCompletion that adds the ability to cycle through a set * of CompletionProviders via the trigger key. This allows the - * application to logically "group together" completions of similar kinds; - * for example, Java code completions vs. template completions. + * application to logically "group together" completions of similar kinds; for + * example, Java code completions vs. template completions. *

    * * Usage: @@ -33,15 +33,14 @@ import javax.swing.Action; * @author mschlegel */ public class RoundRobinAutoCompletion extends AutoCompletion { - + /** The List of CompletionProviders to use */ private List cycle = new ArrayList(); - + /** * Constructor. * - * @param provider - * A single completion provider. + * @param provider A single completion provider. * @see #addCompletionProvider(CompletionProvider) */ public RoundRobinAutoCompletion(CompletionProvider provider) { @@ -58,25 +57,24 @@ public class RoundRobinAutoCompletion extends AutoCompletion { // chosen. setAutoCompleteSingleChoices(false); } - + /** - * Adds an additional CompletionProvider to the list to - * cycle through. + * Adds an additional CompletionProvider to the list to cycle + * through. * - * @param provider - * The new completion provider. + * @param provider The new completion provider. */ public void addCompletionProvider(CompletionProvider provider) { cycle.add(provider); } - + /** - * Moves to the next Provider internally. Needs refresh of the popup window - * to display the changes. + * Moves to the next Provider internally. Needs refresh of the popup window to + * display the changes. * - * @return true if the next provider was the default one (thus returned to - * the default view). May be used in case you like to hide the - * popup in this case. + * @return true if the next provider was the default one (thus returned to the + * default view). May be used in case you like to hide the popup in this + * case. */ public boolean advanceProvider() { CompletionProvider currentProvider = getCompletionProvider(); @@ -84,7 +82,7 @@ public class RoundRobinAutoCompletion extends AutoCompletion { setCompletionProvider(cycle.get(i)); return i == 0; } - + /** * Overridden to provide our own implementation of the action. */ @@ -92,7 +90,7 @@ public class RoundRobinAutoCompletion extends AutoCompletion { protected Action createAutoCompleteAction() { return new CycleAutoCompleteAction(); } - + /** * Resets the cycle to use the default provider on next refresh. */ @@ -103,14 +101,14 @@ public class RoundRobinAutoCompletion extends AutoCompletion { setCompletionProvider(defaultProvider); } } - + /** * An implementation of the auto-complete action that ensures the proper - * CompletionProvider is displayed based on the context in - * which the user presses the trigger key. + * CompletionProvider is displayed based on the context in which + * the user presses the trigger key. */ private class CycleAutoCompleteAction extends AutoCompleteAction { - + @Override public void actionPerformed(ActionEvent e) { if (isAutoCompleteEnabled()) { diff --git a/src/org/fife/ui/autocomplete/ShorthandCompletion.java b/src/org/fife/ui/autocomplete/ShorthandCompletion.java index 81e6c6d..ba6f81e 100644 --- a/src/org/fife/ui/autocomplete/ShorthandCompletion.java +++ b/src/org/fife/ui/autocomplete/ShorthandCompletion.java @@ -17,68 +17,58 @@ package org.fife.ui.autocomplete; * @version 1.0 */ public class ShorthandCompletion extends BasicCompletion { - + /** * The text the user can start typing that will match this completion. */ private String inputText; - + /** * Constructor. * - * @param provider - * The provider that returns this completion. - * @param inputText - * The text the user inputs to get this completion. - * @param replacementText - * The replacement text of the completion. + * @param provider The provider that returns this completion. + * @param inputText The text the user inputs to get this completion. + * @param replacementText The replacement text of the completion. */ public ShorthandCompletion(CompletionProvider provider, String inputText, String replacementText) { super(provider, replacementText); this.inputText = inputText; } - + /** * Constructor. * - * @param provider - * The provider that returns this completion. - * @param inputText - * The text the user inputs to get this completion. - * @param replacementText - * The replacement text of the completion. - * @param shortDesc - * A short description of the completion. This will be - * displayed in the completion list. This may be - * null. + * @param provider The provider that returns this completion. + * @param inputText The text the user inputs to get this completion. + * @param replacementText The replacement text of the completion. + * @param shortDesc A short description of the completion. This will be + * displayed in the completion list. This may be + * null. */ - public ShorthandCompletion(CompletionProvider provider, String inputText, String replacementText, String shortDesc) { + public ShorthandCompletion(CompletionProvider provider, String inputText, String replacementText, + String shortDesc) { super(provider, replacementText, shortDesc); this.inputText = inputText; } - + /** * Constructor. * - * @param provider - * The provider that returns this completion. - * @param inputText - * The text the user inputs to get this completion. - * @param replacementText - * The replacement text of the completion. - * @param shortDesc - * A short description of the completion. This will be - * displayed in the completion list. This may be - * null. - * @param summary - * The summary of this completion. This should be HTML. - * This may be null. + * @param provider The provider that returns this completion. + * @param inputText The text the user inputs to get this completion. + * @param replacementText The replacement text of the completion. + * @param shortDesc A short description of the completion. This will be + * displayed in the completion list. This may be + * null. + * @param summary The summary of this completion. This should be HTML. + * This may be null. */ - public ShorthandCompletion(CompletionProvider provider, String inputText, String replacementText, String shortDesc, String summary) { + public ShorthandCompletion(CompletionProvider provider, String inputText, String replacementText, String shortDesc, + String summary) { super(provider, replacementText, shortDesc, summary); this.inputText = inputText; } - + /** * Returns the text the user must start typing to get this completion. * @@ -88,13 +78,12 @@ public class ShorthandCompletion extends BasicCompletion { public String getInputText() { return inputText; } - + /** * If a summary has been set, that summary is returned. Otherwise, the * replacement text is returned. * - * @return A description of this completion (the text that will be - * inserted). + * @return A description of this completion (the text that will be inserted). * @see #getReplacementText() */ @Override @@ -102,11 +91,11 @@ public class ShorthandCompletion extends BasicCompletion { String summary = super.getSummary(); return summary != null ? summary : ("" + getSummaryBody()); } - + /** - * Returns the "body" of the HTML returned by {@link #getSummary()} when - * no summary text has been set. This is defined to return the replacement - * text in a monospaced font. + * Returns the "body" of the HTML returned by {@link #getSummary()} when no + * summary text has been set. This is defined to return the replacement text in + * a monospaced font. * * @return The summary text's body, if no other summary has been defined. * @see #getReplacementText() diff --git a/src/org/fife/ui/autocomplete/SizeGrip.java b/src/org/fife/ui/autocomplete/SizeGrip.java index 6ee35ed..ce5959b 100644 --- a/src/org/fife/ui/autocomplete/SizeGrip.java +++ b/src/org/fife/ui/autocomplete/SizeGrip.java @@ -37,32 +37,31 @@ import javax.swing.event.MouseInputAdapter; * @version 1.0 */ class SizeGrip extends JPanel { - + /** * The size grip to use if we're on OS X. */ private Image osxSizeGrip; - + public SizeGrip() { MouseHandler adapter = new MouseHandler(); addMouseListener(adapter); addMouseMotionListener(adapter); setPreferredSize(new Dimension(16, 16)); } - + /** - * Overridden to ensure that the cursor for this component is appropriate - * for the orientation. + * Overridden to ensure that the cursor for this component is appropriate for + * the orientation. * - * @param o - * The new orientation. + * @param o The new orientation. */ @Override public void applyComponentOrientation(ComponentOrientation o) { possiblyFixCursor(o.isLeftToRight()); super.applyComponentOrientation(o); } - + /** * Creates and returns the OS X size grip image. * @@ -94,12 +93,11 @@ class SizeGrip extends JPanel { } return image; } - + /** * Paints this panel. * - * @param g - * The graphics context. + * @param g The graphics context. */ @Override protected void paintComponent(Graphics g) { @@ -147,13 +145,12 @@ class SizeGrip extends JPanel { g.fillRect(2, height - 9, 2, 2); } } - + /** * Ensures that the cursor for this component is appropriate for the * orientation. * - * @param ltr - * Whether the current component orientation is LTR. + * @param ltr Whether the current component orientation is LTR. */ protected void possiblyFixCursor(boolean ltr) { int cursor = Cursor.NE_RESIZE_CURSOR; @@ -164,7 +161,7 @@ class SizeGrip extends JPanel { setCursor(Cursor.getPredefinedCursor(cursor)); } } - + @Override public void updateUI() { super.updateUI(); @@ -178,21 +175,21 @@ class SizeGrip extends JPanel { osxSizeGrip = null; } } - + /** * Listens for mouse events on this panel and resizes the parent window * appropriately. */ /* - * NOTE: We use SwingUtilities.convertPointToScreen() instead of just using - * the locations relative to the corner component because the latter proved - * buggy - stretch the window too wide and some kind of arithmetic error - * started happening somewhere - our window would grow way too large. + * NOTE: We use SwingUtilities.convertPointToScreen() instead of just using the + * locations relative to the corner component because the latter proved buggy - + * stretch the window too wide and some kind of arithmetic error started + * happening somewhere - our window would grow way too large. */ private class MouseHandler extends MouseInputAdapter { - + private Point origPos; - + @Override public void mouseDragged(MouseEvent e) { Point newPos = e.getPoint(); @@ -222,13 +219,13 @@ class SizeGrip extends JPanel { } origPos.setLocation(newPos); } - + @Override public void mousePressed(MouseEvent e) { origPos = e.getPoint(); SwingUtilities.convertPointToScreen(origPos, SizeGrip.this); } - + @Override public void mouseReleased(MouseEvent e) { origPos = null; diff --git a/src/org/fife/ui/autocomplete/SortByRelevanceComparator.java b/src/org/fife/ui/autocomplete/SortByRelevanceComparator.java index 09c32b0..c09d855 100644 --- a/src/org/fife/ui/autocomplete/SortByRelevanceComparator.java +++ b/src/org/fife/ui/autocomplete/SortByRelevanceComparator.java @@ -10,14 +10,14 @@ package org.fife.ui.autocomplete; import java.util.Comparator; /** - * Compares two Completions by their relevance before - * sorting them lexicographically. + * Compares two Completions by their relevance before sorting them + * lexicographically. * * @author Robert Futrell * @version 1.0 */ public class SortByRelevanceComparator implements Comparator { - + @Override public int compare(Completion c1, Completion c2) { int rel1 = c1.getRelevance(); diff --git a/src/org/fife/ui/autocomplete/TemplateCompletion.java b/src/org/fife/ui/autocomplete/TemplateCompletion.java index 29b4c71..8e0f4ee 100644 --- a/src/org/fife/ui/autocomplete/TemplateCompletion.java +++ b/src/org/fife/ui/autocomplete/TemplateCompletion.java @@ -37,12 +37,12 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities; * } * * - * In the above example, the first ${i} is a parameter for the - * user to type into; all the other ${i} instances are - * automatically changed to what the user types in the first one. The parameter - * named ${cursor} is the "ending position" of the template. It's - * where the caret moves after it cycles through all other parameters. If the - * user types into it, template mode terminates. If more than one + * In the above example, the first ${i} is a parameter for the user + * to type into; all the other ${i} instances are automatically + * changed to what the user types in the first one. The parameter named + * ${cursor} is the "ending position" of the template. It's where + * the caret moves after it cycles through all other parameters. If the user + * types into it, template mode terminates. If more than one * ${cursor} parameter is specified, behavior is undefined. *

    * @@ -51,15 +51,15 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities; * fault-tolerant. *

    * - * Leading whitespace is automatically added to lines if the template spans - * more than one line, and if used with a text component using a + * Leading whitespace is automatically added to lines if the template spans more + * than one line, and if used with a text component using a * PlainDocument, tabs will be converted to spaces if requested. * * @author Robert Futrell * @version 1.0 */ public class TemplateCompletion extends AbstractCompletion implements ParameterizedCompletion { - + private List pieces; private String inputText; private String definitionString; @@ -69,11 +69,11 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri * The template's parameters. */ private List params; - + public TemplateCompletion(CompletionProvider provider, String inputText, String definitionString, String template) { this(provider, inputText, definitionString, template, null, null); } - + public TemplateCompletion(CompletionProvider provider, String inputText, String definitionString, String template, String shortDescription, String summary) { super(provider); @@ -85,7 +85,7 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri params = new ArrayList(3); parse(template); } - + private void addTemplatePiece(TemplatePiece piece) { pieces.add(piece); if (piece instanceof Param && !"cursor".equals(piece.getText())) { @@ -94,12 +94,12 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri params.add(param); } } - + @Override public String getInputText() { return inputText; } - + private String getPieceText(int index, String leadingWS) { TemplatePiece piece = pieces.get(index); String text = piece.getText(); @@ -108,10 +108,10 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri } return text; } - + /** - * Returns null; template completions insert all of their - * text via getInsertionInfo(). + * Returns null; template completions insert all of their text via + * getInsertionInfo(). * * @return null always. */ @@ -119,21 +119,21 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri public String getReplacementText() { return null; } - + @Override public String getSummary() { return summary; } - + @Override public String getDefinitionString() { return definitionString; } - + public String getShortDescription() { return shortDescription; } - + /** * {@inheritDoc} */ @@ -141,7 +141,7 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri public boolean getShowParameterToolTip() { return false; } - + @Override public ParameterizedCompletionInsertionInfo getInsertionInfo(JTextComponent tc, boolean replaceTabsWithSpaces) { ParameterizedCompletionInsertionInfo info = new ParameterizedCompletionInsertionInfo(); @@ -214,7 +214,7 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri info.setTextToInsert(sb.toString()); return info; } - + /** * {@inheritDoc} */ @@ -222,7 +222,7 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri public Parameter getParam(int index) { return params.get(index); } - + /** * {@inheritDoc} */ @@ -230,12 +230,11 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri public int getParamCount() { return params == null ? 0 : params.size(); } - + /** * Returns whether a parameter is already defined with a specific name. * - * @param name - * The name. + * @param name The name. * @return Whether a parameter is defined with that name. */ private boolean isParamDefined(String name) { @@ -247,12 +246,11 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri } return false; } - + /** * Parses a template string into logical pieces used by this class. * - * @param template - * The template to parse. + * @param template The template to parse. */ private void parse(String template) { int offs = 0; @@ -260,23 +258,23 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri while ((offs = template.indexOf('$', lastOffs)) > -1 && offs < template.length() - 1) { char next = template.charAt(offs + 1); switch (next) { - case '$': // "$$" => escaped single dollar sign - addTemplatePiece(new TemplatePiece.Text(template.substring(lastOffs, offs + 1))); - lastOffs = offs + 2; - break; - case '{': // "${...}" => variable - int closingCurly = template.indexOf('}', offs + 2); - if (closingCurly > -1) { - addTemplatePiece(new TemplatePiece.Text(template.substring(lastOffs, offs))); - String varName = template.substring(offs + 2, closingCurly); - if (!"cursor".equals(varName) && isParamDefined(varName)) { - addTemplatePiece(new TemplatePiece.ParamCopy(varName)); - } else { - addTemplatePiece(new TemplatePiece.Param(varName)); - } - lastOffs = closingCurly + 1; + case '$': // "$$" => escaped single dollar sign + addTemplatePiece(new TemplatePiece.Text(template.substring(lastOffs, offs + 1))); + lastOffs = offs + 2; + break; + case '{': // "${...}" => variable + int closingCurly = template.indexOf('}', offs + 2); + if (closingCurly > -1) { + addTemplatePiece(new TemplatePiece.Text(template.substring(lastOffs, offs))); + String varName = template.substring(offs + 2, closingCurly); + if (!"cursor".equals(varName) && isParamDefined(varName)) { + addTemplatePiece(new TemplatePiece.ParamCopy(varName)); + } else { + addTemplatePiece(new TemplatePiece.Param(varName)); } - break; + lastOffs = closingCurly + 1; + } + break; } } if (lastOffs < template.length()) { @@ -284,7 +282,7 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri addTemplatePiece(new TemplatePiece.Text(text)); } } - + private int possiblyReplaceTabsWithSpaces(StringBuilder sb, String text, JTextComponent tc, int start) { int tab = text.indexOf('\t'); if (tab > -1) { @@ -315,18 +313,17 @@ public class TemplateCompletion extends AbstractCompletion implements Parameteri } return start; } - + /** * Sets the short description of this template completion. * - * @param shortDesc - * The new short description. + * @param shortDesc The new short description. * @see #getShortDescription() */ public void setShortDescription(String shortDesc) { this.shortDescription = shortDesc; } - + @Override public String toString() { return getDefinitionString(); diff --git a/src/org/fife/ui/autocomplete/TemplatePiece.java b/src/org/fife/ui/autocomplete/TemplatePiece.java index 449aa19..591bf97 100644 --- a/src/org/fife/ui/autocomplete/TemplatePiece.java +++ b/src/org/fife/ui/autocomplete/TemplatePiece.java @@ -7,68 +7,68 @@ package org.fife.ui.autocomplete; /** - * A piece of a TemplateCompletion. You add instances of this - * class to template completions to define them. + * A piece of a TemplateCompletion. You add instances of this class + * to template completions to define them. * * @author Robert Futrell * @version 1.0 * @see TemplateCompletion */ interface TemplatePiece { - + String getText(); - + public class Text implements TemplatePiece { - + private String text; - + public Text(String text) { this.text = text; } - + @Override public String getText() { return text; } - + @Override public String toString() { return "[TemplatePiece.Text: text=" + text + "]"; } } - + public class Param implements TemplatePiece { - + String text; - + public Param(String text) { this.text = text; } - + @Override public String getText() { return text; } - + @Override public String toString() { return "[TemplatePiece.Param: param=" + text + "]"; } } - + public class ParamCopy implements TemplatePiece { - + private String text; - + public ParamCopy(String text) { this.text = text; } - + @Override public String getText() { return text; } - + @Override public String toString() { return "[TemplatePiece.ParamCopy: param=" + text + "]"; diff --git a/src/org/fife/ui/autocomplete/TipUtil.java b/src/org/fife/ui/autocomplete/TipUtil.java index dc1ee2c..e01a8d5 100644 --- a/src/org/fife/ui/autocomplete/TipUtil.java +++ b/src/org/fife/ui/autocomplete/TipUtil.java @@ -22,17 +22,18 @@ import javax.swing.text.html.HTMLDocument; * Static utility methods for homemade tool tips. *

    * - * This is blatantly ripped off from RSyntaxTextArea's "FocusableTips" class - * of the same name, but isn't re-used to prevent a hard dependency on the - * RSTA library. + * This is blatantly ripped off from RSyntaxTextArea's "FocusableTips" class of + * the same name, but isn't re-used to prevent a hard dependency on the RSTA + * library. * * @author Robert Futrell * @version 1.0 */ class TipUtil { - - private TipUtil() {} - + + private TipUtil() { + } + /** * Returns the default background color to use for tool tip windows. * @@ -55,7 +56,7 @@ class TipUtil { } return c; } - + /** * Returns the border used by tool tips in this look and feel. * @@ -71,21 +72,20 @@ class TipUtil { } return border; } - + /** - * Returns whether a color is a Nimbus DerivedColor, which is troublesome - * in that it doesn't use its RGB values (uses HSB instead?) and so - * querying them is useless. + * Returns whether a color is a Nimbus DerivedColor, which is troublesome in + * that it doesn't use its RGB values (uses HSB instead?) and so querying them + * is useless. * - * @param c - * The color to check. + * @param c The color to check. * @return Whether it is a DerivedColor */ private static final boolean isDerivedColor(Color c) { - return c != null - && (c.getClass().getName().endsWith(".DerivedColor") || c.getClass().getName().endsWith(".DerivedColor$UIResource")); + return c != null && (c.getClass().getName().endsWith(".DerivedColor") + || c.getClass().getName().endsWith(".DerivedColor$UIResource")); } - + /** * Returns whether the Nimbus Look and Feel is installed. * @@ -94,14 +94,13 @@ class TipUtil { private static final boolean isNimbusLookAndFeel() { return UIManager.getLookAndFeel().getName().equals("Nimbus"); } - + /** - * Tweaks a JEditorPane so it can be used to render the - * content in a focusable pseudo-tool tip. It is assumed that the editor - * pane is using an HTMLDocument. + * Tweaks a JEditorPane so it can be used to render the content in + * a focusable pseudo-tool tip. It is assumed that the editor pane is using an + * HTMLDocument. * - * @param textArea - * The editor pane to tweak. + * @param textArea The editor pane to tweak. */ public static void tweakTipEditorPane(JEditorPane textArea) { // Jump through a few hoops to get things looking nice in Nimbus @@ -134,8 +133,8 @@ class TipUtil { font = new Font("SansSerif", Font.PLAIN, 12); } HTMLDocument doc = (HTMLDocument) textArea.getDocument(); - doc.getStyleSheet().addRule("body { font-family: " + font.getFamily() + "; font-size: " + font.getSize() + "pt" + "; color: " - + Util.getHexString(fg) + "; }"); + doc.getStyleSheet().addRule("body { font-family: " + font.getFamily() + "; font-size: " + font.getSize() + "pt" + + "; color: " + Util.getHexString(fg) + "; }"); // Always add link foreground rule. Unfortunately these CSS rules // stack each time the LaF is changed (how can we overwrite them // without clearing out the important "standard" ones?). diff --git a/src/org/fife/ui/autocomplete/Util.java b/src/org/fife/ui/autocomplete/Util.java index 2788edb..ecc271e 100644 --- a/src/org/fife/ui/autocomplete/Util.java +++ b/src/org/fife/ui/autocomplete/Util.java @@ -28,31 +28,31 @@ import org.fife.ui.rsyntaxtextarea.PopupWindowDecorator; * @version 1.0 */ public class Util { - + /** - * If a system property is defined with this name and set, ignoring case, - * to true, this library will not attempt to use Substance - * renderers. Otherwise, if a Substance Look and Feel is installed, we - * will attempt to use Substance cell renderers in all of our dropdowns. + * If a system property is defined with this name and set, ignoring case, to + * true, this library will not attempt to use Substance renderers. + * Otherwise, if a Substance Look and Feel is installed, we will attempt to use + * Substance cell renderers in all of our dropdowns. *

    * - * Note that we do not have a build dependency on Substance, so all access - * to Substance stuff is done via reflection. We will fall back onto - * default renderers if something goes horribly wrong. + * Note that we do not have a build dependency on Substance, so all access to + * Substance stuff is done via reflection. We will fall back onto default + * renderers if something goes horribly wrong. */ public static final String PROPERTY_DONT_USE_SUBSTANCE_RENDERERS = "org.fife.ui.autocomplete.DontUseSubstanceRenderers"; /** * If this system property is true, then even the "main" two * auto-complete windows will allow window decorations via * {@link PopupWindowDecorator}. If this property is undefined or - * false, they won't honor such decorations. This is due to - * certain performance issues with translucent windows (used for drop - * shadows), even as of Java 7u2. + * false, they won't honor such decorations. This is due to certain + * performance issues with translucent windows (used for drop shadows), even as + * of Java 7u2. */ public static final String PROPERTY_ALLOW_DECORATED_AUTOCOMPLETE_WINDOWS = "org.fife.ui.autocomplete.allowDecoratedAutoCompleteWindows"; /** - * Used for the color of hyperlinks when a LookAndFeel uses light text - * against a dark background. + * Used for the color of hyperlinks when a LookAndFeel uses light text against a + * dark background. */ private static final Color LIGHT_HYPERLINK_FG = new Color(0xd8ffff); private static final Pattern TAG_PATTERN = Pattern.compile("<[^>]*>"); @@ -60,15 +60,14 @@ public class Util { private static boolean desktopCreationAttempted; private static Object desktop; private static final Object LOCK_DESKTOP_CREATION = new Object(); - + /** * Attempts to open a web browser to the specified URI. * - * @param uri - * The URI to open. If this is null, nothing - * happens and this method returns false. - * @return Whether the operation was successful. This will be - * false on JRE's older than 1.6. + * @param uri The URI to open. If this is null, nothing happens and + * this method returns false. + * @return Whether the operation was successful. This will be false + * on JRE's older than 1.6. */ public static boolean browse(URI uri) { boolean success = false; @@ -88,11 +87,11 @@ public class Util { } return success; } - + /** * Returns the singleton java.awt.Desktop instance, or - * null if it is unsupported on this platform (or the JRE - * is older than 1.6). + * null if it is unsupported on this platform (or the JRE is older + * than 1.6). * * @return The desktop, as an {@link Object}. */ @@ -117,14 +116,13 @@ public class Util { } return desktop; } - + /** * Returns a hex string for the specified color, suitable for HTML. * - * @param c - * The color. - * @return The string representation, in the form "#rrggbb", - * or null if c is null. + * @param c The color. + * @return The string representation, in the form "#rrggbb", or + * null if c is null. */ public static String getHexString(Color c) { if (c == null) { @@ -150,12 +148,12 @@ public class Util { sb.append(Integer.toHexString(b)); return sb.toString(); } - + /** - * Returns the color to use for hyperlink-style components. This method - * will return Color.blue unless it appears that the current - * LookAndFeel uses light text on a dark background, in which case a - * brighter alternative is returned. + * Returns the color to use for hyperlink-style components. This method will + * return Color.blue unless it appears that the current LookAndFeel + * uses light text on a dark background, in which case a brighter alternative is + * returned. * * @return The color to use for hyperlinks. */ @@ -168,16 +166,14 @@ public class Util { } return isLightForeground(fg) ? LIGHT_HYPERLINK_FG : Color.blue; } - + /** - * Returns the screen coordinates for the monitor that contains the - * specified point. This is useful for setups with multiple monitors, - * to ensure that popup windows are positioned properly. + * Returns the screen coordinates for the monitor that contains the specified + * point. This is useful for setups with multiple monitors, to ensure that popup + * windows are positioned properly. * - * @param x - * The x-coordinate, in screen coordinates. - * @param y - * The y-coordinate, in screen coordinates. + * @param x The x-coordinate, in screen coordinates. + * @param y The y-coordinate, in screen coordinates. * @return The bounds of the monitor that contains the specified point. */ public static Rectangle getScreenBoundsForPoint(int x, int y) { @@ -193,12 +189,12 @@ public class Util { // If point is outside all monitors, default to default monitor (?) return env.getMaximumWindowBounds(); } - + /** - * Give apps a chance to decorate us with drop shadows, etc. Since very - * scrolly things such as lists (of e.g. completions) are *very* slow when - * in per-pixel translucent windows, even as of Java 7u2, we force the user - * to specify an extra option for the two "main" auto-complete windows. + * Give apps a chance to decorate us with drop shadows, etc. Since very scrolly + * things such as lists (of e.g. completions) are *very* slow when in per-pixel + * translucent windows, even as of Java 7u2, we force the user to specify an + * extra option for the two "main" auto-complete windows. * * @return Whether to allow decorating the main auto-complete windows. * @see #PROPERTY_ALLOW_DECORATED_AUTOCOMPLETE_WINDOWS @@ -210,40 +206,37 @@ public class Util { return false; } } - + /** - * Returns whether we should attempt to use Substance cell renderers and - * styles for things such as completion choices, if a Substance Look and - * Feel is installed. If this is false, we'll use our - * standard rendering for completions, even when Substance is being used. + * Returns whether we should attempt to use Substance cell renderers and styles + * for things such as completion choices, if a Substance Look and Feel is + * installed. If this is false, we'll use our standard rendering + * for completions, even when Substance is being used. * * @return Whether to use Substance renderers if Substance is installed. */ public static boolean getUseSubstanceRenderers() { return useSubstanceRenderers; } - + /** - * Returns whether the specified color is "light" to use as a foreground. - * Colors that return true indicate that the current Look and - * Feel probably uses light text colors on a dark background. + * Returns whether the specified color is "light" to use as a foreground. Colors + * that return true indicate that the current Look and Feel + * probably uses light text colors on a dark background. * - * @param fg - * The foreground color. + * @param fg The foreground color. * @return Whether it is a "light" foreground color. */ public static final boolean isLightForeground(Color fg) { return fg.getRed() > 0xa0 && fg.getGreen() > 0xa0 && fg.getBlue() > 0xa0; } - + /** - * Returns whether a string starts with a specified prefix, ignoring case. - * This method does not support characters outside of the BMP. + * Returns whether a string starts with a specified prefix, ignoring case. This + * method does not support characters outside of the BMP. * - * @param str - * The string to check. This cannot be {@code null}. - * @param prefix - * The prefix to check for. This cannot be {@code null}. + * @param str The string to check. This cannot be {@code null}. + * @param prefix The prefix to check for. This cannot be {@code null}. * @return Whether {@code str} starts with {@code prefix}, ignoring case. */ public static boolean startsWithIgnoreCase(String str, String prefix) { @@ -253,13 +246,12 @@ public class Util { } return false; } - + /** * Strips any HTML from a string. The string must start with * "<html>" for markup tags to be stripped. * - * @param text - * The string. + * @param text The string. * @return The string, with any HTML stripped. */ public static String stripHtml(String text) { @@ -269,7 +261,7 @@ public class Util { // TODO: Micro-optimize me, might be called in renderers and loops return TAG_PATTERN.matcher(text).replaceAll(""); } - + static { boolean use = true; try { diff --git a/src/org/fife/ui/autocomplete/VariableCompletion.java b/src/org/fife/ui/autocomplete/VariableCompletion.java index 5ae22fa..46b39f2 100644 --- a/src/org/fife/ui/autocomplete/VariableCompletion.java +++ b/src/org/fife/ui/autocomplete/VariableCompletion.java @@ -13,16 +13,16 @@ import javax.swing.text.JTextComponent; *

    * * This completion type uses its shortDescription property as part of - * its summary returned by {@link #getSummary()}; for this reason, it may be - * a little longer (even much longer), if desired, than what is recommended - * for BasicCompletions (where the shortDescription is used - * in {@link #toString()} for ListCellRenderers). + * its summary returned by {@link #getSummary()}; for this reason, it may be a + * little longer (even much longer), if desired, than what is recommended for + * BasicCompletions (where the shortDescription is used in + * {@link #toString()} for ListCellRenderers). * * @author Robert Futrell * @version 1.0 */ public class VariableCompletion extends BasicCompletion { - + /** * The variable's type. */ @@ -31,27 +31,24 @@ public class VariableCompletion extends BasicCompletion { * What library (for example) this variable is defined in. */ private String definedIn; - + /** * Constructor. * - * @param provider - * The parent provider. - * @param name - * The name of this variable. - * @param type - * The type of this variable (e.g. "int", - * "String", etc.). + * @param provider The parent provider. + * @param name The name of this variable. + * @param type The type of this variable (e.g. "int", + * "String", etc.). */ public VariableCompletion(CompletionProvider provider, String name, String type) { super(provider, name); this.type = type; } - + protected void addDefinitionString(StringBuilder sb) { sb.append("").append(getDefinitionString()).append(""); } - + public String getDefinitionString() { StringBuilder sb = new StringBuilder(); // Add the return type if applicable (C macros like NULL have no type). @@ -62,7 +59,7 @@ public class VariableCompletion extends BasicCompletion { sb.append(getName()); return sb.toString(); } - + /** * Returns where this variable is defined. * @@ -72,7 +69,7 @@ public class VariableCompletion extends BasicCompletion { public String getDefinedIn() { return definedIn; } - + /** * Returns the name of this variable. * @@ -81,7 +78,7 @@ public class VariableCompletion extends BasicCompletion { public String getName() { return getReplacementText(); } - + /** * {@inheritDoc} */ @@ -93,29 +90,25 @@ public class VariableCompletion extends BasicCompletion { possiblyAddDefinedIn(sb); return sb.toString(); } - + /** - * Returns the tool tip text to display for mouse hovers over this - * completion. + * Returns the tool tip text to display for mouse hovers over this completion. *

    * - * Note that for this functionality to be enabled, a - * JTextComponent must be registered with the - * ToolTipManager, and the text component must know to search - * for this value. In the case of an - * RSyntaxTextArea, this - * can be done with a org.fife.ui.rtextarea.ToolTipSupplier that - * calls into + * Note that for this functionality to be enabled, a JTextComponent + * must be registered with the ToolTipManager, and the text component + * must know to search for this value. In the case of an + * RSyntaxTextArea, this can + * be done with a org.fife.ui.rtextarea.ToolTipSupplier that calls into * {@link CompletionProvider#getCompletionsAt(JTextComponent, java.awt.Point)}. * - * @return The tool tip text for this completion, or null if - * none. + * @return The tool tip text for this completion, or null if none. */ @Override public String getToolTipText() { return getDefinitionString(); } - + /** * Returns the type of this variable. * @@ -124,13 +117,12 @@ public class VariableCompletion extends BasicCompletion { public String getType() { return type; } - + /** - * Adds some HTML describing where this variable is defined, if this - * information is known. + * Adds some HTML describing where this variable is defined, if this information + * is known. * - * @param sb - * The buffer to append to. + * @param sb The buffer to append to. */ protected void possiblyAddDefinedIn(StringBuilder sb) { if (definedIn != null) { @@ -138,13 +130,11 @@ public class VariableCompletion extends BasicCompletion { sb.append(" ").append(definedIn).append(""); } } - + /** - * Adds the description text as HTML to a buffer, if a description is - * defined. + * Adds the description text as HTML to a buffer, if a description is defined. * - * @param sb - * The buffer to append to. + * @param sb The buffer to append to. * @return Whether there was a description to add. */ protected boolean possiblyAddDescription(StringBuilder sb) { @@ -156,18 +146,17 @@ public class VariableCompletion extends BasicCompletion { } return false; } - + /** * Sets where this variable is defined. * - * @param definedIn - * Where this variable is defined. + * @param definedIn Where this variable is defined. * @see #getDefinedIn() */ public void setDefinedIn(String definedIn) { this.definedIn = definedIn; } - + /** * Overridden to return the name of the variable being completed. * diff --git a/src/org/fife/ui/rsyntaxtextarea/AbstractJFlexCTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/AbstractJFlexCTokenMaker.java index db38873..1b881b5 100644 --- a/src/org/fife/ui/rsyntaxtextarea/AbstractJFlexCTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/AbstractJFlexCTokenMaker.java @@ -30,18 +30,18 @@ import org.fife.ui.rtextarea.RTextArea; * @version 1.0 */ public abstract class AbstractJFlexCTokenMaker extends AbstractJFlexTokenMaker { - + private final Action INSERT_BREAK_ACTION; private static final Pattern MLC_PATTERN = Pattern.compile("([ \\t]*)(/?[\\*]+)([ \\t]*)"); - + protected AbstractJFlexCTokenMaker() { INSERT_BREAK_ACTION = createInsertBreakAction(); } - + /** - * Creates and returns the action to use when the user inserts a newline. - * The default implementation intelligently closes multi-line comments. - * Subclasses can override. + * Creates and returns the action to use when the user inserts a newline. The + * default implementation intelligently closes multi-line comments. Subclasses + * can override. * * @return The action. * @see #getInsertBreakAction() @@ -49,10 +49,10 @@ public abstract class AbstractJFlexCTokenMaker extends AbstractJFlexTokenMaker { protected Action createInsertBreakAction() { return new CStyleInsertBreakAction(); } - + /** - * Returns true always as C-style languages use curly braces - * to denote code blocks. + * Returns true always as C-style languages use curly braces to + * denote code blocks. * * @return true always. */ @@ -60,11 +60,10 @@ public abstract class AbstractJFlexCTokenMaker extends AbstractJFlexTokenMaker { public boolean getCurlyBracesDenoteCodeBlocks(int languageIndex) { return true; } - + /** - * Returns an action to handle "insert break" key presses (i.e. Enter). - * An action is returned that handles newlines differently in multi-line - * comments. + * Returns an action to handle "insert break" key presses (i.e. Enter). An + * action is returned that handles newlines differently in multi-line comments. * * @return The action. */ @@ -72,7 +71,7 @@ public abstract class AbstractJFlexCTokenMaker extends AbstractJFlexTokenMaker { public Action getInsertBreakAction() { return INSERT_BREAK_ACTION; } - + /** * {@inheritDoc} */ @@ -80,7 +79,7 @@ public abstract class AbstractJFlexCTokenMaker extends AbstractJFlexTokenMaker { public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.IDENTIFIER || type == Token.FUNCTION; } - + /** * {@inheritDoc} */ @@ -92,19 +91,17 @@ public abstract class AbstractJFlexCTokenMaker extends AbstractJFlexTokenMaker { } return false; } - + /** - * Returns whether a given token is an internal token type that represents - * an MLC or documentation comment continuing on to the next line. This is - * done by languages such as JavaScript that are a little more verbose - * than necessary so that their code can be copy-and-pasted into other - * TokenMakers that use them as nested languages (such as - * HTML, JSP, etc.). + * Returns whether a given token is an internal token type that represents an + * MLC or documentation comment continuing on to the next line. This is done by + * languages such as JavaScript that are a little more verbose than necessary so + * that their code can be copy-and-pasted into other TokenMakers + * that use them as nested languages (such as HTML, JSP, etc.). * - * @param t - * The token to check. This cannot be null. - * @return Whether the token is an internal token representing the end of - * a line for an MLC/doc comment continuing on to the next line. + * @param t The token to check. This cannot be null. + * @return Whether the token is an internal token representing the end of a line + * for an MLC/doc comment continuing on to the next line. */ private boolean isInternalEolTokenForMLCs(Token t) { int type = t.getType(); @@ -114,13 +111,13 @@ public abstract class AbstractJFlexCTokenMaker extends AbstractJFlexTokenMaker { } return false; } - + /** - * Action that knows how to special-case inserting a newline in a - * multi-line comment for languages like C and Java. + * Action that knows how to special-case inserting a newline in a multi-line + * comment for languages like C and Java. */ protected class CStyleInsertBreakAction extends RSyntaxTextAreaEditorKit.InsertBreakAction { - + @Override public void actionPerformedImpl(ActionEvent e, RTextArea textArea) { if (!textArea.isEditable() || !textArea.isEnabled()) { @@ -141,13 +138,12 @@ public abstract class AbstractJFlexCTokenMaker extends AbstractJFlexTokenMaker { handleInsertBreak(rsta, true); } } - + /** - * Returns whether the MLC token containing offs appears - * to have a "nested" comment (i.e., contains "/*" - * somewhere inside of it). This implies that it is likely a "new" MLC - * and needs to be closed. While not foolproof, this is usually good - * enough of a sign. + * Returns whether the MLC token containing offs appears to have a + * "nested" comment (i.e., contains "/*" somewhere inside of it). + * This implies that it is likely a "new" MLC and needs to be closed. While not + * foolproof, this is usually good enough of a sign. * * @param textArea * @param line @@ -183,7 +179,7 @@ public abstract class AbstractJFlexCTokenMaker extends AbstractJFlexTokenMaker { } return true; // No match - MLC goes to the end of the file } - + private void insertBreakInMLC(ActionEvent e, RSyntaxTextArea textArea, int line) { Matcher m = null; int start = -1; diff --git a/src/org/fife/ui/rsyntaxtextarea/AbstractJFlexTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/AbstractJFlexTokenMaker.java index 53d3ca9..9f6b926 100644 --- a/src/org/fife/ui/rsyntaxtextarea/AbstractJFlexTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/AbstractJFlexTokenMaker.java @@ -11,35 +11,32 @@ import javax.swing.text.Segment; /** * Base class for JFlex-generated token makers. This class attempts to factor - * out all common code from these classes. Many methods almost could - * be factored out into this class, but cannot because they reference JFlex + * out all common code from these classes. Many methods almost could be + * factored out into this class, but cannot because they reference JFlex * variables that we cannot access from this class. * * @author Robert Futrell * @version 0.1 */ public abstract class AbstractJFlexTokenMaker extends TokenMakerBase { - + protected Segment s; protected int start; // Just for states. protected int offsetShift; // As parser always starts at 0, but our line // doesn't. - + /** * Declared here so we can define overloads that refer to this method. * - * @param newState - * The new JFlex state to enter. + * @param newState The new JFlex state to enter. */ public abstract void yybegin(int newState); - + /** * Starts a new JFlex state and changes the current language index. * - * @param state - * The new JFlex state to enter. - * @param languageIndex - * The new language index. + * @param state The new JFlex state to enter. + * @param languageIndex The new language index. */ protected void yybegin(int state, int languageIndex) { yybegin(state); diff --git a/src/org/fife/ui/rsyntaxtextarea/AbstractTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/AbstractTokenMaker.java index fbb7ea1..2515abd 100644 --- a/src/org/fife/ui/rsyntaxtextarea/AbstractTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/AbstractTokenMaker.java @@ -8,9 +8,9 @@ package org.fife.ui.rsyntaxtextarea; /** * An abstract implementation of the - * {@link org.fife.ui.rsyntaxtextarea.TokenMaker} interface. It should - * be overridden for every language for which you want to provide - * syntax highlighting. + * {@link org.fife.ui.rsyntaxtextarea.TokenMaker} interface. It should be + * overridden for every language for which you want to provide syntax + * highlighting. *

    * * @see Token @@ -19,34 +19,33 @@ package org.fife.ui.rsyntaxtextarea; * @version 0.2 */ public abstract class AbstractTokenMaker extends TokenMakerBase { - + /** - * Hash table of words to highlight and what token type they are. - * The keys are the words to highlight, and their values are the - * token types, for example, Token.RESERVED_WORD or - * Token.FUNCTION. + * Hash table of words to highlight and what token type they are. The keys are + * the words to highlight, and their values are the token types, for example, + * Token.RESERVED_WORD or Token.FUNCTION. */ protected TokenMap wordsToHighlight; - + /** * Constructor. */ public AbstractTokenMaker() { wordsToHighlight = getWordsToHighlight(); } - + /** * Returns the words to highlight for this programming language. * - * @return A TokenMap containing the words to highlight for - * this programming language. + * @return A TokenMap containing the words to highlight for this + * programming language. */ public abstract TokenMap getWordsToHighlight(); - + /** - * Removes the token last added from the linked list of tokens. The - * programmer should never have to call this directly; it can be called - * by subclasses of TokenMaker if necessary. + * Removes the token last added from the linked list of tokens. The programmer + * should never have to call this directly; it can be called by subclasses of + * TokenMaker if necessary. */ public void removeLastToken() { if (previousToken == null) { diff --git a/src/org/fife/ui/rsyntaxtextarea/AbstractTokenMakerFactory.java b/src/org/fife/ui/rsyntaxtextarea/AbstractTokenMakerFactory.java index 2ee11e5..73282ab 100644 --- a/src/org/fife/ui/rsyntaxtextarea/AbstractTokenMakerFactory.java +++ b/src/org/fife/ui/rsyntaxtextarea/AbstractTokenMakerFactory.java @@ -18,15 +18,14 @@ import java.util.Set; * @version 1.0 */ public abstract class AbstractTokenMakerFactory extends TokenMakerFactory { - + /** - * A mapping from keys to the names of {@link TokenMaker} implementation - * class names. When {@link #getTokenMaker(String)} is called with a key - * defined in this map, a TokenMaker of the corresponding type - * is returned. + * A mapping from keys to the names of {@link TokenMaker} implementation class + * names. When {@link #getTokenMaker(String)} is called with a key defined in + * this map, a TokenMaker of the corresponding type is returned. */ private Map tokenMakerMap; - + /** * Constructor. */ @@ -34,14 +33,13 @@ public abstract class AbstractTokenMakerFactory extends TokenMakerFactory { tokenMakerMap = new HashMap(); initTokenMakerMap(); } - + /** * Returns a {@link TokenMaker} for the specified key. * - * @param key - * The key. - * @return The corresponding TokenMaker, or null - * if none matches the specified key. + * @param key The key. + * @return The corresponding TokenMaker, or null if + * none matches the specified key. */ @Override protected TokenMaker getTokenMakerImpl(String key) { @@ -57,18 +55,18 @@ public abstract class AbstractTokenMakerFactory extends TokenMakerFactory { } return null; } - + /** * Populates the mapping from keys to instances of - * TokenMakerCreators. Subclasses should override this method - * and call one of the putMapping overloads to register + * TokenMakerCreators. Subclasses should override this method and + * call one of the putMapping overloads to register * {@link TokenMaker}s for syntax constants. * * @see #putMapping(String, String) * @see #putMapping(String, String, ClassLoader) */ protected abstract void initTokenMakerMap(); - + /** * {@inheritDoc} */ @@ -76,50 +74,45 @@ public abstract class AbstractTokenMakerFactory extends TokenMakerFactory { public Set keySet() { return tokenMakerMap.keySet(); } - + /** - * Adds a mapping from a key to a TokenMaker implementation - * class name. + * Adds a mapping from a key to a TokenMaker implementation class + * name. * - * @param key - * The key. - * @param className - * The TokenMaker class name. + * @param key The key. + * @param className The TokenMaker class name. * @see #putMapping(String, String, ClassLoader) */ public void putMapping(String key, String className) { putMapping(key, className, null); } - + /** - * Adds a mapping from a key to a TokenMaker implementation - * class name. + * Adds a mapping from a key to a TokenMaker implementation class + * name. * - * @param key - * The key. - * @param className - * The TokenMaker class name. - * @param cl - * The class loader to use when loading the class. + * @param key The key. + * @param className The TokenMaker class name. + * @param cl The class loader to use when loading the class. * @see #putMapping(String, String) */ public void putMapping(String key, String className, ClassLoader cl) { tokenMakerMap.put(key, new TokenMakerCreator(className, cl)); } - + /** * Wrapper that handles the creation of TokenMaker instances. */ private static class TokenMakerCreator { - + private String className; private ClassLoader cl; - + public TokenMakerCreator(String className, ClassLoader cl) { this.className = className; this.cl = cl != null ? cl : getClass().getClassLoader(); } - + public TokenMaker create() throws Exception { return (TokenMaker) Class.forName(className, true, cl).newInstance(); } diff --git a/src/org/fife/ui/rsyntaxtextarea/ActiveLineRangeEvent.java b/src/org/fife/ui/rsyntaxtextarea/ActiveLineRangeEvent.java index 4b25778..c40d3d7 100644 --- a/src/org/fife/ui/rsyntaxtextarea/ActiveLineRangeEvent.java +++ b/src/org/fife/ui/rsyntaxtextarea/ActiveLineRangeEvent.java @@ -17,44 +17,39 @@ import java.util.EventObject; * @version 1.0 */ public class ActiveLineRangeEvent extends EventObject { - + private int min; private int max; - + /** * Constructor. * - * @param source - * The text area. - * @param min - * The first line in the active line range, or - * -1 if the line range is being cleared. - * @param max - * The last line in the active line range, or - * -1 if the line range is being cleared. + * @param source The text area. + * @param min The first line in the active line range, or -1 if + * the line range is being cleared. + * @param max The last line in the active line range, or -1 if + * the line range is being cleared. */ public ActiveLineRangeEvent(RSyntaxTextArea source, int min, int max) { super(source); this.min = min; this.max = max; } - + /** * Returns the last line in the active line range. * - * @return The last line, or -1 if the range is being - * cleared. + * @return The last line, or -1 if the range is being cleared. * @see #getMin() */ public int getMax() { return max; } - + /** * Returns the first line in the active line range. * - * @return The first line, or -1 if the range is being - * cleared. + * @return The first line, or -1 if the range is being cleared. * @see #getMax() */ public int getMin() { diff --git a/src/org/fife/ui/rsyntaxtextarea/ActiveLineRangeListener.java b/src/org/fife/ui/rsyntaxtextarea/ActiveLineRangeListener.java index 81204d4..940c77b 100644 --- a/src/org/fife/ui/rsyntaxtextarea/ActiveLineRangeListener.java +++ b/src/org/fife/ui/rsyntaxtextarea/ActiveLineRangeListener.java @@ -13,29 +13,27 @@ import java.util.EventListener; * Listens for "active line range" events from an RSyntaxTextArea. * If a text area contains some semantic knowledge of the programming language * being edited, it may broadcast {@link ActiveLineRangeEvent}s whenever the - * caret moves into a new "block" of code. Listeners can listen for these - * events and respond accordingly. + * caret moves into a new "block" of code. Listeners can listen for these events + * and respond accordingly. *

    * * See the RSTALanguageSupport project at * http://fifesoft.com for some - * LanguageSupport implementations that may broadcast these - * events. Note that if an RSTA/LanguageSupport does not support broadcasting - * these events, the listener will simply never receive any notifications. + * LanguageSupport implementations that may broadcast these events. + * Note that if an RSTA/LanguageSupport does not support broadcasting these + * events, the listener will simply never receive any notifications. * * @author Robert Futrell * @version 1.0 */ public interface ActiveLineRangeListener extends EventListener { - + /** * Called whenever the "active line range" changes. * - * @param e - * Information about the line range change. If there is no longer - * an "active line range," the "minimum" and "maximum" line - * values - * should both be -1. + * @param e Information about the line range change. If there is no longer an + * "active line range," the "minimum" and "maximum" line values should + * both be -1. */ void activeLineRangeChanged(ActiveLineRangeEvent e); } diff --git a/src/org/fife/ui/rsyntaxtextarea/DefaultOccurrenceMarker.java b/src/org/fife/ui/rsyntaxtextarea/DefaultOccurrenceMarker.java index 792e1cc..1bb88fc 100644 --- a/src/org/fife/ui/rsyntaxtextarea/DefaultOccurrenceMarker.java +++ b/src/org/fife/ui/rsyntaxtextarea/DefaultOccurrenceMarker.java @@ -13,14 +13,14 @@ import javax.swing.text.Caret; import org.fife.ui.rtextarea.SmartHighlightPainter; /** - * The default implementation of {@link OccurrenceMarker}. It goes through - * the document and marks all instances of the specified token. + * The default implementation of {@link OccurrenceMarker}. It goes through the + * document and marks all instances of the specified token. * * @author Robert Futrell * @version 1.0 */ class DefaultOccurrenceMarker implements OccurrenceMarker { - + /** * {@inheritDoc} */ @@ -45,7 +45,7 @@ class DefaultOccurrenceMarker implements OccurrenceMarker { } return t; } - + /** * {@inheritDoc} */ @@ -53,7 +53,7 @@ class DefaultOccurrenceMarker implements OccurrenceMarker { public boolean isValidType(RSyntaxTextArea textArea, Token t) { return textArea.getMarkOccurrencesOfTokenType(t.getType()); } - + /** * {@inheritDoc} */ @@ -61,21 +61,18 @@ class DefaultOccurrenceMarker implements OccurrenceMarker { public void markOccurrences(RSyntaxDocument doc, Token t, RSyntaxTextAreaHighlighter h, SmartHighlightPainter p) { markOccurrencesOfToken(doc, t, h, p); } - + /** * Highlights all instances of tokens identical to t in the * specified document. * - * @param doc - * The document. - * @param t - * The document whose relevant occurrences should be marked. - * @param h - * The highlighter to add the highlights to. - * @param p - * The painter for the highlights. + * @param doc The document. + * @param t The document whose relevant occurrences should be marked. + * @param h The highlighter to add the highlights to. + * @param p The painter for the highlights. */ - public static final void markOccurrencesOfToken(RSyntaxDocument doc, Token t, RSyntaxTextAreaHighlighter h, SmartHighlightPainter p) { + public static final void markOccurrencesOfToken(RSyntaxDocument doc, Token t, RSyntaxTextAreaHighlighter h, + SmartHighlightPainter p) { char[] lexeme = t.getLexeme().toCharArray(); int type = t.getType(); int lineCount = doc.getDefaultRootElement().getElementCount(); diff --git a/src/org/fife/ui/rsyntaxtextarea/DefaultTokenFactory.java b/src/org/fife/ui/rsyntaxtextarea/DefaultTokenFactory.java index feb0bf9..fe8ed1d 100644 --- a/src/org/fife/ui/rsyntaxtextarea/DefaultTokenFactory.java +++ b/src/org/fife/ui/rsyntaxtextarea/DefaultTokenFactory.java @@ -10,46 +10,43 @@ import javax.swing.text.Segment; /** * This class generates tokens for a {@link TokenMaker}. This class is here - * because it reuses tokens when they aren't needed anymore to prevent - * This class doesn't actually create new tokens every time - * createToken is called. Instead, it internally keeps a stack of - * available already-created tokens. When more tokens are needed to properly - * display a line, more tokens are added to the available stack. This saves - * from needless repetitive memory allocation. However, it makes it IMPERATIVE - * that users call resetTokenList when creating a new token list so - * that the token maker can keep an accurate list of available tokens. + * because it reuses tokens when they aren't needed anymore to prevent This + * class doesn't actually create new tokens every time createToken + * is called. Instead, it internally keeps a stack of available already-created + * tokens. When more tokens are needed to properly display a line, more tokens + * are added to the available stack. This saves from needless repetitive memory + * allocation. However, it makes it IMPERATIVE that users call + * resetTokenList when creating a new token list so that the token + * maker can keep an accurate list of available tokens. *

    * - * NOTE: This class should only be used by {@link TokenMaker}; nobody else - * needs it! + * NOTE: This class should only be used by {@link TokenMaker}; nobody else needs + * it! * * @author Robert Futrell * @version 0.1 */ class DefaultTokenFactory implements TokenFactory { - + private int size; private int increment; private TokenImpl[] tokenList; private int currentFreeToken; protected static final int DEFAULT_START_SIZE = 30; protected static final int DEFAULT_INCREMENT = 10; - + /** * Constructor. */ DefaultTokenFactory() { this(DEFAULT_START_SIZE, DEFAULT_INCREMENT); } - + /** * Constructor. * - * @param size - * The initial number of tokens in this factory. - * @param increment - * How many tokens to increment by when the stack gets - * empty. + * @param size The initial number of tokens in this factory. + * @param increment How many tokens to increment by when the stack gets empty. */ DefaultTokenFactory(int size, int increment) { this.size = size; @@ -61,10 +58,10 @@ class DefaultTokenFactory implements TokenFactory { tokenList[i] = new TokenImpl(); } } - + /** - * Adds tokens to the internal token list. This is called whenever a - * request is made and no more tokens are available. + * Adds tokens to the internal token list. This is called whenever a request is + * made and no more tokens are available. */ private void augmentTokenList() { TokenImpl[] temp = new TokenImpl[size + increment]; @@ -76,37 +73,35 @@ class DefaultTokenFactory implements TokenFactory { } // System.err.println("... size up to: " + size); } - + /** * {@inheritDoc} */ @Override public TokenImpl createToken() { TokenImpl token = tokenList[currentFreeToken]; - token.text = null; - token.setType(Token.NULL); - token.setOffset(-1); - token.setNextToken(null); - currentFreeToken++; - if (currentFreeToken == size) { + token.reset(); + if (++currentFreeToken == size) { augmentTokenList(); } return token; } - + /** * {@inheritDoc} */ @Override - public TokenImpl createToken(final Segment line, final int beg, final int end, final int startOffset, final int type) { + public TokenImpl createToken(final Segment line, final int beg, final int end, final int startOffset, + final int type) { return createToken(line.array, beg, end, startOffset, type); } - + /** * {@inheritDoc} */ @Override - public TokenImpl createToken(final char[] line, final int beg, final int end, final int startOffset, final int type) { + public TokenImpl createToken(final char[] line, final int beg, final int end, final int startOffset, + final int type) { TokenImpl token = tokenList[currentFreeToken]; token.set(line, beg, end, startOffset, type); currentFreeToken++; @@ -115,11 +110,11 @@ class DefaultTokenFactory implements TokenFactory { } return token; } - + /** - * Resets the state of this token maker. This method should be called - * by the TokenMaker every time a token list is generated for - * a new line so the tokens can be reused. + * Resets the state of this token maker. This method should be called by the + * TokenMaker every time a token list is generated for a new line + * so the tokens can be reused. */ @Override public void resetAllTokens() { diff --git a/src/org/fife/ui/rsyntaxtextarea/DefaultTokenMakerFactory.java b/src/org/fife/ui/rsyntaxtextarea/DefaultTokenMakerFactory.java index a04c5c8..3fd758c 100644 --- a/src/org/fife/ui/rsyntaxtextarea/DefaultTokenMakerFactory.java +++ b/src/org/fife/ui/rsyntaxtextarea/DefaultTokenMakerFactory.java @@ -15,7 +15,7 @@ package org.fife.ui.rsyntaxtextarea; * @version 1.0 */ class DefaultTokenMakerFactory extends AbstractTokenMakerFactory implements SyntaxConstants { - + /** * {@inheritDoc} */ diff --git a/src/org/fife/ui/rsyntaxtextarea/DefaultTokenPainter.java b/src/org/fife/ui/rsyntaxtextarea/DefaultTokenPainter.java index 1cdea5a..891c805 100644 --- a/src/org/fife/ui/rsyntaxtextarea/DefaultTokenPainter.java +++ b/src/org/fife/ui/rsyntaxtextarea/DefaultTokenPainter.java @@ -20,22 +20,22 @@ import javax.swing.text.TabExpander; * @version 1.0 */ class DefaultTokenPainter implements TokenPainter { - + /** * Rectangle used for filling token backgrounds. */ private Rectangle2D.Float bgRect; /** - * Micro-optimization; buffer used to compute tab width. If the width is - * correct it's not re-allocated, to prevent lots of very small garbage. - * Only used when painting tab lines. + * Micro-optimization; buffer used to compute tab width. If the width is correct + * it's not re-allocated, to prevent lots of very small garbage. Only used when + * painting tab lines. */ private static char[] tabBuf; - + DefaultTokenPainter() { bgRect = new Rectangle2D.Float(); } - + /** * {@inheritDoc} */ @@ -43,57 +43,51 @@ class DefaultTokenPainter implements TokenPainter { public final float paint(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e) { return paint(token, g, x, y, host, e, 0); } - + /** * {@inheritDoc} */ @Override - public float paint(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, float clipStart) { + public float paint(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, + float clipStart) { return paintImpl(token, g, x, y, host, e, clipStart, false, false); } - + /** * {@inheritDoc} */ @Override - public float paint(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, float clipStart, boolean paintBG) { + public float paint(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, + float clipStart, boolean paintBG) { return paintImpl(token, g, x, y, host, e, clipStart, !paintBG, false); } - + /** * Paints the background of a token. * - * @param x - * The x-coordinate of the token. - * @param y - * The y-coordinate of the token. - * @param width - * The width of the token (actually, the width of the part of - * the token to paint). - * @param height - * The height of the token. - * @param g - * The graphics context with which to paint. - * @param fontAscent - * The ascent of the token's font. - * @param host - * The text area. - * @param color - * The color with which to paint. + * @param x The x-coordinate of the token. + * @param y The y-coordinate of the token. + * @param width The width of the token (actually, the width of the part of + * the token to paint). + * @param height The height of the token. + * @param g The graphics context with which to paint. + * @param fontAscent The ascent of the token's font. + * @param host The text area. + * @param color The color with which to paint. */ - protected void paintBackground(float x, float y, float width, float height, Graphics2D g, int fontAscent, RSyntaxTextArea host, - Color color) { + protected void paintBackground(float x, float y, float width, float height, Graphics2D g, int fontAscent, + RSyntaxTextArea host, Color color) { g.setColor(color); bgRect.setRect(x, y - fontAscent, width, height); // g.fill(bgRect); g.fillRect((int) x, (int) (y - fontAscent), (int) width, (int) height); } - + /** * Does the dirty-work of actually painting the token. */ - protected float paintImpl(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, float clipStart, - boolean selected, boolean useSTC) { + protected float paintImpl(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, + float clipStart, boolean selected, boolean useSTC) { int origX = (int) x; int textOffs = token.getTextOffset(); char[] text = token.getTextArray(); @@ -107,22 +101,22 @@ class DefaultTokenPainter implements TokenPainter { FontMetrics fm = host.getFontMetricsForTokenType(token.getType()); for (int i = textOffs; i < end; i++) { switch (text[i]) { - case '\t': - nextX = e.nextTabStop(x + fm.charsWidth(text, flushIndex, flushLen), 0); - if (bg != null) { - paintBackground(x, y, nextX - x, fm.getHeight(), g, fm.getAscent(), host, bg); - } - if (flushLen > 0) { - g.setColor(fg); - g.drawChars(text, flushIndex, flushLen, (int) x, (int) y); - flushLen = 0; - } - flushIndex = i + 1; - x = nextX; - break; - default: - flushLen += 1; - break; + case '\t': + nextX = e.nextTabStop(x + fm.charsWidth(text, flushIndex, flushLen), 0); + if (bg != null) { + paintBackground(x, y, nextX - x, fm.getHeight(), g, fm.getAscent(), host, bg); + } + if (flushLen > 0) { + g.setColor(fg); + g.drawChars(text, flushIndex, flushLen, (int) x, (int) y); + flushLen = 0; + } + flushIndex = i + 1; + x = nextX; + break; + default: + flushLen += 1; + break; } } nextX = x + fm.charsWidth(text, flushIndex, flushLen); @@ -152,48 +146,43 @@ class DefaultTokenPainter implements TokenPainter { } return nextX; } - + /** * {@inheritDoc} */ @Override - public float paintSelected(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, boolean useSTC) { + public float paintSelected(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, + boolean useSTC) { return paintSelected(token, g, x, y, host, e, 0, useSTC); } - + /** * {@inheritDoc} */ @Override - public float paintSelected(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, float clipStart, - boolean useSTC) { + public float paintSelected(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, + float clipStart, boolean useSTC) { return paintImpl(token, g, x, y, host, e, clipStart, true, useSTC); } - + /** - * Paints dotted "tab" lines; that is, lines that show where your caret - * would go to on the line if you hit "tab". This visual effect is usually - * done in the leading whitespace token(s) of lines. + * Paints dotted "tab" lines; that is, lines that show where your caret would go + * to on the line if you hit "tab". This visual effect is usually done in the + * leading whitespace token(s) of lines. * - * @param token - * The token to render. - * @param x - * The starting x-offset of this token. It is assumed that this - * is the left margin of the text area (may be non-zero due to - * insets), since tab lines are only painted for leading - * whitespace. - * @param y - * The baseline where this token was painted. - * @param endX - * The ending x-offset of this token. - * @param g - * The graphics context. - * @param e - * Used to expand tabs. - * @param host - * The text area. + * @param token The token to render. + * @param x The starting x-offset of this token. It is assumed that this is + * the left margin of the text area (may be non-zero due to + * insets), since tab lines are only painted for leading + * whitespace. + * @param y The baseline where this token was painted. + * @param endX The ending x-offset of this token. + * @param g The graphics context. + * @param e Used to expand tabs. + * @param host The text area. */ - protected void paintTabLines(Token token, int x, int y, int endX, Graphics2D g, TabExpander e, RSyntaxTextArea host) { + protected void paintTabLines(Token token, int x, int y, int endX, Graphics2D g, TabExpander e, + RSyntaxTextArea host) { // We allow tab lines to be painted in more than just Token.WHITESPACE, // i.e. for MLC's and Token.IDENTIFIERS (for TokenMakers that return // whitespace as identifiers for performance). But we only paint tab diff --git a/src/org/fife/ui/rsyntaxtextarea/DocumentRange.java b/src/org/fife/ui/rsyntaxtextarea/DocumentRange.java index c62dad9..8b1260e 100644 --- a/src/org/fife/ui/rsyntaxtextarea/DocumentRange.java +++ b/src/org/fife/ui/rsyntaxtextarea/DocumentRange.java @@ -13,30 +13,27 @@ package org.fife.ui.rsyntaxtextarea; * @version 1.0 */ public class DocumentRange implements Comparable { - + private int startOffs; private int endOffs; - + /** * Constructor. * - * @param startOffs - * The starting offset in the document, inclusive. - * @param endOffs - * The ending offset in the document, exclusive. - * @throws IllegalArgumentException - * If endOffs is less than - * startOffs, or either argument is less than zero. + * @param startOffs The starting offset in the document, inclusive. + * @param endOffs The ending offset in the document, exclusive. + * @throws IllegalArgumentException If endOffs is less than + * startOffs, or either argument + * is less than zero. */ public DocumentRange(int startOffs, int endOffs) { set(startOffs, endOffs); } - + /** * Compares this document range to another. * - * @param other - * Another document range. + * @param other Another document range. * @return How the two should be sorted relative to each other. */ @Override @@ -50,14 +47,13 @@ public class DocumentRange implements Comparable { } return endOffs - other.endOffs; } - + /** * Returns whether this document range is equal to another one. * - * @param other - * Another object, presumably a document range. - * @return Whether other is also a document range, and equal - * to this one. + * @param other Another object, presumably a document range. + * @return Whether other is also a document range, and equal to + * this one. */ @Override public boolean equals(Object other) { @@ -69,7 +65,7 @@ public class DocumentRange implements Comparable { } return false; } - + /** * Gets the end offset of the range. * @@ -79,7 +75,7 @@ public class DocumentRange implements Comparable { public int getEndOffset() { return endOffs; } - + /** * Gets the starting offset of the range. * @@ -89,7 +85,7 @@ public class DocumentRange implements Comparable { public int getStartOffset() { return startOffs; } - + /** * Overridden simply as a best practice, since {@link #equals(Object)} is * overridden. @@ -100,29 +96,26 @@ public class DocumentRange implements Comparable { public int hashCode() { return startOffs + endOffs; } - + /** - * Returns whether this document range has zero length. This can happen, - * for example, with regex searches of forms like - * "foo|", where the right-hand sub-expression matches empty - * strings. + * Returns whether this document range has zero length. This can happen, for + * example, with regex searches of forms like "foo|", where the + * right-hand sub-expression matches empty strings. * * @return Whether this document range has zero length. */ public boolean isZeroLength() { return startOffs == endOffs; } - + /** * Sets the document range. * - * @param start - * The new start value, inclusive. - * @param end - * The new end value, exclusive. - * @throws IllegalArgumentException - * If end is less than - * start, or either argument is less than zero. + * @param start The new start value, inclusive. + * @param end The new end value, exclusive. + * @throws IllegalArgumentException If end is less than + * start, or either argument is + * less than zero. */ public void set(int start, int end) { if (start < 0 || end < 0) { @@ -134,7 +127,7 @@ public class DocumentRange implements Comparable { this.startOffs = start; this.endOffs = end; } - + /** * Returns a string representation of this object. * @@ -144,12 +137,11 @@ public class DocumentRange implements Comparable { public String toString() { return "[DocumentRange: " + startOffs + "-" + endOffs + "]"; } - + /** * Translates this document range by a given amount. * - * @param amount - * The amount to translate this range by. + * @param amount The amount to translate this range by. * @return This (modified) range. */ public DocumentRange translate(int amount) { diff --git a/src/org/fife/ui/rsyntaxtextarea/ErrorStrip.java b/src/org/fife/ui/rsyntaxtextarea/ErrorStrip.java index f2a21f6..84f506a 100644 --- a/src/org/fife/ui/rsyntaxtextarea/ErrorStrip.java +++ b/src/org/fife/ui/rsyntaxtextarea/ErrorStrip.java @@ -39,16 +39,15 @@ import org.fife.ui.rsyntaxtextarea.parser.TaskTagParser.TaskNotice; import org.fife.ui.rtextarea.RTextArea; /** - * A component to sit alongside an {@link RSyntaxTextArea} that displays - * colored markers for locations of interest (parser errors, marked - * occurrences, etc.). + * A component to sit alongside an {@link RSyntaxTextArea} that displays colored + * markers for locations of interest (parser errors, marked occurrences, etc.). *

    * * ErrorStrips display ParserNotices from * {@link Parser}s. Currently, the only way to get lines flagged in this * component is to register a Parser on an RSyntaxTextArea and - * return ParserNotices for each line to display an icon for. - * The severity of each notice must be at least the threshold set by + * return ParserNotices for each line to display an icon for. The + * severity of each notice must be at least the threshold set by * {@link #setLevelThreshold(org.fife.ui.rsyntaxtextarea.parser.ParserNotice.Level)} * to be displayed in this error strip. The default threshold is * {@link org.fife.ui.rsyntaxtextarea.parser.ParserNotice.Level#WARNING}. @@ -76,7 +75,7 @@ import org.fife.ui.rtextarea.RTextArea; // are now "empty"). // public class ErrorStrip extends JPanel { - + /** * The text area. */ @@ -86,23 +85,23 @@ public class ErrorStrip extends JPanel { */ private transient Listener listener; /** - * Whether "marked occurrences" in the text area should be shown in this - * error strip. + * Whether "marked occurrences" in the text area should be shown in this error + * strip. */ private boolean showMarkedOccurrences; /** - * Whether markers for "mark all" highlights should be shown in this - * error strip. + * Whether markers for "mark all" highlights should be shown in this error + * strip. */ private boolean showMarkAll; /** - * Mapping of colors to brighter colors. This is kept to prevent - * unnecessary creation of the same Colors over and over. + * Mapping of colors to brighter colors. This is kept to prevent unnecessary + * creation of the same Colors over and over. */ private Map brighterColors; /** - * Only notices of this severity (or worse) will be displayed in this - * error strip. + * Only notices of this severity (or worse) will be displayed in this error + * strip. */ private ParserNotice.Level levelThreshold; /** @@ -130,12 +129,11 @@ public class ErrorStrip extends JPanel { */ private static final int PREFERRED_WIDTH = 14; private static final ResourceBundle MSG = ResourceBundle.getBundle("org.fife.ui.rsyntaxtextarea.ErrorStrip"); - + /** * Constructor. * - * @param textArea - * The text area we are examining. + * @param textArea The text area we are examining. */ public ErrorStrip(RSyntaxTextArea textArea) { this.textArea = textArea; @@ -150,10 +148,10 @@ public class ErrorStrip extends JPanel { setCaretMarkerColor(Color.BLACK); setMarkerToolTipProvider(null); // Install default } - + /** - * Overridden so we only start listening for parser notices when this - * component (and presumably the text area) are visible. + * Overridden so we only start listening for parser notices when this component + * (and presumably the text area) are visible. */ @Override public void addNotify() { @@ -165,7 +163,7 @@ public class ErrorStrip extends JPanel { textArea.addPropertyChangeListener(RSyntaxTextArea.MARK_ALL_OCCURRENCES_CHANGED_PROPERTY, listener); refreshMarkers(); } - + /** * Manually manages layout since this component uses no layout manager. */ @@ -177,12 +175,11 @@ public class ErrorStrip extends JPanel { } listener.caretUpdate(null); // Force recalculation of caret line pos } - + /** * Returns a "brighter" color. * - * @param c - * The color. + * @param c The color. * @return A brighter color. */ private Color getBrighterColor(Color c) { @@ -201,7 +198,7 @@ public class ErrorStrip extends JPanel { } return brighter; } - + /** * returns the color to use when painting the caret marker. * @@ -211,7 +208,7 @@ public class ErrorStrip extends JPanel { public Color getCaretMarkerColor() { return caretMarkerColor; } - + /** * Returns whether the caret's position should be drawn. * @@ -221,7 +218,7 @@ public class ErrorStrip extends JPanel { public boolean getFollowCaret() { return followCaret; } - + /** * {@inheritDoc} */ @@ -230,11 +227,11 @@ public class ErrorStrip extends JPanel { int height = textArea.getPreferredScrollableViewportSize().height; return new Dimension(PREFERRED_WIDTH, height); } - + /** - * Returns the minimum severity a parser notice must be for it to be - * displayed in this error strip. This will be one of the constants - * defined in the ParserNotice class. + * Returns the minimum severity a parser notice must be for it to be displayed + * in this error strip. This will be one of the constants defined in the + * ParserNotice class. * * @return The minimum severity. * @see #setLevelThreshold(org.fife.ui.rsyntaxtextarea.parser.ParserNotice.Level) @@ -242,7 +239,7 @@ public class ErrorStrip extends JPanel { public ParserNotice.Level getLevelThreshold() { return levelThreshold; } - + /** * Returns whether "mark all" highlights are shown in this error strip. * @@ -252,7 +249,7 @@ public class ErrorStrip extends JPanel { public boolean getShowMarkAll() { return showMarkAll; } - + /** * Returns whether marked occurrences are shown in this error strip. * @@ -262,7 +259,7 @@ public class ErrorStrip extends JPanel { public boolean getShowMarkedOccurrences() { return showMarkedOccurrences; } - + /** * {@inheritDoc} */ @@ -276,13 +273,12 @@ public class ErrorStrip extends JPanel { } return text; } - + /** - * Returns the y-offset in this component corresponding to a line in the - * text component. + * Returns the y-offset in this component corresponding to a line in the text + * component. * - * @param line - * The line. + * @param line The line. * @return The y-offset. * @see #yToLine(int) */ @@ -291,12 +287,11 @@ public class ErrorStrip extends JPanel { float lineCount = textArea.getLineCount(); return (int) (((line - 1) / (lineCount - 1)) * (h - 2)); } - + /** * Overridden to (possibly) draw the caret's position. * - * @param g - * The graphics context. + * @param g The graphics context. */ @Override protected void paintComponent(Graphics g) { @@ -306,12 +301,11 @@ public class ErrorStrip extends JPanel { g.fillRect(0, caretLineY, getWidth(), 2); } } - + /** * Returns a possibly brighter component for a color. * - * @param i - * An RGB component for a color (0-255). + * @param i An RGB component for a color (0-255). * @return A possibly brighter value for the component. */ private static int possiblyBrighter(int i) { @@ -320,7 +314,7 @@ public class ErrorStrip extends JPanel { } return i; } - + /** * Refreshes the markers displayed in this error strip. */ @@ -354,16 +348,13 @@ public class ErrorStrip extends JPanel { revalidate(); repaint(); } - + /** * Adds markers for a list of ranges in the document. * - * @param ranges - * The list of ranges in the document. - * @param markerMap - * A mapping from line number to Marker. - * @param color - * The color to use for the markers. + * @param ranges The list of ranges in the document. + * @param markerMap A mapping from line number to Marker. + * @param color The color to use for the markers. */ private void addMarkersForRanges(List ranges, Map markerMap, Color color) { for (DocumentRange range : ranges) { @@ -388,7 +379,7 @@ public class ErrorStrip extends JPanel { } } } - + /** * {@inheritDoc} */ @@ -401,12 +392,11 @@ public class ErrorStrip extends JPanel { textArea.removePropertyChangeListener(RSyntaxTextArea.MARKED_OCCURRENCES_CHANGED_PROPERTY, listener); textArea.removePropertyChangeListener(RSyntaxTextArea.MARK_ALL_OCCURRENCES_CHANGED_PROPERTY, listener); } - + /** * Sets the color to use when painting the caret marker. * - * @param color - * The new caret marker color. + * @param color The new caret marker color. * @see #getCaretMarkerColor() */ public void setCaretMarkerColor(Color color) { @@ -415,12 +405,11 @@ public class ErrorStrip extends JPanel { listener.caretUpdate(null); // Force repaint } } - + /** * Toggles whether the caret's current location should be drawn. * - * @param follow - * Whether the caret's current location should be followed. + * @param follow Whether the caret's current location should be followed. * @see #getFollowCaret() */ public void setFollowCaret(boolean follow) { @@ -434,15 +423,14 @@ public class ErrorStrip extends JPanel { listener.caretUpdate(null); // Possibly repaint } } - + /** - * Sets the minimum severity a parser notice must be for it to be displayed - * in this error strip. This should be one of the constants defined in - * the ParserNotice class. The default value is + * Sets the minimum severity a parser notice must be for it to be displayed in + * this error strip. This should be one of the constants defined in the + * ParserNotice class. The default value is * {@link org.fife.ui.rsyntaxtextarea.parser.ParserNotice.Level#WARNING}. * - * @param level - * The new severity threshold. + * @param level The new severity threshold. * @see #getLevelThreshold() * @see ParserNotice */ @@ -452,25 +440,23 @@ public class ErrorStrip extends JPanel { refreshMarkers(); } } - + /** - * Sets the provider of tool tips for markers in this error strip. - * Applications can use this method to control the content and format of - * the tool tip descriptions of line markers. + * Sets the provider of tool tips for markers in this error strip. Applications + * can use this method to control the content and format of the tool tip + * descriptions of line markers. * - * @param provider - * The provider. If this is null, a default - * implementation will be used. + * @param provider The provider. If this is null, a default + * implementation will be used. */ public void setMarkerToolTipProvider(ErrorStripMarkerToolTipProvider provider) { markerToolTipProvider = provider != null ? provider : new DefaultErrorStripMarkerToolTipProvider(); } - + /** * Sets whether "mark all" highlights are shown in this error strip. * - * @param show - * Whether to show markers for "mark all" highlights. + * @param show Whether to show markers for "mark all" highlights. * @see #getShowMarkAll() */ public void setShowMarkAll(boolean show) { @@ -481,12 +467,11 @@ public class ErrorStrip extends JPanel { } } } - + /** * Sets whether marked occurrences are shown in this error strip. * - * @param show - * Whether to show marked occurrences. + * @param show Whether to show marked occurrences. * @see #getShowMarkedOccurrences() */ public void setShowMarkedOccurrences(boolean show) { @@ -497,13 +482,12 @@ public class ErrorStrip extends JPanel { } } } - + /** * Returns the line in the text area corresponding to a y-offset in this * component. * - * @param y - * The y-offset. + * @param y The y-offset. * @return The line. * @see #lineToY(int) */ @@ -516,15 +500,15 @@ public class ErrorStrip extends JPanel { } return line; } - + /** - * The default implementation of the provider of tool tips for markers in - * an error strip. + * The default implementation of the provider of tool tips for markers in an + * error strip. * * @author predi */ private static class DefaultErrorStripMarkerToolTipProvider implements ErrorStripMarkerToolTipProvider { - + @Override public String getToolTipText(List notices) { String text = null; @@ -545,34 +529,33 @@ public class ErrorStrip extends JPanel { return text; } } - + /** - * Returns tool tip text for the markers in an {@link ErrorStrip} that - * denote one or more parser notices. + * Returns tool tip text for the markers in an {@link ErrorStrip} that denote + * one or more parser notices. * * @author predi */ public interface ErrorStripMarkerToolTipProvider { - + /** - * Returns the tool tip text for a marker in an ErrorStrip - * that denotes a given list of parser notices. + * Returns the tool tip text for a marker in an ErrorStrip that + * denotes a given list of parser notices. * - * @param notices - * The list of parser notices. - * @return The tool tip text. This may be HTML. Returning - * null will result in no tool tip being displayed. + * @param notices The list of parser notices. + * @return The tool tip text. This may be HTML. Returning null will + * result in no tool tip being displayed. */ String getToolTipText(List notices); } - + /** * Listens for events in the error strip and its markers. */ private class Listener extends MouseAdapter implements PropertyChangeListener, CaretListener { - + private Rectangle visibleRect = new Rectangle(); - + @Override public void caretUpdate(CaretEvent e) { if (getFollowCaret()) { @@ -587,7 +570,7 @@ public class ErrorStrip extends JPanel { } } } - + @Override public void mouseClicked(MouseEvent e) { Component source = (Component) e.getSource(); @@ -605,7 +588,7 @@ public class ErrorStrip extends JPanel { } } } - + @Override public void propertyChange(PropertyChangeEvent e) { String propName = e.getPropertyName(); @@ -636,30 +619,30 @@ public class ErrorStrip extends JPanel { } } } - + /** * A notice that wraps a "marked occurrence" instance. */ private class MarkedOccurrenceNotice implements ParserNotice { - + private DocumentRange range; private Color color; - + MarkedOccurrenceNotice(DocumentRange range, Color color) { this.range = range; this.color = color; } - + @Override public int compareTo(ParserNotice other) { return 0; // Value doesn't matter } - + @Override public boolean containsPosition(int pos) { return pos >= range.getStartOffset() && pos < range.getEndOffset(); } - + @Override public boolean equals(Object o) { // FindBugs - Define equals() when defining compareTo() @@ -668,12 +651,12 @@ public class ErrorStrip extends JPanel { } return compareTo((ParserNotice) o) == 0; } - + @Override public Color getColor() { return color; } - + /** * {@inheritDoc} */ @@ -681,17 +664,17 @@ public class ErrorStrip extends JPanel { public boolean getKnowsOffsetAndLength() { return true; } - + @Override public int getLength() { return range.getEndOffset() - range.getStartOffset(); } - + @Override public Level getLevel() { return Level.INFO; // Won't matter } - + @Override public int getLine() { try { @@ -700,7 +683,7 @@ public class ErrorStrip extends JPanel { return 0; } } - + @Override public String getMessage() { String text = null; @@ -713,40 +696,40 @@ public class ErrorStrip extends JPanel { } return text; } - + @Override public int getOffset() { return range.getStartOffset(); } - + @Override public Parser getParser() { return null; } - + @Override public boolean getShowInEditor() { return false; // Value doesn't matter } - + @Override public String getToolTipText() { return null; } - + @Override public int hashCode() { // FindBugs, since we override equals() return 0; // Value doesn't matter for us. } } - + /** * A "marker" in this error strip, representing one or more notices. */ private class Marker extends JComponent { - + private List notices; - + Marker(ParserNotice notice) { notices = new ArrayList(1); // Usually just 1 addNotice(notice); @@ -754,11 +737,11 @@ public class ErrorStrip extends JPanel { setSize(getPreferredSize()); ToolTipManager.sharedInstance().registerComponent(this); } - + public void addNotice(ParserNotice notice) { notices.add(notice); } - + public boolean containsMarkedOccurence() { boolean result = false; for (int i = 0; i < notices.size(); i++) { @@ -769,7 +752,7 @@ public class ErrorStrip extends JPanel { } return result; } - + public Color getColor() { // Return the color for the highest-level parser. Color c = null; @@ -782,18 +765,18 @@ public class ErrorStrip extends JPanel { } return c; } - + @Override public Dimension getPreferredSize() { int w = PREFERRED_WIDTH - 4; // 2-pixel empty border return new Dimension(w, 5); } - + @Override public String getToolTipText() { return markerToolTipProvider.getToolTipText(Collections.unmodifiableList(notices)); } - + protected void mouseClicked(MouseEvent e) { ParserNotice pn = notices.get(0); int offs = pn.getOffset(); @@ -812,7 +795,7 @@ public class ErrorStrip extends JPanel { } } } - + @Override protected void paintComponent(Graphics g) { // TODO: Give "priorities" and always pick color of a notice with @@ -829,14 +812,14 @@ public class ErrorStrip extends JPanel { g.setColor(borderColor); g.drawRect(0, 0, w - 1, h - 1); } - + @Override public void removeNotify() { super.removeNotify(); ToolTipManager.sharedInstance().unregisterComponent(this); removeMouseListener(listener); } - + public void updateLocation() { int line = notices.get(0).getLine(); int y = lineToY(line); diff --git a/src/org/fife/ui/rsyntaxtextarea/FileFileLocation.java b/src/org/fife/ui/rsyntaxtextarea/FileFileLocation.java index 211eace..b14e39b 100644 --- a/src/org/fife/ui/rsyntaxtextarea/FileFileLocation.java +++ b/src/org/fife/ui/rsyntaxtextarea/FileFileLocation.java @@ -20,17 +20,16 @@ import java.io.OutputStream; * @version 1.0 */ class FileFileLocation extends FileLocation { - + /** * The file. This may or may not actually exist. */ private File file; - + /** * Constructor. * - * @param file - * The local file. + * @param file The local file. */ FileFileLocation(File file) { try { @@ -40,7 +39,7 @@ class FileFileLocation extends FileLocation { this.file = file; } } - + /** * {@inheritDoc} */ @@ -48,7 +47,7 @@ class FileFileLocation extends FileLocation { protected long getActualLastModified() { return file.lastModified(); } - + /** * Returns the full path to the file. * @@ -59,7 +58,7 @@ class FileFileLocation extends FileLocation { public String getFileFullPath() { return file.getAbsolutePath(); } - + /** * {@inheritDoc} */ @@ -67,7 +66,7 @@ class FileFileLocation extends FileLocation { public String getFileName() { return file.getName(); } - + /** * {@inheritDoc} */ @@ -75,7 +74,7 @@ class FileFileLocation extends FileLocation { protected InputStream getInputStream() throws IOException { return new FileInputStream(file); } - + /** * {@inheritDoc} */ @@ -83,7 +82,7 @@ class FileFileLocation extends FileLocation { protected OutputStream getOutputStream() throws IOException { return new FileOutputStream(file); } - + /** * Always returns true. * @@ -94,10 +93,10 @@ class FileFileLocation extends FileLocation { public boolean isLocal() { return true; } - + /** - * Since file locations of this type are guaranteed to be local, this - * method returns whether the file exists. + * Since file locations of this type are guaranteed to be local, this method + * returns whether the file exists. * * @return Whether this local file actually exists. * @see #isLocal() diff --git a/src/org/fife/ui/rsyntaxtextarea/FileLocation.java b/src/org/fife/ui/rsyntaxtextarea/FileLocation.java index 8443a83..f221eb3 100644 --- a/src/org/fife/ui/rsyntaxtextarea/FileLocation.java +++ b/src/org/fife/ui/rsyntaxtextarea/FileLocation.java @@ -14,23 +14,23 @@ import java.net.MalformedURLException; import java.net.URL; /** - * Holds the location of a local or remote file. This provides a common way - * to read, write, and check properties of both local and remote files. + * Holds the location of a local or remote file. This provides a common way to + * read, write, and check properties of both local and remote files. * * @author Robert Futrell * @version 1.0 */ public abstract class FileLocation { - + /** * Creates a {@link FileLocation} instance for the specified local file. * - * @param fileFullPath - * The full path to a local file. + * @param fileFullPath The full path to a local file. * @return The file's location. */ public static FileLocation create(String fileFullPath) { - if (fileFullPath.startsWith("http://") || fileFullPath.startsWith("https://") || fileFullPath.startsWith("ftp://")) { + if (fileFullPath.startsWith("http://") || fileFullPath.startsWith("https://") + || fileFullPath.startsWith("ftp://")) { try { return new URLFileLocation(new URL(fileFullPath)); } catch (MalformedURLException mue) { @@ -39,23 +39,21 @@ public abstract class FileLocation { } return new FileFileLocation(new File(fileFullPath)); } - + /** * Creates a {@link FileLocation} instance for the specified local file. * - * @param file - * A local file. + * @param file A local file. * @return The file's location. */ public static FileLocation create(File file) { return new FileFileLocation(file); } - + /** * Creates a {@link FileLocation} instance for the specified file. * - * @param url - * The URL of a file. + * @param url The URL of a file. * @return The file's location. */ public static FileLocation create(URL url) { @@ -64,25 +62,25 @@ public abstract class FileLocation { } return new URLFileLocation(url); } - + /** * Returns the last time this file was modified, or - * {@link TextEditorPane#LAST_MODIFIED_UNKNOWN} if this value cannot be - * computed (such as for a remote file). + * {@link TextEditorPane#LAST_MODIFIED_UNKNOWN} if this value cannot be computed + * (such as for a remote file). * * @return The last time this file was modified. */ protected abstract long getActualLastModified(); - + /** - * Returns the full path to the file. This will be stripped of - * sensitive information such as passwords for remote files. + * Returns the full path to the file. This will be stripped of sensitive + * information such as passwords for remote files. * * @return The full path to the file. * @see #getFileName() */ public abstract String getFileFullPath(); - + /** * Returns the name of the file. * @@ -90,26 +88,24 @@ public abstract class FileLocation { * @see #getFileFullPath() */ public abstract String getFileName(); - + /** * Opens an input stream for reading from this file. * * @return The input stream. - * @throws IOException - * If the file does not exist, or some other IO error - * occurs. + * @throws IOException If the file does not exist, or some other IO error + * occurs. */ protected abstract InputStream getInputStream() throws IOException; - + /** * Opens an output stream for writing this file. * * @return An output stream. - * @throws IOException - * If an IO error occurs. + * @throws IOException If an IO error occurs. */ protected abstract OutputStream getOutputStream() throws IOException; - + /** * Returns whether this file location is a local file. * @@ -117,16 +113,15 @@ public abstract class FileLocation { * @see #isLocalAndExists() */ public abstract boolean isLocal(); - + /** - * Returns whether this file location is a local file that already - * exists. + * Returns whether this file location is a local file that already exists. * * @return Whether this file is local and actually exists. * @see #isLocal() */ public abstract boolean isLocalAndExists(); - + /** * Returns whether this file location is a remote location. * diff --git a/src/org/fife/ui/rsyntaxtextarea/FoldingAwareIconRowHeader.java b/src/org/fife/ui/rsyntaxtextarea/FoldingAwareIconRowHeader.java index 7594b3d..3c107d0 100644 --- a/src/org/fife/ui/rsyntaxtextarea/FoldingAwareIconRowHeader.java +++ b/src/org/fife/ui/rsyntaxtextarea/FoldingAwareIconRowHeader.java @@ -28,17 +28,16 @@ import org.fife.ui.rtextarea.IconRowHeader; * @version 1.0 */ public class FoldingAwareIconRowHeader extends IconRowHeader { - + /** * Constructor. * - * @param textArea - * The parent text area. + * @param textArea The parent text area. */ public FoldingAwareIconRowHeader(RSyntaxTextArea textArea) { super(textArea); } - + /** * {@inheritDoc} */ @@ -160,11 +159,11 @@ public class FoldingAwareIconRowHeader extends IconRowHeader { } } } - + /** - * Paints icons when line wrapping is enabled. Note that this does not - * override the parent class's implementation to avoid this version being - * called when line wrapping is disabled. + * Paints icons when line wrapping is enabled. Note that this does not override + * the parent class's implementation to avoid this version being called when + * line wrapping is disabled. */ private void paintComponentWrapped(Graphics g) { // The variables we use are as follows: diff --git a/src/org/fife/ui/rsyntaxtextarea/HtmlOccurrenceMarker.java b/src/org/fife/ui/rsyntaxtextarea/HtmlOccurrenceMarker.java index 8b7b1a0..76b3f9d 100644 --- a/src/org/fife/ui/rsyntaxtextarea/HtmlOccurrenceMarker.java +++ b/src/org/fife/ui/rsyntaxtextarea/HtmlOccurrenceMarker.java @@ -20,49 +20,49 @@ import javax.swing.text.Element; import org.fife.ui.rtextarea.SmartHighlightPainter; /** - * Marks occurrences of the current token for HTML. Tags that require a - * closing tag have their "opposite" tag closed. + * Marks occurrences of the current token for HTML. Tags that require a closing + * tag have their "opposite" tag closed. * * @author Robert Futrell * @version 1.0 */ public class HtmlOccurrenceMarker implements OccurrenceMarker { - + private static final char[] CLOSE_TAG_START = { '<', '/' }; private static final char[] TAG_SELF_CLOSE = { '/', '>' }; private static final Set TAGS_REQUIRING_CLOSING = getRequiredClosingTags(); - + public static final Set getRequiredClosingTags() { - final String[] tags = { "html", "head", "title", "style", "script", "noscript", "body", "section", "nav", "article", "aside", "h1", - "h2", "h3", "h4", "h5", "h6", "header", "footer", "address", "pre", "dialog", "blockquote", "ol", "ul", "dl", "a", "q", - "cite", "em", "strong", "small", "mark", "dfn", "abbr", "time", "progress", "meter", "code", "var", "samp", "kbd", "sub", - "sup", "span", "i", "b", "bdo", "ruby", "rt", "rp", "ins", "del", "figure", "iframe", "object", "video", "audio", "canvas", - "map", "table", "caption", "form", "fieldset", "label", "button", "select", "datalist", "textarea", "output", "details", - "bb", "menu", "legend", "div", + final String[] tags = { "html", "head", "title", "style", "script", "noscript", "body", "section", "nav", + "article", "aside", "h1", "h2", "h3", "h4", "h5", "h6", "header", "footer", "address", "pre", "dialog", + "blockquote", "ol", "ul", "dl", "a", "q", "cite", "em", "strong", "small", "mark", "dfn", "abbr", + "time", "progress", "meter", "code", "var", "samp", "kbd", "sub", "sup", "span", "i", "b", "bdo", + "ruby", "rt", "rp", "ins", "del", "figure", "iframe", "object", "video", "audio", "canvas", "map", + "table", "caption", "form", "fieldset", "label", "button", "select", "datalist", "textarea", "output", + "details", "bb", "menu", "legend", "div", // Obsolete elements - "acronym", "applet", "big", "blink", "center", "dir", "font", "frame", "frameset", "isindex", "listing", "marquee", "nobr", - "noembed", "noframes", "plaintext", "s", "spacer", "strike", "tt", "u", "xmp", }; + "acronym", "applet", "big", "blink", "center", "dir", "font", "frame", "frameset", "isindex", "listing", + "marquee", "nobr", "noembed", "noframes", "plaintext", "s", "spacer", "strike", "tt", "u", "xmp", }; return new HashSet(Arrays.asList(tags)); } - + /** - * If the caret is inside of a tag, this method returns the token - * representing the tag name; otherwise, null is returned. + * If the caret is inside of a tag, this method returns the token representing + * the tag name; otherwise, null is returned. *

    * - * Currently, this method only checks for tag names on the same line as - * the caret, for simplicity. In the future it could check prior lines - * until the tag name is found. + * Currently, this method only checks for tag names on the same line as the + * caret, for simplicity. In the future it could check prior lines until the tag + * name is found. * - * @param textArea - * The text area. - * @param occurrenceMarker - * The occurrence marker. - * @return The token to mark occurrences of. Note that, if the - * specified occurrence marker identifies tokens other than - * tag names, these other element types may be returned. + * @param textArea The text area. + * @param occurrenceMarker The occurrence marker. + * @return The token to mark occurrences of. Note that, if the specified + * occurrence marker identifies tokens other than tag names, these other + * element types may be returned. */ - public static final Token getTagNameTokenForCaretOffset(RSyntaxTextArea textArea, OccurrenceMarker occurrenceMarker) { + public static final Token getTagNameTokenForCaretOffset(RSyntaxTextArea textArea, + OccurrenceMarker occurrenceMarker) { // Get the tag name token. // For now, we only check for tags on the current line, for simplicity. int dot = textArea.getCaretPosition(); @@ -93,7 +93,7 @@ public class HtmlOccurrenceMarker implements OccurrenceMarker { } return toMark; } - + /** * {@inheritDoc} */ @@ -101,7 +101,7 @@ public class HtmlOccurrenceMarker implements OccurrenceMarker { public Token getTokenToMark(RSyntaxTextArea textArea) { return getTagNameTokenForCaretOffset(textArea, this); } - + /** * {@inheritDoc} */ @@ -109,7 +109,7 @@ public class HtmlOccurrenceMarker implements OccurrenceMarker { public boolean isValidType(RSyntaxTextArea textArea, Token t) { return textArea.getMarkOccurrencesOfTokenType(t.getType()); } - + /** * {@inheritDoc} */ @@ -254,15 +254,15 @@ public class HtmlOccurrenceMarker implements OccurrenceMarker { } while (curLine >= 0); } } - + /** * Used internally when searching backward for a matching "open" tag. */ private static class Entry { - + private boolean open; private Token t; - + Entry(boolean open, Token t) { this.open = open; this.t = t; diff --git a/src/org/fife/ui/rsyntaxtextarea/LinkGenerator.java b/src/org/fife/ui/rsyntaxtextarea/LinkGenerator.java index b7b0762..edd147d 100644 --- a/src/org/fife/ui/rsyntaxtextarea/LinkGenerator.java +++ b/src/org/fife/ui/rsyntaxtextarea/LinkGenerator.java @@ -28,17 +28,14 @@ package org.fife.ui.rsyntaxtextarea; * @version 1.0 */ public interface LinkGenerator { - + /** * If a region of text under the mouse position should be considered a - * hyperlink, a result object is returned. This object describes what - * region of text is the link, and what action to perform if the link is - * clicked. + * hyperlink, a result object is returned. This object describes what region of + * text is the link, and what action to perform if the link is clicked. * - * @param textArea - * The text component. - * @param offs - * The offset in the document under the mouse position. + * @param textArea The text component. + * @param offs The offset in the document under the mouse position. * @return The link information, or null if no link is at the * specified offset. */ diff --git a/src/org/fife/ui/rsyntaxtextarea/LinkGeneratorResult.java b/src/org/fife/ui/rsyntaxtextarea/LinkGeneratorResult.java index 5ef97df..8c443bf 100644 --- a/src/org/fife/ui/rsyntaxtextarea/LinkGeneratorResult.java +++ b/src/org/fife/ui/rsyntaxtextarea/LinkGeneratorResult.java @@ -23,19 +23,19 @@ import javax.swing.event.HyperlinkEvent; * @see SelectRegionLinkGeneratorResult */ public interface LinkGeneratorResult { - + /** - * Executes the action associated with this object. If the result is a - * URL to open, a standard hyperlink event can be returned. Alternatively, - * null can be returned and the action performed in this - * method itself. + * Executes the action associated with this object. If the result is a URL to + * open, a standard hyperlink event can be returned. Alternatively, + * null can be returned and the action performed in this method + * itself. * * @return The hyperlink event to broadcast from the text area, or * null if the action's behavior occurs in this method * directly. */ HyperlinkEvent execute(); - + /** * Returns the starting offset of the link specified by the parent * LinkGenerator. diff --git a/src/org/fife/ui/rsyntaxtextarea/MarkOccurrencesSupport.java b/src/org/fife/ui/rsyntaxtextarea/MarkOccurrencesSupport.java index 9bfb1cc..2affdb0 100644 --- a/src/org/fife/ui/rsyntaxtextarea/MarkOccurrencesSupport.java +++ b/src/org/fife/ui/rsyntaxtextarea/MarkOccurrencesSupport.java @@ -19,15 +19,15 @@ import javax.swing.text.Caret; import org.fife.ui.rtextarea.SmartHighlightPainter; /** - * Marks all occurrences of the token at the current caret position, if it is - * an identifier. + * Marks all occurrences of the token at the current caret position, if it is an + * identifier. * * @author Robert Futrell * @version 1.0 * @see OccurrenceMarker */ class MarkOccurrencesSupport implements CaretListener, ActionListener { - + private RSyntaxTextArea textArea; private Timer timer; private SmartHighlightPainter p; @@ -39,36 +39,33 @@ class MarkOccurrencesSupport implements CaretListener, ActionListener { * The default delay. */ static final int DEFAULT_DELAY_MS = 1000; - + /** * Constructor. Creates a listener with a 1 second delay. */ MarkOccurrencesSupport() { this(DEFAULT_DELAY_MS); } - + /** * Constructor. * - * @param delay - * The delay between when the caret last moves and when the - * text should be scanned for matching occurrences. This should - * be in milliseconds. + * @param delay The delay between when the caret last moves and when the text + * should be scanned for matching occurrences. This should be in + * milliseconds. */ MarkOccurrencesSupport(int delay) { this(delay, DEFAULT_COLOR); } - + /** * Constructor. * - * @param delay - * The delay between when the caret last moves and when the - * text should be scanned for matching occurrences. This should - * be in milliseconds. - * @param color - * The color to use to mark the occurrences. This cannot be - * null. + * @param delay The delay between when the caret last moves and when the text + * should be scanned for matching occurrences. This should be in + * milliseconds. + * @param color The color to use to mark the occurrences. This cannot be + * null. */ MarkOccurrencesSupport(int delay, Color color) { timer = new Timer(delay, this); @@ -76,18 +73,17 @@ class MarkOccurrencesSupport implements CaretListener, ActionListener { p = new SmartHighlightPainter(); setColor(color); } - + /** - * Called after the caret has been moved and a fixed time delay has - * elapsed. This locates and highlights all occurrences of the identifier - * at the caret position, if any. + * Called after the caret has been moved and a fixed time delay has elapsed. + * This locates and highlights all occurrences of the identifier at the caret + * position, if any. *

    * * Callers should not call this method directly, but should rather prefer * {@link #doMarkOccurrences()} to mark occurrences. * - * @param e - * The event. + * @param e The event. * @see #doMarkOccurrences() */ @Override @@ -124,18 +120,17 @@ class MarkOccurrencesSupport implements CaretListener, ActionListener { textArea.fireMarkedOccurrencesChanged(); } } - + /** * Called when the caret moves in the text area. * - * @param e - * The event. + * @param e The event. */ @Override public void caretUpdate(CaretEvent e) { timer.restart(); } - + /** * Removes all highlights added to the text area by this listener. */ @@ -145,16 +140,15 @@ class MarkOccurrencesSupport implements CaretListener, ActionListener { h.clearMarkOccurrencesHighlights(); } } - + /** - * Immediately marks all occurrences of the token at the current caret - * position. + * Immediately marks all occurrences of the token at the current caret position. */ public void doMarkOccurrences() { timer.stop(); actionPerformed(null); } - + /** * Returns the color being used to mark occurrences. * @@ -164,7 +158,7 @@ class MarkOccurrencesSupport implements CaretListener, ActionListener { public Color getColor() { return (Color) p.getPaint(); } - + /** * Returns the delay, in milliseconds. * @@ -174,7 +168,7 @@ class MarkOccurrencesSupport implements CaretListener, ActionListener { public int getDelay() { return timer.getDelay(); } - + /** * Returns whether a border is painted around marked occurrences. * @@ -185,13 +179,12 @@ class MarkOccurrencesSupport implements CaretListener, ActionListener { public boolean getPaintBorder() { return p.getPaintBorder(); } - + /** - * Installs this listener on a text area. If it is already installed on - * another text area, it is uninstalled first. + * Installs this listener on a text area. If it is already installed on another + * text area, it is uninstalled first. * - * @param textArea - * The text area to install on. + * @param textArea The text area to install on. */ public void install(RSyntaxTextArea textArea) { if (this.textArea != null) { @@ -203,12 +196,11 @@ class MarkOccurrencesSupport implements CaretListener, ActionListener { setColor(textArea.getMarkOccurrencesColor()); } } - + /** * Sets the color to use when marking occurrences. * - * @param color - * The color to use. + * @param color The color to use. * @see #getColor() * @see #setPaintBorder(boolean) */ @@ -219,25 +211,23 @@ class MarkOccurrencesSupport implements CaretListener, ActionListener { caretUpdate(null); // Force a highlight repaint. } } - + /** - * Sets the delay between the last caret position change and when the - * text is scanned for matching identifiers. A delay is needed to prevent - * repeated scanning while the user is typing. + * Sets the delay between the last caret position change and when the text is + * scanned for matching identifiers. A delay is needed to prevent repeated + * scanning while the user is typing. * - * @param delay - * The new delay. + * @param delay The new delay. * @see #getDelay() */ public void setDelay(int delay) { timer.setInitialDelay(delay); } - + /** * Toggles whether a border is painted around marked highlights. * - * @param paint - * Whether to paint a border. + * @param paint Whether to paint a border. * @see #getPaintBorder() * @see #setColor(Color) */ @@ -249,10 +239,10 @@ class MarkOccurrencesSupport implements CaretListener, ActionListener { } } } - + /** - * Uninstalls this listener from the current text area. Does nothing if - * it not currently installed on any text area. + * Uninstalls this listener from the current text area. Does nothing if it not + * currently installed on any text area. * * @see #install(RSyntaxTextArea) */ diff --git a/src/org/fife/ui/rsyntaxtextarea/MatchedBracketPopup.java b/src/org/fife/ui/rsyntaxtextarea/MatchedBracketPopup.java index 921246f..8b82382 100644 --- a/src/org/fife/ui/rsyntaxtextarea/MatchedBracketPopup.java +++ b/src/org/fife/ui/rsyntaxtextarea/MatchedBracketPopup.java @@ -41,11 +41,11 @@ import org.fife.ui.rsyntaxtextarea.focusabletip.TipUtil; * @version 1.0 */ class MatchedBracketPopup extends JWindow { - + private RSyntaxTextArea textArea; private transient Listener listener; private static final int LEFT_EMPTY_BORDER = 5; - + MatchedBracketPopup(Window parent, RSyntaxTextArea textArea, int offsToRender) { super(parent); this.textArea = textArea; @@ -59,7 +59,7 @@ class MatchedBracketPopup extends JWindow { listener = new Listener(); setLocation(); } - + /** * Overridden to ensure this popup stays in a specific size range. */ @@ -71,7 +71,7 @@ class MatchedBracketPopup extends JWindow { } return size; } - + private String getText(int offsToRender) { int line = 0; try { @@ -110,7 +110,7 @@ class MatchedBracketPopup extends JWindow { } return sb.toString(); } - + /** * Adds key bindings to this popup. */ @@ -121,10 +121,9 @@ class MatchedBracketPopup extends JWindow { im.put(escapeKS, "onEscape"); am.put("onEscape", new EscapeAction()); } - + /** - * Positions this popup to be in the top right-hand corner of the parent - * editor. + * Positions this popup to be in the top right-hand corner of the parent editor. */ private void setLocation() { Point topLeft = textArea.getVisibleRect().getLocation(); @@ -132,23 +131,23 @@ class MatchedBracketPopup extends JWindow { topLeft.y = Math.max(topLeft.y - 24, 0); setLocation(topLeft.x - LEFT_EMPTY_BORDER, topLeft.y); } - + /** * Action performed when Escape is pressed in this popup. */ private class EscapeAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { listener.uninstallAndHide(); } } - + /** * Listens for events in this popup. */ private class Listener extends WindowAdapter implements ComponentListener { - + Listener() { addWindowFocusListener(this); // If anything happens to the "parent" window, hide this popup @@ -157,42 +156,42 @@ class MatchedBracketPopup extends JWindow { parent.addWindowListener(this); parent.addComponentListener(this); } - + @Override public void componentResized(ComponentEvent e) { uninstallAndHide(); } - + @Override public void componentMoved(ComponentEvent e) { uninstallAndHide(); } - + @Override public void componentShown(ComponentEvent e) { uninstallAndHide(); } - + @Override public void componentHidden(ComponentEvent e) { uninstallAndHide(); } - + @Override public void windowActivated(WindowEvent e) { checkForParentWindowEvent(e); } - + @Override public void windowLostFocus(WindowEvent e) { uninstallAndHide(); } - + @Override public void windowIconified(WindowEvent e) { checkForParentWindowEvent(e); } - + private boolean checkForParentWindowEvent(WindowEvent e) { if (e.getSource() == getParent()) { uninstallAndHide(); @@ -200,7 +199,7 @@ class MatchedBracketPopup extends JWindow { } return false; } - + private void uninstallAndHide() { Window parent = (Window) getParent(); parent.removeWindowFocusListener(this); diff --git a/src/org/fife/ui/rsyntaxtextarea/OccurrenceMarker.java b/src/org/fife/ui/rsyntaxtextarea/OccurrenceMarker.java index c292ce2..fb31ba5 100644 --- a/src/org/fife/ui/rsyntaxtextarea/OccurrenceMarker.java +++ b/src/org/fife/ui/rsyntaxtextarea/OccurrenceMarker.java @@ -10,52 +10,44 @@ import org.fife.ui.rtextarea.SmartHighlightPainter; /** * An OccurrenceMarker is called when the caret stops moving after - * a short period. If the current {@link TokenMaker} returns an instance of - * this class, it is told to mark all occurrences of the identifier at the - * caret position. + * a short period. If the current {@link TokenMaker} returns an instance of this + * class, it is told to mark all occurrences of the identifier at the caret + * position. * * @author Robert Futrell * @version 1.0 */ public interface OccurrenceMarker { - + /** - * Returns the token to mark occurrences, of, provided it matches the - * criteria put forth by {@link #isValidType(RSyntaxTextArea, Token)}. - * For most languages, this method should return the token at the caret - * position. + * Returns the token to mark occurrences, of, provided it matches the criteria + * put forth by {@link #isValidType(RSyntaxTextArea, Token)}. For most + * languages, this method should return the token at the caret position. * - * @param textArea - * The text area. - * @return The token to (possibly) mark occurrences of, or - * null if none. + * @param textArea The text area. + * @return The token to (possibly) mark occurrences of, or null if + * none. */ Token getTokenToMark(RSyntaxTextArea textArea); - + /** - * Returns whether the specified token is a type that we can do a - * "mark occurrences" of. Typically, this will delegate to + * Returns whether the specified token is a type that we can do a "mark + * occurrences" of. Typically, this will delegate to * {@link RSyntaxTextArea#getMarkOccurrencesOfTokenType(int)}. * - * @param textArea - * The text area. - * @param t - * The token. + * @param textArea The text area. + * @param t The token. * @return Whether we should mark all occurrences of this token. */ boolean isValidType(RSyntaxTextArea textArea, Token t); - + /** * Called when occurrences of a token should be marked. * - * @param doc - * The document. - * @param t - * The document whose relevant occurrences should be marked. - * @param h - * The highlighter to add the highlights to. - * @param p - * The painter for the highlights. + * @param doc The document. + * @param t The document whose relevant occurrences should be marked. + * @param h The highlighter to add the highlights to. + * @param p The painter for the highlights. */ void markOccurrences(RSyntaxDocument doc, Token t, RSyntaxTextAreaHighlighter h, SmartHighlightPainter p); } diff --git a/src/org/fife/ui/rsyntaxtextarea/ParserManager.java b/src/org/fife/ui/rsyntaxtextarea/ParserManager.java index d447d54..b923bd3 100644 --- a/src/org/fife/ui/rsyntaxtextarea/ParserManager.java +++ b/src/org/fife/ui/rsyntaxtextarea/ParserManager.java @@ -46,7 +46,7 @@ import org.fife.ui.rtextarea.RTextAreaHighlighter.HighlightInfo; * @version 0.9 */ class ParserManager implements DocumentListener, ActionListener, HyperlinkListener, PropertyChangeListener { - + private RSyntaxTextArea textArea; private List parsers; private Timer timer; @@ -55,20 +55,21 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen private Position firstOffsetModded; private Position lastOffsetModded; /** - * Mapping of notices to their highlights in the editor. Can't use a Map - * since parsers could return two ParserNotices that compare - * equally via equals(). Real-world example: The Perl - * compiler will return 2+ identical error messages if the same error is - * committed in a single line more than once. + * Mapping of notices to their highlights in the editor. Can't use a Map since + * parsers could return two ParserNotices that compare equally via + * equals(). Real-world example: The Perl compiler will return 2+ + * identical error messages if the same error is committed in a single line more + * than once. */ private List noticeHighlightPairs; /** * Painter used to underline errors. */ - private SquiggleUnderlineHighlightPainter parserErrorHighlightPainter = new SquiggleUnderlineHighlightPainter(Color.RED); + private SquiggleUnderlineHighlightPainter parserErrorHighlightPainter = new SquiggleUnderlineHighlightPainter( + Color.RED); /** - * If this system property is set to true, debug messages - * will be printed to stdout to help diagnose parsing issues. + * If this system property is set to true, debug messages will be + * printed to stdout to help diagnose parsing issues. */ private static final String PROPERTY_DEBUG_PARSING = "rsta.debugParsing"; /** @@ -76,31 +77,26 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen */ private static final boolean DEBUG_PARSING; /** - * The default delay between the last key press and when the document - * is parsed, in milliseconds. + * The default delay between the last key press and when the document is parsed, + * in milliseconds. */ private static final int DEFAULT_DELAY_MS = 1250; - + /** * Constructor. * - * @param textArea - * The text area whose document the parser will be - * parsing. + * @param textArea The text area whose document the parser will be parsing. */ ParserManager(RSyntaxTextArea textArea) { this(DEFAULT_DELAY_MS, textArea); } - + /** * Constructor. * - * @param delay - * The delay between the last key press and when the document - * is parsed. - * @param textArea - * The text area whose document the parser will be - * parsing. + * @param delay The delay between the last key press and when the document is + * parsed. + * @param textArea The text area whose document the parser will be parsing. */ ParserManager(int delay, RSyntaxTextArea textArea) { this.textArea = textArea; @@ -111,12 +107,11 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen timer.setRepeats(false); running = true; } - + /** * Called when the timer fires (e.g. it's time to parse the document). * - * @param e - * The event. + * @param e The event. */ @Override public void actionPerformed(ActionEvent e) { @@ -132,7 +127,8 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen RSyntaxDocument doc = (RSyntaxDocument) textArea.getDocument(); Element root = doc.getDefaultRootElement(); int firstLine = firstOffsetModded == null ? 0 : root.getElementIndex(firstOffsetModded.getOffset()); - int lastLine = lastOffsetModded == null ? root.getElementCount() - 1 : root.getElementIndex(lastOffsetModded.getOffset()); + int lastLine = lastOffsetModded == null ? root.getElementCount() - 1 + : root.getElementIndex(lastOffsetModded.getOffset()); firstOffsetModded = lastOffsetModded = null; if (DEBUG_PARSING) { System.out.println("[DEBUG]: Minimum lines to parse: " + firstLine + "-" + lastLine); @@ -158,13 +154,11 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen System.out.println("Total parsing time: " + time + " seconds"); } } - + /** * Adds a parser for the text area. * - * @param parser - * The new parser. If this is null, nothing - * happens. + * @param parser The new parser. If this is null, nothing happens. * @see #getParser(int) * @see #removeParser(Parser) */ @@ -183,13 +177,12 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen } } } - + /** - * Adds highlights for a list of parser notices. Any current notices - * from the same Parser, in the same parsed range, are removed. + * Adds highlights for a list of parser notices. Any current notices from the + * same Parser, in the same parsed range, are removed. * - * @param res - * The result of a parsing. + * @param res The result of a parsing. * @see #clearParserNoticeHighlights() */ private void addParserNoticeHighlights(ParseResult res) { @@ -227,16 +220,16 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen System.out.println("[DEBUG]: Done adding parser notices from " + res.getParser()); } } - + /** * Called when the document is modified. * - * @param e - * The document event. + * @param e The document event. */ @Override - public void changedUpdate(DocumentEvent e) {} - + public void changedUpdate(DocumentEvent e) { + } + private void clearParserNoticeHighlights() { RSyntaxTextAreaHighlighter h = (RSyntaxTextAreaHighlighter) textArea.getHighlighter(); if (h != null) { @@ -246,12 +239,11 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen noticeHighlightPairs.clear(); } } - + /** * Removes all parser notice highlights for a specific parser. * - * @param parser - * The parser whose highlights to remove. + * @param parser The parser whose highlights to remove. */ private void clearParserNoticeHighlights(Parser parser) { RSyntaxTextAreaHighlighter h = (RSyntaxTextAreaHighlighter) textArea.getHighlighter(); @@ -268,7 +260,7 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen } } } - + /** * Removes all parsers and any highlights they have created. * @@ -280,20 +272,18 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen parsers.clear(); textArea.fireParserNoticesChange(); } - + /** - * Forces the given {@link Parser} to re-parse the content of this text - * area. + * Forces the given {@link Parser} to re-parse the content of this text area. *

    * - * This method can be useful when a Parser can be configured - * as to what notices it returns. For example, if a Java language parser - * can be configured to set whether no serialVersionUID is a warning, - * error, or ignored, this method can be called after changing the expected - * notice type to have the document re-parsed. + * This method can be useful when a Parser can be configured as to + * what notices it returns. For example, if a Java language parser can be + * configured to set whether no serialVersionUID is a warning, error, or + * ignored, this method can be called after changing the expected notice type to + * have the document re-parsed. * - * @param parser - * The index of the Parser to re-run. + * @param parser The index of the Parser to re-run. * @see #getParser(int) */ public void forceReparsing(int parser) { @@ -313,10 +303,10 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen doc.readUnlock(); } } - + /** - * Returns the delay between the last "concurrent" edit and when the - * document is re-parsed. + * Returns the delay between the last "concurrent" edit and when the document is + * re-parsed. * * @return The delay, in milliseconds. * @see #setDelay(int) @@ -324,12 +314,11 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen public int getDelay() { return timer.getDelay(); } - + /** * Returns the specified parser. * - * @param index - * The index of the parser. + * @param index The index of the parser. * @return The parser. * @see #getParserCount() * @see #addParser(Parser) @@ -338,7 +327,7 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen public Parser getParser(int index) { return parsers.get(index); } - + /** * Returns the number of registered parsers. * @@ -347,14 +336,12 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen public int getParserCount() { return parsers.size(); } - + /** - * Returns a list of the current parser notices for this text area. - * This method (like most Swing methods) should only be called on the - * EDT. + * Returns a list of the current parser notices for this text area. This method + * (like most Swing methods) should only be called on the EDT. * - * @return The list of notices. This will be an empty list if there are - * none. + * @return The list of notices. This will be an empty list if there are none. */ public List getParserNotices() { List notices = new ArrayList(); @@ -365,15 +352,13 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen } return notices; } - + /** - * Returns the tool tip to display for a mouse event at the given - * location. This method is overridden to give a registered parser a - * chance to display a tool tip (such as an error description when the - * mouse is over an error highlight). + * Returns the tool tip to display for a mouse event at the given location. This + * method is overridden to give a registered parser a chance to display a tool + * tip (such as an error description when the mouse is over an error highlight). * - * @param e - * The mouse event. + * @param e The mouse event. * @return The tool tip to display, and possibly a hyperlink event handler. */ public ToolTipInfo getToolTipText(MouseEvent e) { @@ -385,19 +370,12 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen int pos = textArea.viewToModel(p); /* * Highlighter.Highlight[] highlights = textArea.getHighlighter(). - * getHighlights(); - * for (int i=0; i=pos) { - * //return pnh.getMessage(); - * return textArea.getText(start, end-start); - * } - * //} - * } + * getHighlights(); for (int i=0; i=pos) { //return pnh.getMessage(); + * return textArea.getText(start, end-start); } //} } */ if (noticeHighlightPairs != null) { for (NoticeHighlightPair pair : noticeHighlightPairs) { @@ -418,25 +396,23 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen URL imageBase = parserForTip == null ? null : parserForTip.getImageBase(); return new ToolTipInfo(tip, listener, imageBase); } - + /** * Called when the document is modified. * - * @param e - * The document event. + * @param e The document event. */ public void handleDocumentEvent(DocumentEvent e) { if (running && parsers.size() > 0) { timer.restart(); } } - + /** * Called when the user clicks a hyperlink in a * {@link org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip}. * - * @param e - * The event. + * @param e The event. */ @Override public void hyperlinkUpdate(HyperlinkEvent e) { @@ -444,12 +420,11 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen parserForTip.getHyperlinkListener().linkClicked(textArea, e); } } - + /** * Called when the document is modified. * - * @param e - * The document event. + * @param e The document event. */ @Override public void insertUpdate(DocumentEvent e) { @@ -469,14 +444,12 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen } handleDocumentEvent(e); } - + /** * Returns whether a parser notice contains the specified offset. * - * @param notice - * The notice. - * @param offs - * The offset. + * @param notice The notice. + * @param offs The offset. * @return Whether the notice contains the offset. */ private boolean noticeContainsPosition(ParserNotice notice, int offs) { @@ -492,20 +465,18 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen Element elem = root.getElement(line); return elem != null && offs >= elem.getStartOffset() && offs < elem.getEndOffset(); } - + /** - * Since viewToModel() returns the closest model - * position, and the position doesn't necessarily contain the - * point passed in as an argument, this method checks whether the point is - * indeed contained in the view rectangle for the specified offset. + * Since viewToModel() returns the closest model position, + * and the position doesn't necessarily contain the point passed in as + * an argument, this method checks whether the point is indeed contained in the + * view rectangle for the specified offset. * - * @param notice - * The parser notice. - * @param p - * The point possibly contained in the view range of the - * parser notice. - * @return Whether the parser notice actually contains the specified point - * in the view. + * @param notice The parser notice. + * @param p The point possibly contained in the view range of the parser + * notice. + * @return Whether the parser notice actually contains the specified point in + * the view. */ private boolean noticeContainsPointInView(ParserNotice notice, Point p) { try { @@ -543,12 +514,11 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen return true; } } - + /** * Called when a property we're interested in changes. * - * @param e - * The property change event. + * @param e The property change event. */ @Override public void propertyChange(PropertyChangeEvent e) { @@ -565,12 +535,11 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen } } } - + /** * Removes a parser. * - * @param parser - * The parser to remove. + * @param parser The parser to remove. * @return Whether the parser was found. * @see #addParser(Parser) * @see #getParser(int) @@ -583,13 +552,12 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen } return removed; } - + /** - * Removes all parser notices (and clears highlights in the editor) from - * a particular parser. + * Removes all parser notices (and clears highlights in the editor) from a + * particular parser. * - * @param parser - * The parser. + * @param parser The parser. */ private void removeParserNotices(Parser parser) { if (noticeHighlightPairs != null) { @@ -603,14 +571,13 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen } } } - + /** - * Removes any currently stored notices (and the corresponding highlights - * from the editor) from the same Parser, and in the given line range, - * as in the results. + * Removes any currently stored notices (and the corresponding highlights from + * the editor) from the same Parser, and in the given line range, as in the + * results. * - * @param res - * The results. + * @param res The results. */ private void removeParserNotices(ParseResult res) { if (noticeHighlightPairs != null) { @@ -632,12 +599,11 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen } } } - + /** * Called when the document is modified. * - * @param e - * The document event. + * @param e The document event. */ @Override public void removeUpdate(DocumentEvent e) { @@ -658,7 +624,7 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen } handleDocumentEvent(e); } - + /** * Restarts parsing the document. * @@ -668,14 +634,13 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen timer.restart(); running = true; } - + /** - * Sets the delay between the last "concurrent" edit and when the document - * is re-parsed. + * Sets the delay between the last "concurrent" edit and when the document is + * re-parsed. * - * @param millis - * The new delay, in milliseconds. This must be greater - * than 0. + * @param millis The new delay, in milliseconds. This must be greater than + * 0. * @see #getDelay() */ public void setDelay(int millis) { @@ -688,20 +653,18 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen timer.start(); } } - + /** - * Returns whether a parser notice should be removed, based on a parse - * result. + * Returns whether a parser notice should be removed, based on a parse result. * - * @param notice - * The notice in question. - * @param res - * The result. + * @param notice The notice in question. + * @param res The result. * @return Whether the notice should be removed. */ private boolean shouldRemoveNotice(ParserNotice notice, ParseResult res) { if (DEBUG_PARSING) { - System.out.println("[DEBUG]: ... ... shouldRemoveNotice " + notice + ": " + (notice.getParser() == res.getParser())); + System.out.println( + "[DEBUG]: ... ... shouldRemoveNotice " + notice + ": " + (notice.getParser() == res.getParser())); } // NOTE: We must currently remove all notices for the parser. Parser // implementors are required to parse the entire document each parsing @@ -712,7 +675,7 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen // return same_parser && (in_reparsed_range || in_deleted_end_of_doc) return notice.getParser() == res.getParser(); } - + /** * Stops parsing the document. * @@ -722,21 +685,21 @@ class ParserManager implements DocumentListener, ActionListener, HyperlinkListen timer.stop(); running = false; } - + /** * Mapping of a parser notice to its highlight in the editor. */ private static class NoticeHighlightPair { - + private ParserNotice notice; private HighlightInfo highlight; - + NoticeHighlightPair(ParserNotice notice, HighlightInfo highlight) { this.notice = notice; this.highlight = highlight; } } - + static { boolean debugParsing = false; try { diff --git a/src/org/fife/ui/rsyntaxtextarea/PopupWindowDecorator.java b/src/org/fife/ui/rsyntaxtextarea/PopupWindowDecorator.java index 1b647cb..9d682cf 100644 --- a/src/org/fife/ui/rsyntaxtextarea/PopupWindowDecorator.java +++ b/src/org/fife/ui/rsyntaxtextarea/PopupWindowDecorator.java @@ -12,48 +12,45 @@ import javax.swing.JWindow; /** * A hook allowing hosting applications to decorate JWindows created by the * AutoComplete library. For example, you could use the - * JGoodies library to add drop shadows - * to the windows. + * JGoodies library to add drop shadows to + * the windows. * * @author Robert Futrell * @version 1.0 */ public abstract class PopupWindowDecorator { - + /** * The singleton instance of this class. */ private static PopupWindowDecorator decorator; - + /** * Callback called whenever an appropriate JWindow is created by the - * AutoComplete library. Implementations can decorate the window however - * they see fit. + * AutoComplete library. Implementations can decorate the window however they + * see fit. * - * @param window - * The newly-created window. + * @param window The newly-created window. */ public abstract void decorate(JWindow window); - + /** - * Returns the singleton instance of this class. This should only be - * called on the EDT. + * Returns the singleton instance of this class. This should only be called on + * the EDT. * - * @return The singleton instance of this class, or null - * for none. + * @return The singleton instance of this class, or null for none. * @see #set(PopupWindowDecorator) */ public static PopupWindowDecorator get() { return decorator; } - + /** - * Sets the singleton instance of this class. This should only be called - * on the EDT. + * Sets the singleton instance of this class. This should only be called on the + * EDT. * - * @param decorator - * The new instance of this class. This may be - * null. + * @param decorator The new instance of this class. This may be + * null. * @see #get() */ public static void set(PopupWindowDecorator decorator) { diff --git a/src/org/fife/ui/rsyntaxtextarea/RSTAView.java b/src/org/fife/ui/rsyntaxtextarea/RSTAView.java index f7b1055..a1db37c 100644 --- a/src/org/fife/ui/rsyntaxtextarea/RSTAView.java +++ b/src/org/fife/ui/rsyntaxtextarea/RSTAView.java @@ -17,46 +17,38 @@ import javax.swing.text.BadLocationException; * @version 1.0 */ interface RSTAView { - + /** * Returns the y-coordinate of the specified line. *

    * - * This method is quicker than using traditional - * modelToView(int) calls, as the entire bounding box isn't - * computed. + * This method is quicker than using traditional modelToView(int) + * calls, as the entire bounding box isn't computed. * - * @param alloc - * The area the text area can render into. - * @param line - * The line number. - * @return The y-coordinate of the top of the line, or -1 if - * this text area doesn't yet have a positive size or the line is - * hidden (i.e. from folding). - * @throws BadLocationException - * If line isn't a valid line - * number for this document. + * @param alloc The area the text area can render into. + * @param line The line number. + * @return The y-coordinate of the top of the line, or -1 if this + * text area doesn't yet have a positive size or the line is hidden + * (i.e. from folding). + * @throws BadLocationException If line isn't a valid line number + * for this document. */ int yForLine(Rectangle alloc, int line) throws BadLocationException; - + /** * Returns the y-coordinate of the line containing a specified offset. *

    * - * This method is quicker than using traditional - * modelToView(int) calls, as the entire bounding box isn't - * computed. + * This method is quicker than using traditional modelToView(int) + * calls, as the entire bounding box isn't computed. * - * @param alloc - * The area the text area can render into. - * @param offs - * The offset info the document. - * @return The y-coordinate of the top of the offset, or -1 if - * this text area doesn't yet have a positive size or the line is - * hidden (i.e. from folding). - * @throws BadLocationException - * If offs isn't a valid offset - * into the document. + * @param alloc The area the text area can render into. + * @param offs The offset info the document. + * @return The y-coordinate of the top of the offset, or -1 if this + * text area doesn't yet have a positive size or the line is hidden + * (i.e. from folding). + * @throws BadLocationException If offs isn't a valid offset into + * the document. */ int yForLineContaining(Rectangle alloc, int offs) throws BadLocationException; } diff --git a/src/org/fife/ui/rsyntaxtextarea/RSyntaxDocument.java b/src/org/fife/ui/rsyntaxtextarea/RSyntaxDocument.java index e611fb0..3cd4498 100644 --- a/src/org/fife/ui/rsyntaxtextarea/RSyntaxDocument.java +++ b/src/org/fife/ui/rsyntaxtextarea/RSyntaxDocument.java @@ -49,10 +49,9 @@ import me.ByteEdit.edit.JavaAssemblyTokenMaker; * @version 1.0 */ public class RSyntaxDocument extends RDocument implements Iterable, SyntaxConstants { - + /** - * Creates a {@link TokenMaker} appropriate for a given programming - * language. + * Creates a {@link TokenMaker} appropriate for a given programming language. */ private transient TokenMakerFactory tokenMakerFactory; /** @@ -64,8 +63,7 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta */ private String syntaxStyle; /** - * Array of values representing the "last token type" on each line. This is - * used + * Array of values representing the "last token type" on each line. This is used * in cases such as multi-line comments: if the previous line ended with an * (unclosed) multi-line comment, we can use this knowledge and start the * current line's syntax highlighting in multi-line comment state. @@ -77,35 +75,28 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta private transient int tokenRetrievalCount = 0; private transient Segment s; /** - * If this is set to true, debug information about how much - * token + * If this is set to true, debug information about how much token * caching is helping is printed to stdout. */ private static final boolean DEBUG_TOKEN_CACHING = false; - + /** - * Constructs a plain text document. A default root element is created, and - * the + * Constructs a plain text document. A default root element is created, and the * tab size set to 5. * - * @param syntaxStyle - * The syntax highlighting scheme to use. + * @param syntaxStyle The syntax highlighting scheme to use. */ public RSyntaxDocument(String syntaxStyle) { this(null, syntaxStyle); } - + /** - * Constructs a plain text document. A default root element is created, and - * the + * Constructs a plain text document. A default root element is created, and the * tab size set to 5. * - * @param tmf - * The TokenMakerFactory for this document. If this - * is - * null, a default factory is used. - * @param syntaxStyle - * The syntax highlighting scheme to use. + * @param tmf The TokenMakerFactory for this document. If + * this is null, a default factory is used. + * @param syntaxStyle The syntax highlighting scheme to use. */ public RSyntaxDocument(TokenMakerFactory tmf, String syntaxStyle) { putProperty(tabSizeAttribute, Integer.valueOf(5)); @@ -115,27 +106,23 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta setTokenMakerFactory(tmf); setSyntaxStyle(syntaxStyle); } - + /** - * Alerts all listeners to this document of an insertion. This is overridden - * so + * Alerts all listeners to this document of an insertion. This is overridden so * we can update our syntax highlighting stuff. *

    * The syntax highlighting stuff has to be here instead of in - * insertUpdate because insertUpdate is not called - * by + * insertUpdate because insertUpdate is not called by * the undo/redo actions, but this method is. * - * @param e - * The change. + * @param e The change. */ @Override protected void fireInsertUpdate(DocumentEvent e) { cachedTokenList = null; /* * Now that the text is actually inserted into the content and element - * structure, we can update our token elements and - * "last tokens on lines" + * structure, we can update our token elements and "last tokens on lines" * structure. */ Element lineMap = getDefaultRootElement(); @@ -174,23 +161,20 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta // Let all listeners know about the insertion. super.fireInsertUpdate(e); } - + /** - * This method is called AFTER the content has been inserted into the - * document + * This method is called AFTER the content has been inserted into the document * and the element structure has been updated. *

    * The syntax-highlighting updates need to be done here (as opposed to an * override of postRemoveUpdate) as this method is called in - * response to undo/redo events, whereas postRemoveUpdate is - * not. + * response to undo/redo events, whereas postRemoveUpdate is not. *

    * Now that the text is actually inserted into the content and element * structure, we can update our token elements and "last tokens on lines" * structure. * - * @param chng - * The change that occurred. + * @param chng The change that occurred. * @see #removeUpdate */ @Override @@ -240,26 +224,22 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta // Let all of our listeners know about the removal. super.fireRemoveUpdate(chng); } - + /** * Returns the closest {@link TokenTypes "standard" token type} for a given * "internal" token type (e.g. one whose value is < 0). * - * @param type - * The token type. - * @return The closest "standard" token type. If a mapping is not defined - * for + * @param type The token type. + * @return The closest "standard" token type. If a mapping is not defined for * this language, then type is returned. */ public int getClosestStandardTokenTypeForInternalType(int type) { return tokenMaker.getClosestStandardTokenTypeForInternalType(type); } - + /** - * Returns whether closing markup tags should be automatically completed. - * This - * method only returns true if {@link #getLanguageIsMarkup()} - * also + * Returns whether closing markup tags should be automatically completed. This + * method only returns true if {@link #getLanguageIsMarkup()} also * returns true. * * @return Whether markup closing tags should be automatically completed. @@ -269,26 +249,24 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta // TODO: Remove terrible dependency on AbstractMarkupTokenMaker return getLanguageIsMarkup() && ((AbstractMarkupTokenMaker) tokenMaker).getCompleteCloseTags(); } - + /** * Returns whether the current programming language uses curly braces * ('{' and '}') to denote code blocks. * - * @param languageIndex - * The language index at the offset in question. Since some - * TokenMakers effectively have nested languages - * (such - * as JavaScript in HTML), this parameter tells the - * TokenMaker what sub-language to look at. + * @param languageIndex The language index at the offset in question. Since some + * TokenMakers effectively have nested + * languages (such as JavaScript in HTML), this parameter + * tells the TokenMaker what sub-language to + * look at. * @return Whether curly braces denote code blocks. */ public boolean getCurlyBracesDenoteCodeBlocks(int languageIndex) { return tokenMaker.getCurlyBracesDenoteCodeBlocks(languageIndex); } - + /** - * Returns whether the current language is a markup language, such as HTML, - * XML + * Returns whether the current language is a markup language, such as HTML, XML * or PHP. * * @return Whether the current language is a markup language. @@ -296,50 +274,42 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta public boolean getLanguageIsMarkup() { return tokenMaker.isMarkupLanguage(); } - + /** * Returns the token type of the last token on the given line. * - * @param line - * The line to inspect. - * @return The token type of the last token on the specified line. If the - * line + * @param line The line to inspect. + * @return The token type of the last token on the specified line. If the line * is invalid, an exception is thrown. */ public int getLastTokenTypeOnLine(int line) { return lastTokensOnLines.get(line); } - + /** - * Returns the text to place at the beginning and end of a line to "comment" - * it + * Returns the text to place at the beginning and end of a line to "comment" it * in this programming language. * * @return The start and end strings to add to a line to "comment" it out. A - * null value for either means there is no string to - * add - * for that part. A value of null for the array means - * this + * null value for either means there is no string to add + * for that part. A value of null for the array means this * language does not support commenting/uncommenting lines. */ public String[] getLineCommentStartAndEnd(int languageIndex) { return tokenMaker.getLineCommentStartAndEnd(languageIndex); } - + /** - * Returns whether tokens of the specified type should have "mark - * occurrences" + * Returns whether tokens of the specified type should have "mark occurrences" * enabled for the current programming language. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ boolean getMarkOccurrencesOfTokenType(int type) { return tokenMaker.getMarkOccurrencesOfTokenType(type); } - + /** * Returns the occurrence marker for the current language. * @@ -348,13 +318,12 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta OccurrenceMarker getOccurrenceMarker() { return tokenMaker.getOccurrenceMarker(); } - + /** * This method returns whether auto indentation should be done if Enter is * pressed at the end of the specified line. * - * @param line - * The line to check. + * @param line The line to check. * @return Whether an extra indentation should be done. */ public boolean getShouldIndentNextLine(int line) { @@ -362,7 +331,7 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta t = t.getLastNonCommentNonWhitespaceToken(); return tokenMaker.getShouldIndentNextLineAfter(t); } - + /** * Returns the syntax style being used. * @@ -372,16 +341,14 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta public String getSyntaxStyle() { return syntaxStyle; } - + /** * Returns a token list for the specified segment of text representing the * specified line number. This method is basically a wrapper for - * tokenMaker.getTokenList that takes into account the last - * token + * tokenMaker.getTokenList that takes into account the last token * on the previous line to assure token accuracy. * - * @param line - * The line number of text in the document, >= 0. + * @param line The line number of text in the document, >= 0. * @return A token list representing the specified line. */ public final Token getTokenListForLine(int line) { @@ -412,7 +379,7 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta cachedTokenList = tokenMaker.getTokenList(s, initialTokenType, startOffset); return cachedTokenList; } - + boolean insertBreakSpecialHandling(ActionEvent e) { Action a = tokenMaker.getInsertBreakAction(); if (a != null) { @@ -421,28 +388,23 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta } return false; } - + /** * Returns whether a character could be part of an "identifier" token in a - * specific language. This is used to identify such things as the bounds of - * the + * specific language. This is used to identify such things as the bounds of the * "word" to select on double-clicking. * - * @param languageIndex - * The language index the character was found in. - * @param ch - * The character. + * @param languageIndex The language index the character was found in. + * @param ch The character. * @return Whether the character could be part of an "identifier" token. */ public boolean isIdentifierChar(int languageIndex, char ch) { return tokenMaker.isIdentifierChar(languageIndex, ch); } - + /** - * Returns an iterator over the paintable tokens in this document. Results - * are - * undefined if this document is modified while the iterator is being - * iterated + * Returns an iterator over the paintable tokens in this document. Results are + * undefined if this document is modified while the iterator is being iterated * through, so this should only be used on the EDT. *

    * @@ -455,12 +417,11 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta public Iterator iterator() { return new TokenIterator(this); } - + /** * Deserializes a document. * - * @param in - * The stream to read from. + * @param in The stream to read from. * @throws ClassNotFoundException * @throws IOException */ @@ -476,16 +437,13 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta lastTokensOnLines = new DynamicIntArray(lineCount); setSyntaxStyle(syntaxStyle); // Actually install (transient) TokenMaker } - + /** - * Makes our private Segment s point to the text in our - * document - * referenced by the specified element. Note that line MUST be - * a + * Makes our private Segment s point to the text in our document + * referenced by the specified element. Note that line MUST be a * valid line number in the document. * - * @param line - * The line number you want to get. + * @param line The line number you want to get. */ private void setSharedSegment(int line) { Element map = getDefaultRootElement(); @@ -504,20 +462,17 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta throw new InternalError("Text range not in document: " + startOffset + "-" + endOffset); } } - + /** - * Sets the syntax style being used for syntax highlighting in this - * document. + * Sets the syntax style being used for syntax highlighting in this document. * What styles are supported by a document is determined by its * {@link TokenMakerFactory}. By default, all RSyntaxDocuments * support all languages built into RSyntaxTextArea. * - * @param styleKey - * The new style to use, such as - * {@link SyntaxConstants#SYNTAX_STYLE_JAVA}. If this style is - * not - * known or supported by this document, then - * {@link SyntaxConstants#SYNTAX_STYLE_NONE} is used. + * @param styleKey The new style to use, such as + * {@link SyntaxConstants#SYNTAX_STYLE_JAVA}. If this style is + * not known or supported by this document, then + * {@link SyntaxConstants#SYNTAX_STYLE_NONE} is used. * @see #setSyntaxStyle(TokenMaker) * @see #getSyntaxStyle() */ @@ -530,15 +485,13 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta updateSyntaxHighlightingInformation(); this.syntaxStyle = styleKey; } - + /** - * Sets the syntax style being used for syntax highlighting in this - * document. + * Sets the syntax style being used for syntax highlighting in this document. * You should call this method if you've created a custom token maker for a * language not normally supported by RSyntaxTextArea. * - * @param tokenMaker - * The new token maker to use. + * @param tokenMaker The new token maker to use. * @see #setSyntaxStyle(String) */ public void setSyntaxStyle(TokenMaker tokenMaker) { @@ -546,35 +499,28 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta updateSyntaxHighlightingInformation(); this.syntaxStyle = "text/unknown"; // TODO: Make me public? } - + /** * Sets the token maker factory used by this document. * - * @param tmf - * The TokenMakerFactory for this document. If this - * is + * @param tmf The TokenMakerFactory for this document. If this is * null, a default factory is used. */ public void setTokenMakerFactory(TokenMakerFactory tmf) { tokenMakerFactory = tmf != null ? tmf : TokenMakerFactory.getDefaultInstance(); } - + /** - * Loops through the last-tokens-on-lines array from a specified point - * onward, - * updating last-token values until they stop changing. This should be - * called - * when lines are updated/inserted/removed, as doing so may cause lines - * below to + * Loops through the last-tokens-on-lines array from a specified point onward, + * updating last-token values until they stop changing. This should be called + * when lines are updated/inserted/removed, as doing so may cause lines below to * change color. * - * @param line - * The first line to check for a change in last-token value. - * @param numLines - * The number of lines in the document. - * @param previousTokenType - * The last-token value of the line just before - * line. + * @param line The first line to check for a change in last-token + * value. + * @param numLines The number of lines in the document. + * @param previousTokenType The last-token value of the line just before + * line. * @return The last line that needs repainting. */ private int updateLastTokensBelow(int line, int numLines, int previousTokenType) { @@ -627,7 +573,7 @@ public class RSyntaxDocument extends RDocument implements Iterable, Synta } return line; } - + /** * Updates internal state information; e.g. the "last tokens on lines" data. * After this, a changed update is fired to let listeners know that the diff --git a/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextArea.java b/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextArea.java index 95847d9..c27e272 100644 --- a/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextArea.java +++ b/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextArea.java @@ -139,7 +139,7 @@ import org.fife.ui.rtextarea.RecordableTextAction; * @see TextEditorPane */ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { - + public static final String ANIMATE_BRACKET_MATCHING_PROPERTY = "RSTA.animateBracketMatching"; public static final String ANTIALIAS_PROPERTY = "RSTA.antiAlias"; public static final String AUTO_INDENT_PROPERTY = "RSTA.autoIndent"; @@ -191,8 +191,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { */ private Rectangle dotRect; /** - * Used to store the location of the bracket at the caret position (either - * just + * Used to store the location of the bracket at the caret position (either just * before or just after it) and the location of its match. */ private Point bracketInfo; @@ -217,15 +216,13 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { */ private boolean autoIndentEnabled; /** - * Whether curly braces should be closed on Enter key presses, (if the - * current + * Whether curly braces should be closed on Enter key presses, (if the current * language supports it). */ private boolean closeCurlyBraces; /** * Whether closing markup tags should be automatically completed when - * "</" is typed (if the current language is a markup - * language). + * "</" is typed (if the current language is a markup language). */ private boolean closeMarkupTags; /** @@ -241,8 +238,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { /** The color to use when painting tab lines. */ private Color tabLineColor; /** - * Whether hyperlinks are enabled (must be supported by the syntax scheme - * being + * Whether hyperlinks are enabled (must be supported by the syntax scheme being * used). */ private boolean hyperlinksEnabled; @@ -273,8 +269,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { /** Used to work around an issue with Apple JVMs. */ private Point cachedTipLoc; /** - * Whether the editor is currently scanning for hyperlinks on mouse - * movement. + * Whether the editor is currently scanning for hyperlinks on mouse movement. */ private boolean isScanningForLinks; private int hoveredOverLinkOffset; @@ -299,114 +294,101 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { private int maxAscent; private boolean fractionalFontMetricsEnabled; private Color[] secondaryLanguageBackgrounds; - + /** * Constructor. */ - public RSyntaxTextArea() {} - + public RSyntaxTextArea() { + } + /** * Constructor. * - * @param doc - * The document for the editor. + * @param doc The document for the editor. */ public RSyntaxTextArea(RSyntaxDocument doc) { super(doc); setSyntaxEditingStyle(doc.getSyntaxStyle()); } - + /** * Constructor. * - * @param text - * The initial text to display. + * @param text The initial text to display. */ public RSyntaxTextArea(String text) { super(text); } - + /** * Constructor. * - * @param rows - * The number of rows to display. - * @param cols - * The number of columns to display. - * @throws IllegalArgumentException - * If either rows or cols is negative. + * @param rows The number of rows to display. + * @param cols The number of columns to display. + * @throws IllegalArgumentException If either rows or + * cols is negative. */ public RSyntaxTextArea(int rows, int cols) { super(rows, cols); } - + /** * Constructor. * - * @param text - * The initial text to display. - * @param rows - * The number of rows to display. - * @param cols - * The number of columns to display. - * @throws IllegalArgumentException - * If either rows or cols is negative. + * @param text The initial text to display. + * @param rows The number of rows to display. + * @param cols The number of columns to display. + * @throws IllegalArgumentException If either rows or + * cols is negative. */ public RSyntaxTextArea(String text, int rows, int cols) { super(text, rows, cols); } - + /** * Constructor. * - * @param doc - * The document for the editor. - * @param text - * The initial text to display. - * @param rows - * The number of rows to display. - * @param cols - * The number of columns to display. - * @throws IllegalArgumentException - * If either rows or cols is negative. + * @param doc The document for the editor. + * @param text The initial text to display. + * @param rows The number of rows to display. + * @param cols The number of columns to display. + * @throws IllegalArgumentException If either rows or + * cols is negative. */ public RSyntaxTextArea(RSyntaxDocument doc, String text, int rows, int cols) { super(doc, text, rows, cols); } - + /** * Creates a new RSyntaxTextArea. * - * @param textMode - * Either INSERT_MODE or - * OVERWRITE_MODE. + * @param textMode Either INSERT_MODE or + * OVERWRITE_MODE. */ public RSyntaxTextArea(int textMode) { super(textMode); } - + /** * Adds an "active line range" listener to this text area. * - * @param l - * The listener to add. + * @param l The listener to add. * @see #removeActiveLineRangeListener(ActiveLineRangeListener) */ public void addActiveLineRangeListener(ActiveLineRangeListener l) { listenerList.add(ActiveLineRangeListener.class, l); } - + /** * Adds a hyperlink listener to this text area. * - * @param l - * The listener to add. + * @param l The listener to add. * @see #removeHyperlinkListener(HyperlinkListener) */ public void addHyperlinkListener(HyperlinkListener l) { listenerList.add(HyperlinkListener.class, l); } - + /** * Updates the font metrics the first time we're displayed. */ @@ -430,14 +412,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { parserManager.restartParsing(); } } - + /** - * Adds the parser to "validate" the source code in this text area. This can - * be + * Adds the parser to "validate" the source code in this text area. This can be * anything from a spell checker to a "compiler" that verifies source code. * - * @param parser - * The new parser. A value of null will do nothing. + * @param parser The new parser. A value of null will do nothing. * @see #getParser(int) * @see #getParserCount() * @see #removeParser(Parser) @@ -448,14 +428,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } parserManager.addParser(parser); } - + /** - * Appends a submenu with code folding options to this text component's - * popup + * Appends a submenu with code folding options to this text component's popup * menu. * - * @param popup - * The popup menu to append to. + * @param popup The popup menu to append to. * @see #createPopupMenu() */ protected void appendFoldingMenu(JPopupMenu popup) { @@ -468,10 +446,9 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { foldingMenu.add(createPopupMenuItem(expandAllFoldsAction)); popup.add(foldingMenu); } - + /** - * Recalculates the height of a line in this text area and the maximum - * ascent of + * Recalculates the height of a line in this text area and the maximum ascent of * all fonts displayed. */ private void calculateLineHeight() { @@ -503,7 +480,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { maxAscent = ascent; } } - + /** * Removes all parsers from this text area. * @@ -514,15 +491,13 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { parserManager.clearParsers(); } } - + /** * Clones a token list. This is necessary as tokens are reused in - * {@link RSyntaxDocument}, so we can't simply use the ones we are handed - * from + * {@link RSyntaxDocument}, so we can't simply use the ones we are handed from * it. * - * @param t - * The token list to clone. + * @param t The token list to clone. * @return The clone of the token list. */ private TokenImpl cloneTokenList(Token t) { @@ -538,19 +513,16 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } return clone; } - + /** - * Overridden to toggle the enabled state of various - * RSyntaxTextArea-specific + * Overridden to toggle the enabled state of various RSyntaxTextArea-specific * menu items. * * If you set the popup menu via {@link #setPopupMenu(JPopupMenu)}, you will - * want to override this method, especially if you removed any of the menu - * items + * want to override this method, especially if you removed any of the menu items * in the default popup menu. * - * @param popupMenu - * The popup menu. This will never be null. + * @param popupMenu The popup menu. This will never be null. * @see #createPopupMenu() * @see #setPopupMenu(JPopupMenu) */ @@ -562,11 +534,10 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { foldingMenu.setEnabled(foldManager.isCodeFoldingSupportedAndEnabled()); } } - + /** * Copies the currently selected text to the system clipboard, with any - * necessary style information (font, foreground color and background - * color). + * necessary style information (font, foreground color and background color). * Does nothing for null selections. */ public void copyAsRtf() { @@ -619,7 +590,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { return; } } - + /** * Returns the document to use for an RSyntaxTextArea. * @@ -629,7 +600,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { protected Document createDefaultModel() { return new RSyntaxDocument(SYNTAX_STYLE_NONE); } - + /** * Returns the caret event/mouse listener for RTextAreas. * @@ -639,7 +610,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { protected RTAMouseListener createMouseListener() { return new RSyntaxTextAreaMutableCaretEvent(this); } - + /** * Overridden to add menu items related to cold folding. * @@ -652,12 +623,10 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { appendFoldingMenu(popup); return popup; } - + /** - * See createPopupMenuActions() in RTextArea. TODO: Remove these horrible - * hacks - * and move localizing of actions into the editor kits, where it should be! - * The + * See createPopupMenuActions() in RTextArea. TODO: Remove these horrible hacks + * and move localizing of actions into the editor kits, where it should be! The * context menu should contain actions from the editor kits. */ private static void createRstaPopupMenuActions() { @@ -669,7 +638,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { collapseAllFoldsAction = new RSyntaxTextAreaEditorKit.CollapseAllFoldsAction(true); expandAllFoldsAction = new RSyntaxTextAreaEditorKit.ExpandAllFoldsAction(true); } - + /** * Returns the a real UI to install on this text area. * @@ -679,10 +648,9 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { protected RTextAreaUI createRTextAreaUI() { return new RSyntaxTextAreaUI(this); } - + /** - * If the caret is on a bracket, this method finds the matching bracket, and - * if + * If the caret is on a bracket, this method finds the matching bracket, and if * it exists, highlights it. */ protected final void doBracketMatching() { @@ -737,12 +705,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } lastBracketMatchPos = bracketInfo.y; } - + /** * Notifies all listeners that a caret change has occurred. * - * @param e - * The caret event. + * @param e The caret event. */ @Override protected void fireCaretUpdate(CaretEvent e) { @@ -751,14 +718,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { doBracketMatching(); } } - + /** * Notifies all listeners that the active line range has changed. * - * @param min - * The minimum "active" line, or -1. - * @param max - * The maximum "active" line, or -1. + * @param min The minimum "active" line, or -1. + * @param max The maximum "active" line, or -1. */ private void fireActiveLineRangeEvent(int min, int max) { ActiveLineRangeEvent e = null; // Lazily created @@ -775,14 +740,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } } } - + /** - * Notifies all listeners that have registered interest for notification on - * this + * Notifies all listeners that have registered interest for notification on this * event type. The listener list is processed last to first. * - * @param e - * The event to fire. + * @param e The event to fire. */ private void fireHyperlinkUpdate(HyperlinkEvent e) { // Guaranteed to return a non-null array @@ -795,7 +758,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } } } - + /** * Notifies listeners that the marked occurrences for this text area have * changed. @@ -803,23 +766,20 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { void fireMarkedOccurrencesChanged() { firePropertyChange(RSyntaxTextArea.MARKED_OCCURRENCES_CHANGED_PROPERTY, null, null); } - + /** - * Fires a notification that the parser notices for this text area have - * changed. + * Fires a notification that the parser notices for this text area have changed. */ void fireParserNoticesChange() { firePropertyChange(PARSER_NOTICES_PROPERTY, null, null); } - + /** - * Called whenever a fold is collapsed or expanded. This causes the text - * editor + * Called whenever a fold is collapsed or expanded. This causes the text editor * to revalidate. This method is here because of poor design and should be * removed. * - * @param fold - * The fold that was collapsed or expanded. + * @param fold The fold that was collapsed or expanded. */ public void foldToggled(Fold fold) { match = null; // TODO: Update the bracket rect rather than hide it @@ -831,7 +791,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { // deleted (see GitHub issue #22: // https://github.com/bobbylight/RSyntaxTextArea/issues/22) SwingUtilities.invokeLater(new Runnable() { - + @Override public void run() { possiblyUpdateCurrentLineHighlightLocation(); @@ -843,36 +803,30 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { revalidate(); repaint(); } - + /** - * Forces the given {@link Parser} to re-parse the content of this text - * area. + * Forces the given {@link Parser} to re-parse the content of this text area. *

    * - * This method can be useful when a Parser can be configured as - * to + * This method can be useful when a Parser can be configured as to * what notices it returns. For example, if a Java language parser can be * configured to set whether no serialVersionUID is a warning, error, or - * ignored, this method can be called after changing the expected notice - * type to + * ignored, this method can be called after changing the expected notice type to * have the document re-parsed. * - * @param parser - * The index of the Parser to re-run. + * @param parser The index of the Parser to re-run. * @see #getParser(int) */ public void forceReparsing(int parser) { parserManager.forceReparsing(parser); } - + /** * Forces re-parsing with a specific parser. Note that if this parser is not * installed on this text area, nothing will happen. * - * @param parser - * The parser that should re-parse this text area's contents. - * This - * should be installed on this text area. + * @param parser The parser that should re-parse this text area's contents. This + * should be installed on this text area. * @return Whether the parser was installed on this text area. * @see #forceReparsing(int) */ @@ -885,7 +839,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } return false; } - + /** * Returns whether bracket matching should be animated. * @@ -895,7 +849,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getAnimateBracketMatching() { return animateBracketMatching; } - + /** * Returns whether anti-aliasing is enabled in this editor. * @@ -906,15 +860,13 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getAntiAliasingEnabled() { return aaHints != null; } - + /** * Returns the background color for a token. * - * @param token - * The token. + * @param token The token. * @return The background color to use for that token. If this value is is - * null then this token has no special background - * color. + * null then this token has no special background color. * @see #getForegroundForToken(Token) */ public Color getBackgroundForToken(Token token) { @@ -933,12 +885,10 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { // paint a background if they get a null Color. return c; } - + /** - * Returns whether curly braces should be automatically closed when a - * newline is - * entered after an opening curly brace. Note that this property is only - * honored + * Returns whether curly braces should be automatically closed when a newline is + * entered after an opening curly brace. Note that this property is only honored * for languages that use curly braces to denote code blocks. * * @return Whether curly braces should be automatically closed. @@ -947,12 +897,10 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getCloseCurlyBraces() { return closeCurlyBraces; } - + /** - * Returns whether closing markup tags should be automatically completed - * when - * "</" is typed. Note that this property is only honored - * for + * Returns whether closing markup tags should be automatically completed when + * "</" is typed. Note that this property is only honored for * markup languages, such as HTML, XML and PHP. * * @return Whether closing markup tags should be automatically completed. @@ -961,7 +909,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getCloseMarkupTags() { return closeMarkupTags; } - + /** * Returns the code template manager for all instances of * RSyntaxTextArea. The manager is lazily created. @@ -975,7 +923,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } return codeTemplateManager; } - + /** * Returns the default bracket-match background color. * @@ -985,7 +933,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public static final Color getDefaultBracketMatchBGColor() { return DEFAULT_BRACKET_MATCH_BG_COLOR; } - + /** * Returns the default bracket-match border color. * @@ -995,10 +943,9 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public static final Color getDefaultBracketMatchBorderColor() { return DEFAULT_BRACKET_MATCH_BORDER_COLOR; } - + /** - * Returns the default selection color for this text area. This color was - * chosen + * Returns the default selection color for this text area. This color was chosen * because it's light and RSyntaxTextArea does not change text * color between selected/unselected text for contrast like regular * JTextAreas do. @@ -1008,10 +955,9 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public static Color getDefaultSelectionColor() { return DEFAULT_SELECTION_COLOR; } - + /** - * Returns the "default" syntax highlighting color scheme. The colors used - * are + * Returns the "default" syntax highlighting color scheme. The colors used are * somewhat standard among syntax highlighting text editors. * * @return The default syntax highlighting color scheme. @@ -1022,7 +968,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public SyntaxScheme getDefaultSyntaxScheme() { return new SyntaxScheme(getFont()); } - + /** * Returns whether an EOL marker should be drawn at the end of each line. * @@ -1033,7 +979,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getEOLMarkersVisible() { return eolMarkersVisible; } - + /** * Returns the fold manager for this text area. * @@ -1042,12 +988,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public FoldManager getFoldManager() { return foldManager; } - + /** * Returns the font for tokens of the specified type. * - * @param type - * The type of token. + * @param type The type of token. * @return The font to use for that token type. * @see #getFontMetricsForTokenType(int) */ @@ -1055,12 +1000,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { Font f = syntaxScheme.getStyle(type).font; return f != null ? f : getFont(); } - + /** * Returns the font metrics for tokens of the specified type. * - * @param type - * The type of token. + * @param type The type of token. * @return The font metrics to use for that token type. * @see #getFontForTokenType(int) */ @@ -1068,30 +1012,28 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { FontMetrics fm = syntaxScheme.getStyle(type).fontMetrics; return fm != null ? fm : defaultFontMetrics; } - + /** * Returns the foreground color to use when painting a token. * - * @param t - * The token. + * @param t The token. * @return The foreground color to use for that token. This value is never * null. * @see #getBackgroundForToken(Token) */ public Color getForegroundForToken(Token t) { - if (getHyperlinksEnabled() && hoveredOverLinkOffset == t.getOffset() && (t.isHyperlink() || linkGeneratorResult != null)) { + if (getHyperlinksEnabled() && hoveredOverLinkOffset == t.getOffset() + && (t.isHyperlink() || linkGeneratorResult != null)) { return hyperlinkFG; } return getForegroundForTokenType(t.getType()); } - + /** - * Returns the foreground color to use when painting a token. This does not - * take + * Returns the foreground color to use when painting a token. This does not take * into account whether the token is a hyperlink. * - * @param type - * The token type. + * @param type The token type. * @return The foreground color to use for that token. This value is never * null. * @see #getForegroundForToken(Token) @@ -1100,7 +1042,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { Color fg = syntaxScheme.getStyle(type).foreground; return fg != null ? fg : getForeground(); } - + /** * Returns whether fractional font metrics are enabled for this text area. * @@ -1111,15 +1053,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getFractionalFontMetricsEnabled() { return fractionalFontMetricsEnabled; } - + /** - * Returns a Graphics2D version of the specified graphics that - * has + * Returns a Graphics2D version of the specified graphics that has * been initialized with the proper rendering hints. * - * @param g - * The graphics context for which to get a - * Graphics2D. + * @param g The graphics context for which to get a Graphics2D. * @return The Graphics2D. */ private Graphics2D getGraphics2D(Graphics g) { @@ -1132,10 +1071,9 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } return g2d; } - + /** - * Returns whether "secondary" languages should have their backgrounds - * colored + * Returns whether "secondary" languages should have their backgrounds colored * differently to visually differentiate them. This feature imposes a fair * performance penalty. * @@ -1149,7 +1087,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getHighlightSecondaryLanguages() { return highlightSecondaryLanguages; } - + /** * Returns the color to use when painting hyperlinks. * @@ -1160,7 +1098,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public Color getHyperlinkForeground() { return hyperlinkFG; } - + /** * Returns whether hyperlinks are enabled for this text area. * @@ -1170,10 +1108,9 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getHyperlinksEnabled() { return hyperlinksEnabled; } - + /** - * Returns the last visible offset in this text area. This may not be the - * length + * Returns the last visible offset in this text area. This may not be the length * of the document if code folding is enabled. * * @return The last visible offset in this text area. @@ -1191,7 +1128,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } return getDocument().getLength(); } - + /** * Returns the height to use for a line of text in this text area. * @@ -1202,11 +1139,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { // System.err.println("... getLineHeight() returning " + lineHeight); return lineHeight; } - + public LinkGenerator getLinkGenerator() { return linkGenerator; } - + /** * Returns a list of "mark all" highlights in the text area. If there are no * such highlights, this will be an empty list. @@ -1216,7 +1153,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public List getMarkAllHighlightRanges() { return ((RSyntaxTextAreaHighlighter) getHighlighter()).getMarkAllHighlightRanges(); } - + /** * Returns a list of "marked occurrences" in the text area. If there are no * marked occurrences, this will be an empty list. @@ -1226,7 +1163,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public List getMarkedOccurrences() { return ((RSyntaxTextAreaHighlighter) getHighlighter()).getMarkedOccurrences(); } - + /** * Returns whether "Mark Occurrences" is enabled. * @@ -1236,7 +1173,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getMarkOccurrences() { return markOccurrencesSupport != null; } - + /** * Returns the color used for "mark occurrences" highlights. * @@ -1246,7 +1183,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public Color getMarkOccurrencesColor() { return markOccurrencesColor; } - + /** * Returns the delay between when the caret is moved and when "marked * occurrences" are highlighted. @@ -1257,27 +1194,23 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public int getMarkOccurrencesDelay() { return markOccurrencesDelay; } - + /** - * Returns whether tokens of the specified type should have "mark - * occurrences" + * Returns whether tokens of the specified type should have "mark occurrences" * enabled for the current programming language. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ boolean getMarkOccurrencesOfTokenType(int type) { RSyntaxDocument doc = (RSyntaxDocument) getDocument(); return doc.getMarkOccurrencesOfTokenType(type); } - + /** * Gets the color used as the background for a matched bracket. * - * @return The color used. If this is null, no special - * background + * @return The color used. If this is null, no special background * is painted behind a matched bracket. * @see #setMatchedBracketBGColor * @see #getMatchedBracketBorderColor @@ -1285,7 +1218,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public Color getMatchedBracketBGColor() { return matchedBracketBGColor; } - + /** * Gets the color used as the border for a matched bracket. * @@ -1296,13 +1229,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public Color getMatchedBracketBorderColor() { return matchedBracketBorderColor; } - + /** * Returns the caret's offset's rectangle, or null if there is - * currently no matched bracket, bracket matching is disabled, or "paint - * both - * matched brackets" is disabled. This should never be called by the - * programmer + * currently no matched bracket, bracket matching is disabled, or "paint both + * matched brackets" is disabled. This should never be called by the programmer * directly. * * @return The rectangle surrounding the matched bracket. @@ -1311,11 +1242,10 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { Rectangle getDotRectangle() { return dotRect; } - + /** * Returns the matched bracket's rectangle, or null if there is - * currently no matched bracket. This should never be called by the - * programmer + * currently no matched bracket. This should never be called by the programmer * directly. * * @return The rectangle surrounding the matched bracket. @@ -1324,7 +1254,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { Rectangle getMatchRectangle() { return match; } - + /** * Overridden to return the max ascent for any font used in the editor. * @@ -1334,14 +1264,13 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public int getMaxAscent() { return maxAscent; } - + /** * Returns whether the bracket at the caret position is painted as a "match" * when a matched bracket is found. Note that this property does nothing if * {@link #isBracketMatchingEnabled()} returns false. * - * @return Whether both brackets in a bracket pair are highlighted when - * bracket + * @return Whether both brackets in a bracket pair are highlighted when bracket * matching is enabled. * @see #setPaintMatchedBracketPair(boolean) * @see #isBracketMatchingEnabled() @@ -1350,7 +1279,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getPaintMatchedBracketPair() { return paintMatchedBracketPair; } - + /** * Returns whether tab lines are painted. * @@ -1361,18 +1290,15 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public boolean getPaintTabLines() { return paintTabLines; } - + /** * Returns whether to paint the backgrounds of tokens on the specified line * (assuming they are not obstructed by e.g. selection). * - * @param line - * The line number. - * @param y - * The y-offset of the line. This is used when line wrap is - * enabled, - * since each logical line can be rendered as several physical - * lines. + * @param line The line number. + * @param y The y-offset of the line. This is used when line wrap is enabled, + * since each logical line can be rendered as several physical + * lines. * @return Whether to paint the token backgrounds on this line. */ boolean getPaintTokenBackgrounds(int line, float y) { @@ -1383,12 +1309,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { int curCaretY = getCurrentCaretY(); return iy < curCaretY || iy >= curCaretY + getLineHeight() || !getHighlightCurrentLine(); } - + /** * Returns the specified parser. * - * @param index - * The {@link Parser} to retrieve. + * @param index The {@link Parser} to retrieve. * @return The Parser. * @see #getParserCount() * @see #addParser(Parser) @@ -1396,7 +1321,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public Parser getParser(int index) { return parserManager.getParser(index); } - + /** * Returns the number of parsers operating on this text area. * @@ -1406,7 +1331,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public int getParserCount() { return parserManager == null ? 0 : parserManager.getParserCount(); } - + /** * Returns the currently set parser delay. This is the delay that must occur * between edits for any registered {@link Parser}s to run. @@ -1417,14 +1342,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public int getParserDelay() { return parserManager.getDelay(); } - + /** - * Returns a list of the current parser notices for this text area. This - * method + * Returns a list of the current parser notices for this text area. This method * (like most Swing methods) should only be called on the EDT. * - * @return The list of notices. This will be an empty list if there are - * none. + * @return The list of notices. This will be an empty list if there are none. */ public List getParserNotices() { if (parserManager == null) { @@ -1432,7 +1355,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } return parserManager.getParserNotices(); } - + /** * Workaround for JTextComponents allowing the caret to be rendered entirely * off-screen if the entire "previous" character fit entirely. @@ -1443,13 +1366,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { public int getRightHandSideCorrection() { return rhsCorrection; } - + /** - * If auto-indent is enabled, this method returns whether a new line after - * this + * If auto-indent is enabled, this method returns whether a new line after this * one should be indented (based on the standard indentation rules for the - * current programming language). For example, in Java, for a line - * containing: + * current programming language). For example, in Java, for a line containing: * *

     	 * for (int i=0; i<10; i++) {
    @@ -1457,10 +1378,8 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	 *
     	 * the following line should be indented.
     	 *
    -	 * @param line
    -	 *            The line to check.
    -	 * @return Whether a line inserted after this one should be auto-indented.
    -	 *         If
    +	 * @param line The line to check.
    +	 * @return Whether a line inserted after this one should be auto-indented. If
     	 *         auto-indentation is disabled, this will always return
     	 *         false.
     	 * @see #isAutoIndentEnabled()
    @@ -1472,7 +1391,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		}
     		return false;
     	}
    -	
    +
     	/**
     	 * Returns whether a small popup window should display the text on the line
     	 * containing a matched bracket whenever a matched bracket is off- screen.
    @@ -1483,7 +1402,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public boolean getShowMatchedBracketPopup() {
     		return showMatchedBracketPopup;
     	}
    -	
    +
     	/**
     	 * Returns what type of syntax highlighting this editor is doing.
     	 *
    @@ -1495,21 +1414,19 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public String getSyntaxEditingStyle() {
     		return syntaxStyleKey;
     	}
    -	
    +
     	/**
    -	 * Returns all of the colors currently being used in syntax highlighting by
    -	 * this
    +	 * Returns all of the colors currently being used in syntax highlighting by this
     	 * text component.
     	 *
    -	 * @return An instance of SyntaxScheme that represents the
    -	 *         colors
    +	 * @return An instance of SyntaxScheme that represents the colors
     	 *         currently being used for syntax highlighting.
     	 * @see #setSyntaxScheme(SyntaxScheme)
     	 */
     	public SyntaxScheme getSyntaxScheme() {
     		return syntaxScheme;
     	}
    -	
    +
     	/**
     	 * Returns the color used to paint tab lines.
     	 *
    @@ -1521,7 +1438,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public Color getTabLineColor() {
     		return tabLineColor;
     	}
    -	
    +
     	/**
     	 * Returns whether a border is painted around marked occurrences.
     	 *
    @@ -1533,16 +1450,13 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public boolean getPaintMarkOccurrencesBorder() {
     		return paintMarkOccurrencesBorder;
     	}
    -	
    +
     	/**
     	 * Returns the background color for the specified secondary language.
     	 *
    -	 * @param index
    -	 *            The language index. Note that these are 1-based, not 0-based,
    -	 *            and
    -	 *            should be in the range
    -	 *            1-getSecondaryLanguageCount(),
    -	 *            inclusive.
    +	 * @param index The language index. Note that these are 1-based, not 0-based,
    +	 *              and should be in the range
    +	 *              1-getSecondaryLanguageCount(), inclusive.
     	 * @return The color, or null if none.
     	 * @see #getSecondaryLanguageCount()
     	 * @see #setSecondaryLanguageBackground(int, Color)
    @@ -1551,7 +1465,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public Color getSecondaryLanguageBackground(int index) {
     		return secondaryLanguageBackgrounds[index - 1];
     	}
    -	
    +
     	/**
     	 * Returns the number of secondary language backgrounds.
     	 *
    @@ -1563,7 +1477,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public int getSecondaryLanguageCount() {
     		return secondaryLanguageBackgrounds.length;
     	}
    -	
    +
     	/**
     	 * Returns whether or not templates are enabled for all instances of
     	 * RSyntaxTextArea.
    @@ -1583,14 +1497,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public static synchronized boolean getTemplatesEnabled() {
     		return templatesEnabled;
     	}
    -	
    +
     	/**
     	 * Returns a token list for the given range in the document.
     	 *
    -	 * @param startOffs
    -	 *            The starting offset in the document.
    -	 * @param endOffs
    -	 *            The end offset in the document.
    +	 * @param startOffs The starting offset in the document.
    +	 * @param endOffs   The end offset in the document.
     	 * @return The first token in the token list.
     	 */
     	private Token getTokenListFor(int startOffs, int endOffs) {
    @@ -1646,18 +1558,17 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		}
     		return tokenList;
     	}
    -	
    +
     	/**
     	 * Returns a list of tokens representing the given line.
     	 *
    -	 * @param line
    -	 *            The line number to get tokens for.
    +	 * @param line The line number to get tokens for.
     	 * @return A linked list of tokens representing the line's text.
     	 */
     	public Token getTokenListForLine(int line) {
     		return ((RSyntaxDocument) getDocument()).getTokenListForLine(line);
     	}
    -	
    +
     	/**
     	 * Returns the painter to use for rendering tokens.
     	 *
    @@ -1666,17 +1577,13 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	TokenPainter getTokenPainter() {
     		return tokenPainter;
     	}
    -	
    +
     	/**
    -	 * Returns the tool tip to display for a mouse event at the given location.
    -	 * This
    -	 * method is overridden to give a registered parser a chance to display a
    -	 * tool
    -	 * tip (such as an error description when the mouse is over an error
    -	 * highlight).
    +	 * Returns the tool tip to display for a mouse event at the given location. This
    +	 * method is overridden to give a registered parser a chance to display a tool
    +	 * tip (such as an error description when the mouse is over an error highlight).
     	 *
    -	 * @param e
    -	 *            The mouse event.
    +	 * @param e The mouse event.
     	 */
     	@Override
     	public String getToolTipText(MouseEvent e) {
    @@ -1693,12 +1600,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		}
     		return cachedTip = getToolTipTextImpl(e);
     	}
    -	
    +
     	/**
     	 * Does the dirty work of getting the tool tip text.
     	 *
    -	 * @param e
    -	 *            The mouse event.
    +	 * @param e The mouse event.
     	 * @return The tool tip text.
     	 */
     	protected String getToolTipTextImpl(MouseEvent e) {
    @@ -1733,27 +1639,24 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		}
     		return text; // Standard tool tips
     	}
    -	
    +
     	/**
     	 * Returns whether the specified token should be underlined. A token is
    -	 * underlined if its syntax style includes underlining, or if it is a
    -	 * hyperlink
    +	 * underlined if its syntax style includes underlining, or if it is a hyperlink
     	 * and hyperlinks are enabled.
     	 *
    -	 * @param t
    -	 *            The token.
    +	 * @param t The token.
     	 * @return Whether the specified token should be underlined.
     	 */
     	public boolean getUnderlineForToken(Token t) {
    -		return (getHyperlinksEnabled()
    -				&& (t.isHyperlink() || (linkGeneratorResult != null && linkGeneratorResult.getSourceOffset() == t.getOffset())))
    +		return (getHyperlinksEnabled() && (t.isHyperlink()
    +				|| (linkGeneratorResult != null && linkGeneratorResult.getSourceOffset() == t.getOffset())))
     				|| syntaxScheme.getStyle(t.getType()).underline;
     	}
    -	
    +
     	/**
     	 * Returns whether "focusable" tool tips are used instead of standard ones.
    -	 * Focusable tool tips are tool tips that the user can click on, resize,
    -	 * copy
    +	 * Focusable tool tips are tool tips that the user can click on, resize, copy
     	 * from, and click links in.
     	 *
     	 * @return Whether to use focusable tool tips.
    @@ -1763,14 +1666,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public boolean getUseFocusableTips() {
     		return useFocusableTips;
     	}
    -	
    +
     	/**
    -	 * Returns whether selected text should use the "selected text color"
    -	 * property
    -	 * set via {@link #setSelectedTextColor(Color)}. This is the typical
    -	 * behavior of
    -	 * text components. By default, RSyntaxTextArea does not do this, so that
    -	 * token
    +	 * Returns whether selected text should use the "selected text color" property
    +	 * set via {@link #setSelectedTextColor(Color)}. This is the typical behavior of
    +	 * text components. By default, RSyntaxTextArea does not do this, so that token
     	 * styles are visible even in selected regions of text.
     	 *
     	 * @return Whether the "selected text" color is used when painting text in
    @@ -1780,10 +1680,9 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public boolean getUseSelectedTextColor() {
     		return useSelectedTextColor;
     	}
    -	
    +
     	/**
    -	 * Called by constructors to initialize common properties of the text
    -	 * editor.
    +	 * Called by constructors to initialize common properties of the text editor.
     	 */
     	@Override
     	protected void init() {
    @@ -1832,7 +1731,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		setRightHandSideCorrection(0);
     		setShowMatchedBracketPopup(true);
     	}
    -	
    +
     	/**
     	 * Returns whether or not auto-indent is enabled.
     	 *
    @@ -1842,7 +1741,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public boolean isAutoIndentEnabled() {
     		return autoIndentEnabled;
     	}
    -	
    +
     	/**
     	 * Returns whether or not bracket matching is enabled.
     	 *
    @@ -1852,10 +1751,9 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public final boolean isBracketMatchingEnabled() {
     		return bracketMatchingEnabled;
     	}
    -	
    +
     	/**
    -	 * Returns whether or not lines containing nothing but whitespace are made
    -	 * into
    +	 * Returns whether or not lines containing nothing but whitespace are made into
     	 * blank lines when Enter is pressed in them.
     	 *
     	 * @return Whether or not whitespace-only lines are cleared when the user
    @@ -1865,7 +1763,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public boolean isClearWhitespaceLinesEnabled() {
     		return clearWhitespaceLines;
     	}
    -	
    +
     	/**
     	 * Returns whether code folding is enabled. Note that only certain languages
     	 * support code folding; those that do not will ignore this property.
    @@ -1876,7 +1774,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public boolean isCodeFoldingEnabled() {
     		return foldManager.isCodeFoldingEnabled();
     	}
    -	
    +
     	/**
     	 * Returns whether whitespace (spaces and tabs) is visible.
     	 *
    @@ -1887,12 +1785,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public boolean isWhitespaceVisible() {
     		return whitespaceVisible;
     	}
    -	
    +
     	/**
     	 * Returns the token at the specified position in the model.
     	 *
    -	 * @param offs
    -	 *            The position in the model.
    +	 * @param offs The position in the model.
     	 * @return The token, or null if no token is at that position.
     	 * @see #viewToToken(Point)
     	 */
    @@ -1908,7 +1805,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		}
     		return null;
     	}
    -	
    +
     	/**
     	 * The paintComponent method is overridden so we apply any
     	 * necessary rendering hints to the Graphics object.
    @@ -1927,7 +1824,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		}
     		super.paintComponent(getGraphics2D(g));
     	}
    -	
    +
     	private void refreshFontMetrics(Graphics2D g2d) {
     		// It is assumed that any rendering hints are already applied to g2d.
     		defaultFontMetrics = g2d.getFontMetrics(getFont());
    @@ -1939,7 +1836,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     			sv.calculateLongestLine();
     		}
     	}
    -	
    +
     	/**
     	 * {@inheritDoc}
     	 */
    @@ -1955,29 +1852,27 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		// the start offset to be its prior valid (start > end).
     		((RSyntaxTextAreaHighlighter) getHighlighter()).clearMarkOccurrencesHighlights();
     	}
    -	
    +
     	/**
     	 * Removes an "active line range" listener from this text area.
     	 *
    -	 * @param l
    -	 *            The listener to remove.
    +	 * @param l The listener to remove.
     	 * @see #removeActiveLineRangeListener(ActiveLineRangeListener)
     	 */
     	public void removeActiveLineRangeListener(ActiveLineRangeListener l) {
     		listenerList.remove(ActiveLineRangeListener.class, l);
     	}
    -	
    +
     	/**
     	 * Removes a hyperlink listener from this text area.
     	 *
    -	 * @param l
    -	 *            The listener to remove.
    +	 * @param l The listener to remove.
     	 * @see #addHyperlinkListener(HyperlinkListener)
     	 */
     	public void removeHyperlinkListener(HyperlinkListener l) {
     		listenerList.remove(HyperlinkListener.class, l);
     	}
    -	
    +
     	/**
     	 * Overridden so we stop this text area's parsers, if any.
     	 */
    @@ -1988,12 +1883,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		}
     		super.removeNotify();
     	}
    -	
    +
     	/**
     	 * Removes a parser from this text area.
     	 *
    -	 * @param parser
    -	 *            The {@link Parser} to remove.
    +	 * @param parser The {@link Parser} to remove.
     	 * @return Whether the parser was found and removed.
     	 * @see #clearParsers()
     	 * @see #addParser(Parser)
    @@ -2006,7 +1900,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		}
     		return removed;
     	}
    -	
    +
     	/**
     	 * Sets the colors used for syntax highlighting to their defaults.
     	 *
    @@ -2017,21 +1911,17 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     	public void restoreDefaultSyntaxScheme() {
     		setSyntaxScheme(getDefaultSyntaxScheme());
     	}
    -	
    +
     	/**
     	 * Attempts to save all currently-known templates to the current template
     	 * directory, as set by setTemplateDirectory. Templates will be
    -	 * saved as XML files with names equal to their abbreviations; for example,
    -	 * a
    +	 * saved as XML files with names equal to their abbreviations; for example, a
     	 * template that expands on the word "forb" will be saved as
     	 * forb.xml.
     	 *
    -	 * @return Whether or not the save was successful. The save will be
    -	 *         unsuccessful
    -	 *         if the template directory does not exist or if it has not been
    -	 *         set
    -	 *         (i.e., you have not yet called
    -	 *         setTemplateDirectory).
    +	 * @return Whether or not the save was successful. The save will be unsuccessful
    +	 *         if the template directory does not exist or if it has not been set
    +	 *         (i.e., you have not yet called setTemplateDirectory).
     	 * @see #getTemplatesEnabled
     	 * @see #setTemplateDirectory
     	 * @see #setTemplatesEnabled
    @@ -2042,30 +1932,23 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants {
     		}
     		return getCodeTemplateManager().saveTemplates();
     	}
    -	
    +
     	/**
     	 * Sets the "active line range." Note that this RSyntaxTextArea
    -	 * itself does nothing with this information, but if it is contained inside
    -	 * an
    -	 * {@link org.fife.ui.rtextarea.RTextScrollPane}, the active line range may
    -	 * be
    +	 * itself does nothing with this information, but if it is contained inside an
    +	 * {@link org.fife.ui.rtextarea.RTextScrollPane}, the active line range may be
     	 * displayed in the icon area of the {@link org.fife.ui.rtextarea.Gutter}.
     	 * 

    * * Note that basic users of RSyntaxTextArea will not call this * method directly; rather, it is usually called by instances of - * LanguageSupport in the RSTALangaugeSupport - * library. + * LanguageSupport in the RSTALangaugeSupport library. * See http://fifesoft.com for more * information about this library. * - * @param min - * The "minimum" line in the active line range, or - * -1 if + * @param min The "minimum" line in the active line range, or -1 if * the range is being cleared. - * @param max - * The "maximum" line in the active line range, or - * -1 if + * @param max The "maximum" line in the active line range, or -1 if * the range is being cleared. * @see #addActiveLineRangeListener(ActiveLineRangeListener) */ @@ -2075,13 +1958,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } fireActiveLineRangeEvent(min, max); } - + /** * Sets whether bracket matching should be animated. This fires a property * change event of type {@link #ANIMATE_BRACKET_MATCHING_PROPERTY}. * - * @param animate - * Whether to animate bracket matching. + * @param animate Whether to animate bracket matching. * @see #getAnimateBracketMatching() */ public void setAnimateBracketMatching(boolean animate) { @@ -2093,13 +1975,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(ANIMATE_BRACKET_MATCHING_PROPERTY, !animate, animate); } } - + /** * Sets whether anti-aliasing is enabled in this editor. This method fires a * property change event of type {@link #ANTIALIAS_PROPERTY}. * - * @param enabled - * Whether anti-aliasing is enabled. + * @param enabled Whether anti-aliasing is enabled. * @see #getAntiAliasingEnabled() */ public void setAntiAliasingEnabled(boolean enabled) { @@ -2128,13 +2009,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { repaint(); } } - + /** * Sets whether or not auto-indent is enabled. This fires a property change * event of type {@link #AUTO_INDENT_PROPERTY}. * - * @param enabled - * Whether or not auto-indent is enabled. + * @param enabled Whether or not auto-indent is enabled. * @see #isAutoIndentEnabled() */ public void setAutoIndentEnabled(boolean enabled) { @@ -2143,14 +2023,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(AUTO_INDENT_PROPERTY, !enabled, enabled); } } - + /** - * Sets whether bracket matching is enabled. This fires a property change - * event + * Sets whether bracket matching is enabled. This fires a property change event * of type {@link #BRACKET_MATCHING_PROPERTY}. * - * @param enabled - * Whether or not bracket matching should be enabled. + * @param enabled Whether or not bracket matching should be enabled. * @see #isBracketMatchingEnabled() */ public void setBracketMatchingEnabled(boolean enabled) { @@ -2160,15 +2038,14 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(BRACKET_MATCHING_PROPERTY, !enabled, enabled); } } - + /** * Sets whether or not lines containing nothing but whitespace are made into * blank lines when Enter is pressed in them. This method fires a property * change event of type {@link #CLEAR_WHITESPACE_LINES_PROPERTY}. * - * @param enabled - * Whether or not whitespace-only lines are cleared when the user - * presses Enter on them. + * @param enabled Whether or not whitespace-only lines are cleared when the user + * presses Enter on them. * @see #isClearWhitespaceLinesEnabled() */ public void setClearWhitespaceLinesEnabled(boolean enabled) { @@ -2177,20 +2054,17 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(CLEAR_WHITESPACE_LINES_PROPERTY, !enabled, enabled); } } - + /** - * Toggles whether curly braces should be automatically closed when a - * newline is - * entered after an opening curly brace. Note that this property is only - * honored + * Toggles whether curly braces should be automatically closed when a newline is + * entered after an opening curly brace. Note that this property is only honored * for languages that use curly braces to denote code blocks. *

    * * This method fires a property change event of type * {@link #CLOSE_CURLY_BRACES_PROPERTY}. * - * @param close - * Whether curly braces should be automatically closed. + * @param close Whether curly braces should be automatically closed. * @see #getCloseCurlyBraces() */ public void setCloseCurlyBraces(boolean close) { @@ -2199,19 +2073,17 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(CLOSE_CURLY_BRACES_PROPERTY, !close, close); } } - + /** * Sets whether closing markup tags should be automatically completed when - * "</" is typed. Note that this property is only honored - * for + * "</" is typed. Note that this property is only honored for * markup languages, such as HTML, XML and PHP. *

    * * This method fires a property change event of type * {@link #CLOSE_MARKUP_TAGS_PROPERTY}. * - * @param close - * Whether closing markup tags should be automatically completed. + * @param close Whether closing markup tags should be automatically completed. * @see #getCloseMarkupTags() */ public void setCloseMarkupTags(boolean close) { @@ -2220,18 +2092,16 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(CLOSE_MARKUP_TAGS_PROPERTY, !close, close); } } - + /** - * Sets whether code folding is enabled. Note that only certain languages - * will + * Sets whether code folding is enabled. Note that only certain languages will * support code folding out of the box. Those languages which do not support * folding will ignore this property. *

    * This method fires a property change event of type * {@link #CODE_FOLDING_PROPERTY}. * - * @param enabled - * Whether code folding should be enabled. + * @param enabled Whether code folding should be enabled. * @see #isCodeFoldingEnabled() */ public void setCodeFoldingEnabled(boolean enabled) { @@ -2240,7 +2110,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(CODE_FOLDING_PROPERTY, !enabled, enabled); } } - + /** * Sets anti-aliasing to whatever the user's desktop value is. * @@ -2291,21 +2161,21 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } repaint(); } - + /** * Sets the document used by this text area. This is overridden so that only * instances of {@link RSyntaxDocument} are accepted; for all others, an * exception will be thrown. * - * @param document - * The new document for this text area. - * @throws IllegalArgumentException - * If the document is not an RSyntaxDocument. + * @param document The new document for this text area. + * @throws IllegalArgumentException If the document is not an + * RSyntaxDocument. */ @Override public void setDocument(Document document) { if (!(document instanceof RSyntaxDocument)) { - throw new IllegalArgumentException("Documents for " + "RSyntaxTextArea must be instances of " + "RSyntaxDocument!"); + throw new IllegalArgumentException( + "Documents for " + "RSyntaxTextArea must be instances of " + "RSyntaxDocument!"); } if (markOccurrencesSupport != null) { markOccurrencesSupport.clear(); @@ -2316,13 +2186,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { markOccurrencesSupport.doMarkOccurrences(); } } - + /** * Sets whether EOL markers are visible at the end of each line. This method * fires a property change of type {@link #EOL_VISIBLE_PROPERTY}. * - * @param visible - * Whether EOL markers are visible. + * @param visible Whether EOL markers are visible. * @see #getEOLMarkersVisible() * @see #setWhitespaceVisible(boolean) */ @@ -2333,16 +2202,14 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(EOL_VISIBLE_PROPERTY, !visible, visible); } } - + /** * Sets the font used by this text area. Note that if some token styles are - * using a different font, they will not be changed by calling this method. - * To + * using a different font, they will not be changed by calling this method. To * set different fonts on individual token types, use the text area's * SyntaxScheme. * - * @param font - * The font. + * @param font The font. * @see SyntaxScheme#getStyle(int) */ @Override @@ -2372,13 +2239,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { revalidate(); } } - + /** * Sets whether fractional font metrics are enabled. This method fires a * property change event of type {@link #FRACTIONAL_FONTMETRICS_PROPERTY}. * - * @param enabled - * Whether fractional font metrics are enabled. + * @param enabled Whether fractional font metrics are enabled. * @see #getFractionalFontMetricsEnabled() */ public void setFractionalFontMetricsEnabled(boolean enabled) { @@ -2392,15 +2258,13 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(FRACTIONAL_FONTMETRICS_PROPERTY, !enabled, enabled); } } - + /** * Sets the highlighter used by this text area. * - * @param h - * The highlighter. - * @throws IllegalArgumentException - * If h is not an instance of - * {@link RSyntaxTextAreaHighlighter}. + * @param h The highlighter. + * @throws IllegalArgumentException If h is not an instance of + * {@link RSyntaxTextAreaHighlighter}. */ @Override public void setHighlighter(Highlighter h) { @@ -2411,11 +2275,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { h = new RSyntaxTextAreaHighlighter(); } if (!(h instanceof RSyntaxTextAreaHighlighter)) { - throw new IllegalArgumentException("RSyntaxTextArea requires " + "an RSyntaxTextAreaHighlighter for its Highlighter"); + throw new IllegalArgumentException( + "RSyntaxTextArea requires " + "an RSyntaxTextAreaHighlighter for its Highlighter"); } super.setHighlighter(h); } - + /** * Sets whether "secondary" languages should have their backgrounds colored * differently to visually differentiate them. This feature imposes a fair @@ -2433,14 +2298,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(HIGHLIGHT_SECONDARY_LANGUAGES_PROPERTY, !highlight, highlight); } } - + /** * Sets the color to use when painting hyperlinks. * - * @param fg - * The color to use when painting hyperlinks. - * @throws NullPointerException - * If fg is null. + * @param fg The color to use when painting hyperlinks. + * @throws NullPointerException If fg is null. * @see #getHyperlinkForeground() * @see #setHyperlinksEnabled(boolean) */ @@ -2450,14 +2313,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } hyperlinkFG = fg; } - + /** - * Sets whether hyperlinks are enabled for this text area. This method fires - * a + * Sets whether hyperlinks are enabled for this text area. This method fires a * property change event of type {@link #HYPERLINKS_ENABLED_PROPERTY}. * - * @param enabled - * Whether hyperlinks are enabled. + * @param enabled Whether hyperlinks are enabled. * @see #getHyperlinksEnabled() */ public void setHyperlinksEnabled(boolean enabled) { @@ -2467,41 +2328,39 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(HYPERLINKS_ENABLED_PROPERTY, !enabled, enabled); } } - + public void setLinkGenerator(LinkGenerator generator) { this.linkGenerator = generator; } - + /** * Sets the mask for the key used to toggle whether we are scanning for * hyperlinks with mouse hovering. The default value is * CTRL_DOWN_MASK. * - * @param mask - * The mask to use. This should be some bitwise combination of - * {@link InputEvent#CTRL_DOWN_MASK}, - * {@link InputEvent#ALT_DOWN_MASK}, - * {@link InputEvent#SHIFT_DOWN_MASK} or - * {@link InputEvent#META_DOWN_MASK}. For invalid values, - * behavior is - * undefined. + * @param mask The mask to use. This should be some bitwise combination of + * {@link InputEvent#CTRL_DOWN_MASK}, + * {@link InputEvent#ALT_DOWN_MASK}, + * {@link InputEvent#SHIFT_DOWN_MASK} or + * {@link InputEvent#META_DOWN_MASK}. For invalid values, behavior + * is undefined. * @see InputEvent */ public void setLinkScanningMask(int mask) { - mask &= (InputEvent.CTRL_DOWN_MASK | InputEvent.META_DOWN_MASK | InputEvent.ALT_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK); + mask &= (InputEvent.CTRL_DOWN_MASK | InputEvent.META_DOWN_MASK | InputEvent.ALT_DOWN_MASK + | InputEvent.SHIFT_DOWN_MASK); if (mask == 0) { - throw new IllegalArgumentException("mask argument should be " + "some combination of InputEvent.*_DOWN_MASK fields"); + throw new IllegalArgumentException( + "mask argument should be " + "some combination of InputEvent.*_DOWN_MASK fields"); } linkScanningMask = mask; } - + /** - * Toggles whether "mark occurrences" is enabled. This method fires a - * property + * Toggles whether "mark occurrences" is enabled. This method fires a property * change event of type {@link #MARK_OCCURRENCES_PROPERTY}. * - * @param markOccurrences - * Whether "Mark Occurrences" should be enabled. + * @param markOccurrences Whether "Mark Occurrences" should be enabled. * @see #getMarkOccurrences() * @see #setMarkOccurrencesColor(Color) */ @@ -2520,12 +2379,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } } } - + /** * Sets the "mark occurrences" color. * - * @param color - * The new color. This cannot be null. + * @param color The new color. This cannot be null. * @see #getMarkOccurrencesColor() * @see #setMarkOccurrences(boolean) */ @@ -2535,14 +2393,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { markOccurrencesSupport.setColor(color); } } - + /** - * Sets the delay between when the caret is moved and when "marked - * occurrences" + * Sets the delay between when the caret is moved and when "marked occurrences" * are highlighted. * - * @param delay - * The new delay. This must be greater than {@code 0}. + * @param delay The new delay. This must be greater than {@code 0}. * @see #getMarkOccurrencesDelay() * @see #getMarkOccurrences() */ @@ -2557,14 +2413,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } } } - + /** * Sets the color used as the background for a matched bracket. * - * @param color - * The color to use. If this is null, then no - * special - * background is painted behind a matched bracket. + * @param color The color to use. If this is null, then no special + * background is painted behind a matched bracket. * @see #getMatchedBracketBGColor * @see #setMatchedBracketBorderColor * @see #setPaintMarkOccurrencesBorder(boolean) @@ -2575,12 +2429,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { repaint(); } } - + /** * Sets the color used as the border for a matched bracket. * - * @param color - * The color to use. + * @param color The color to use. * @see #getMatchedBracketBorderColor * @see #setMatchedBracketBGColor */ @@ -2590,12 +2443,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { repaint(); } } - + /** * Toggles whether a border should be painted around marked occurrences. * - * @param paintBorder - * Whether to paint a border. + * @param paintBorder Whether to paint a border. * @see #getPaintMarkOccurrencesBorder() * @see #setMarkOccurrencesColor(Color) * @see #setMarkOccurrences(boolean) @@ -2606,10 +2458,9 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { markOccurrencesSupport.setPaintBorder(paintBorder); } } - + /** - * Sets whether the bracket at the caret position is painted as a "match" - * when a + * Sets whether the bracket at the caret position is painted as a "match" when a * matched bracket is found. Note that this property does nothing if * {@link #isBracketMatchingEnabled()} returns false. *

    @@ -2617,10 +2468,8 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { * This method fires a property change event of type * {@link #PAINT_MATCHED_BRACKET_PAIR_PROPERTY}. * - * @param paintPair - * Whether both brackets in a bracket pair should be highlighted - * when - * bracket matching is enabled. + * @param paintPair Whether both brackets in a bracket pair should be + * highlighted when bracket matching is enabled. * @see #getPaintMatchedBracketPair() * @see #isBracketMatchingEnabled() * @see #setBracketMatchingEnabled(boolean) @@ -2633,14 +2482,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(PAINT_MATCHED_BRACKET_PAIR_PROPERTY, !paintMatchedBracketPair, paintMatchedBracketPair); } } - + /** - * Toggles whether tab lines are painted. This method fires a property - * change + * Toggles whether tab lines are painted. This method fires a property change * event of type {@link #TAB_LINES_PROPERTY}. * - * @param paint - * Whether tab lines are painted. + * @param paint Whether tab lines are painted. * @see #getPaintTabLines() * @see #setTabLineColor(Color) */ @@ -2651,16 +2498,13 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(TAB_LINES_PROPERTY, !paint, paint); } } - + /** - * Sets the parser delay. This is the delay that must occur between edits - * for + * Sets the parser delay. This is the delay that must occur between edits for * any registered {@link Parser}s to run. * - * @param millis - * The new parser delay, in milliseconds. This must be greater - * than - * zero. + * @param millis The new parser delay, in milliseconds. This must be greater + * than zero. * @see #getParserDelay() */ public void setParserDelay(int millis) { @@ -2669,7 +2513,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } parserManager.setDelay(millis); } - + /** * Applications typically have no need to modify this value. *

    @@ -2677,9 +2521,8 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { * Workaround for JTextComponents allowing the caret to be rendered entirely * off-screen if the entire "previous" character fit entirely. * - * @param rhsCorrection - * The amount of space to add to the x-axis preferred span. This - * should be non-negative. + * @param rhsCorrection The amount of space to add to the x-axis preferred span. + * This should be non-negative. * @see #getRightHandSideCorrection() */ public void setRightHandSideCorrection(int rhsCorrection) { @@ -2692,18 +2535,14 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { repaint(); } } - + /** * Sets the background color to use for a secondary language. * - * @param index - * The language index. Note that these are 1-based, not 0-based, - * and - * should be in the range - * 1-getSecondaryLanguageCount(), - * inclusive. - * @param color - * The new color, or null for none. + * @param index The language index. Note that these are 1-based, not 0-based, + * and should be in the range + * 1-getSecondaryLanguageCount(), inclusive. + * @param color The new color, or null for none. * @see #getSecondaryLanguageBackground(int) * @see #getSecondaryLanguageCount() */ @@ -2717,28 +2556,25 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } } } - + /** * Sets whether a small popup window should display the text on the line * containing a matched bracket whenever a matched bracket is off- screen. * - * @param show - * Whether to show the popup. + * @param show Whether to show the popup. * @see #getShowMatchedBracketPopup() */ public void setShowMatchedBracketPopup(boolean show) { showMatchedBracketPopup = show; } - + /** - * Sets what type of syntax highlighting this editor is doing. This method - * fires + * Sets what type of syntax highlighting this editor is doing. This method fires * a property change of type {@link #SYNTAX_STYLE_PROPERTY}. * - * @param styleKey - * The syntax editing style to use, for example, - * {@link SyntaxConstants#SYNTAX_STYLE_NONE} or - * {@link SyntaxConstants#SYNTAX_STYLE_JAVA}. + * @param styleKey The syntax editing style to use, for example, + * {@link SyntaxConstants#SYNTAX_STYLE_NONE} or + * {@link SyntaxConstants#SYNTAX_STYLE_JAVA}. * @see #getSyntaxEditingStyle() * @see SyntaxConstants */ @@ -2754,21 +2590,17 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { setActiveLineRange(-1, -1); } } - + /** - * Sets all of the colors used in syntax highlighting to the colors - * specified. - * This uses a shallow copy of the color scheme so that multiple text areas - * can - * share the same color scheme and have their properties changed - * simultaneously. + * Sets all of the colors used in syntax highlighting to the colors specified. + * This uses a shallow copy of the color scheme so that multiple text areas can + * share the same color scheme and have their properties changed simultaneously. *

    * * This method fires a property change event of type * {@link #SYNTAX_SCHEME_PROPERTY}. * - * @param scheme - * The instance of SyntaxScheme to use. + * @param scheme The instance of SyntaxScheme to use. * @see #getSyntaxScheme() */ public void setSyntaxScheme(SyntaxScheme scheme) { @@ -2796,20 +2628,16 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { revalidate(); firePropertyChange(SYNTAX_SCHEME_PROPERTY, old, this.syntaxScheme); } - + /** - * If templates are enabled, all currently-known templates are forgotten and - * all + * If templates are enabled, all currently-known templates are forgotten and all * templates are loaded from all files in the specified directory ending in * "*.xml". If templates aren't enabled, nothing happens. * - * @param dir - * The directory containing files ending in extension + * @param dir The directory containing files ending in extension * .xml that contain templates to load. - * @return true if the load was successful; false - * if - * either templates aren't currently enabled or the load failed - * somehow + * @return true if the load was successful; false if + * either templates aren't currently enabled or the load failed somehow * (most likely, the directory doesn't exist). * @see #getTemplatesEnabled * @see #setTemplatesEnabled @@ -2828,15 +2656,13 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } return false; } - + /** * Enables or disables templates. *

    * - * Templates are a set of "shorthand identifiers" that you can configure so - * that - * you only have to type a short identifier (such as "forb") to insert a - * larger + * Templates are a set of "shorthand identifiers" that you can configure so that + * you only have to type a short identifier (such as "forb") to insert a larger * amount of code into the document (such as: *

    * @@ -2847,13 +2673,10 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { *

    * * Templates are a shared resource among all instances of - * RSyntaxTextArea; that is, templates can only be - * enabled/disabled - * for all text areas globally, not individually, and all text areas have - * access + * RSyntaxTextArea; that is, templates can only be enabled/disabled + * for all text areas globally, not individually, and all text areas have access * of the same templates. This should not be an issue; rather, it should be - * beneficial as it promotes uniformity among all text areas in an - * application. + * beneficial as it promotes uniformity among all text areas in an application. *

    * * For more flexible boilerplate code insertion, consider using the AutoComplete add-on * library. * - * @param enabled - * Whether or not templates should be enabled. + * @param enabled Whether or not templates should be enabled. * @see #getTemplatesEnabled() */ public static synchronized void setTemplatesEnabled(boolean enabled) { templatesEnabled = enabled; } - + /** - * Sets the color use to paint tab lines. This method fires a property - * change + * Sets the color use to paint tab lines. This method fires a property change * event of type {@link #TAB_LINE_COLOR_PROPERTY}. * - * @param c - * The color. If this value is null, the default - * (gray) - * is used. + * @param c The color. If this value is null, the default (gray) is + * used. * @see #getTabLineColor() * @see #setPaintTabLines(boolean) * @see #getPaintTabLines() @@ -2896,17 +2715,14 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(TAB_LINE_COLOR_PROPERTY, old, tabLineColor); } } - + /** * Sets whether "focusable" tool tips are used instead of standard ones. - * Focusable tool tips are tool tips that the user can click on, resize, - * copy - * from, and clink links in. This method fires a property change event of - * type + * Focusable tool tips are tool tips that the user can click on, resize, copy + * from, and clink links in. This method fires a property change event of type * {@link #FOCUSABLE_TIPS_PROPERTY}. * - * @param use - * Whether to use focusable tool tips. + * @param use Whether to use focusable tool tips. * @see #getUseFocusableTips() * @see FocusableTip */ @@ -2916,19 +2732,15 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(FOCUSABLE_TIPS_PROPERTY, !use, use); } } - + /** - * Sets whether selected text should use the "selected text color" property - * (set - * via {@link #setSelectedTextColor(Color)}). This is the typical behavior - * of - * text components. By default, RSyntaxTextArea does not do this, so that - * token + * Sets whether selected text should use the "selected text color" property (set + * via {@link #setSelectedTextColor(Color)}). This is the typical behavior of + * text components. By default, RSyntaxTextArea does not do this, so that token * styles are visible even in selected regions of text. This method fires a * property change event of type {@link #USE_SELECTED_TEXT_COLOR_PROPERTY}. * - * @param use - * Whether to use the "selected text" color when painting text in + * @param use Whether to use the "selected text" color when painting text in * selected regions. * @see #getUseSelectedTextColor() */ @@ -2938,14 +2750,12 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(USE_SELECTED_TEXT_COLOR_PROPERTY, !use, use); } } - + /** - * Sets whether whitespace is visible. This method fires a property change - * of + * Sets whether whitespace is visible. This method fires a property change of * type {@link #VISIBLE_WHITESPACE_PROPERTY}. * - * @param visible - * Whether whitespace should be visible. + * @param visible Whether whitespace should be visible. * @see #isWhitespaceVisible() */ public void setWhitespaceVisible(boolean visible) { @@ -2956,10 +2766,9 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { firePropertyChange(VISIBLE_WHITESPACE_PROPERTY, !visible, visible); } } - + /** - * Resets the editor state after the user clicks on a hyperlink or releases - * the + * Resets the editor state after the user clicks on a hyperlink or releases the * hyperlink modifier. */ private void stopScanningForLinks() { @@ -2974,7 +2783,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } } } - + /** * {@inheritDoc} */ @@ -2990,42 +2799,38 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { // the start offset to be its prior valid (start > end). ((RSyntaxTextAreaHighlighter) getHighlighter()).clearMarkOccurrencesHighlights(); } - + /** * Returns the token at the specified position in the view. * - * @param p - * The position in the view. + * @param p The position in the view. * @return The token, or null if no token is at that position. * @see #modelToToken(int) */ /* - * TODO: This is a little inefficient. This should convert view coordinates - * to - * the underlying token (if any). The way things currently are, we're - * calling + * TODO: This is a little inefficient. This should convert view coordinates to + * the underlying token (if any). The way things currently are, we're calling * getTokenListForLine() twice (once in viewToModel() and once here). */ public Token viewToToken(Point p) { return modelToToken(viewToModel(p)); } - + /** - * Renders the text on the line containing the "matched bracket" after a - * delay. + * Renders the text on the line containing the "matched bracket" after a delay. */ private final class MatchedBracketPopupTimer extends Timer implements ActionListener, CaretListener { - + private MatchedBracketPopup popup; private int origDot; private int matchedBracketOffs; - + private MatchedBracketPopupTimer() { super(350, null); addActionListener(this); setRepeats(false); } - + @Override public void actionPerformed(ActionEvent e) { if (popup != null) { @@ -3036,7 +2841,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { popup.pack(); popup.setVisible(true); } - + @Override public void caretUpdate(CaretEvent e) { int dot = e.getDot(); @@ -3048,39 +2853,38 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } } } - + /** * Restarts this timer, and stores a new offset to paint. * - * @param matchedBracketOffs - * The offset of the new matched bracket. + * @param matchedBracketOffs The offset of the new matched bracket. */ public void restart(int matchedBracketOffs) { this.origDot = getCaretPosition(); this.matchedBracketOffs = matchedBracketOffs; this.restart(); } - + @Override public void start() { super.start(); addCaretListener(this); } } - + /** * A timer that animates the "bracket matching" animation. */ private class BracketMatchingTimer extends Timer implements ActionListener { - + private int pulseCount; - + BracketMatchingTimer() { super(20, null); addActionListener(this); setCoalesce(false); } - + @Override public void actionPerformed(ActionEvent e) { if (isBracketMatchingEnabled()) { @@ -3096,14 +2900,14 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } } } - + private void init(Rectangle r) { r.x += 3; r.y += 3; r.width -= 6; r.height -= 6; // So animation can "grow" match } - + @Override public void start() { init(match); @@ -3113,7 +2917,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { pulseCount = 0; super.start(); } - + private void updateAndInvalidate(Rectangle r) { if (pulseCount < 5) { r.x--; @@ -3130,19 +2934,19 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } } } - + /** * Handles hyperlinks. */ private class RSyntaxTextAreaMutableCaretEvent extends RTextAreaMutableCaretEvent { - + private Insets insets; - + protected RSyntaxTextAreaMutableCaretEvent(RTextArea textArea) { super(textArea); insets = new Insets(0, 0, 0, 0); } - + private HyperlinkEvent createHyperlinkEvent() { HyperlinkEvent he = null; if (linkGeneratorResult != null) { @@ -3166,11 +2970,11 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { } return he; } - + private boolean equal(LinkGeneratorResult e1, LinkGeneratorResult e2) { return e1.getSourceOffset() == e2.getSourceOffset(); } - + @Override public void mouseClicked(MouseEvent e) { if (getHyperlinksEnabled() && isScanningForLinks && hoveredOverLinkOffset > -1) { @@ -3181,7 +2985,7 @@ public class RSyntaxTextArea extends RTextArea implements SyntaxConstants { stopScanningForLinks(); } } - + @Override public void mouseMoved(MouseEvent e) { super.mouseMoved(e); diff --git a/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextAreaHighlighter.java b/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextAreaHighlighter.java index cbb4797..82c52c8 100644 --- a/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextAreaHighlighter.java +++ b/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextAreaHighlighter.java @@ -27,8 +27,8 @@ import org.fife.ui.rtextarea.SmartHighlightPainter; /** * The highlighter implementation used by {@link RSyntaxTextArea}s. It knows to - * always paint "marked occurrences" highlights below selection highlights, - * and squiggle underline highlights above all other highlights. + * always paint "marked occurrences" highlights below selection highlights, and + * squiggle underline highlights above all other highlights. *

    * * Most of this code is copied from javax.swing.text.DefaultHighlighter; @@ -38,22 +38,22 @@ import org.fife.ui.rtextarea.SmartHighlightPainter; * @version 1.0 */ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { - + /** - * Marked occurrences in the document (to be painted separately from - * other highlights). + * Marked occurrences in the document (to be painted separately from other + * highlights). */ private List markedOccurrences; /** - * Highlights from document parsers. These should be painted "on top of" - * all other highlights to ensure they are always above the selection. + * Highlights from document parsers. These should be painted "on top of" all + * other highlights to ensure they are always above the selection. */ private List parserHighlights; /** * The default color used for parser notices when none is specified. */ private static final Color DEFAULT_PARSER_NOTICE_COLOR = Color.RED; - + /** * Constructor. */ @@ -62,7 +62,7 @@ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { parserHighlights = new ArrayList(0); // Often // unused } - + /** * Adds a special "marked occurrence" highlight. * @@ -88,12 +88,11 @@ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { mapper.damageRange(textArea, start, end); return i; } - + /** * Adds a highlight from a parser. * - * @param notice - * The notice from a {@link Parser}. + * @param notice The notice from a {@link Parser}. * @return A tag with which to reference the highlight. * @throws BadLocationException * @see #clearParserHighlights() @@ -128,7 +127,7 @@ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { mapper.damageRange(textArea, start, end); return i; } - + /** * Removes all "marked occurrences" highlights from the view. * @@ -142,7 +141,7 @@ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { } markedOccurrences.clear(); } - + /** * Removes all parser highlights. * @@ -157,12 +156,11 @@ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { } parserHighlights.clear(); } - + /** * Removes all of the highlights for a specific parser. * - * @param parser - * The parser. + * @param parser The parser. */ public void clearParserHighlights(Parser parser) { Iterator i = parserHighlights.iterator(); @@ -176,7 +174,7 @@ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { } } } - + /** * {@inheritDoc} */ @@ -186,10 +184,10 @@ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { markedOccurrences.clear(); parserHighlights.clear(); } - + /** - * Returns a list of "marked occurrences" in the text area. If there are - * no marked occurrences, this will be an empty list. + * Returns a list of "marked occurrences" in the text area. If there are no + * marked occurrences, this will be an empty list. * * @return The list of marked occurrences, or an empty list if none. The * contents of this list will be of type {@link DocumentRange}. @@ -210,19 +208,19 @@ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { } return list; } - + @Override - public void paintLayeredHighlights(Graphics g, int lineStart, int lineEnd, Shape viewBounds, JTextComponent editor, View view) { + public void paintLayeredHighlights(Graphics g, int lineStart, int lineEnd, Shape viewBounds, JTextComponent editor, + View view) { paintListLayered(g, lineStart, lineEnd, viewBounds, editor, view, markedOccurrences); super.paintLayeredHighlights(g, lineStart, lineEnd, viewBounds, editor, view); paintListLayered(g, lineStart, lineEnd, viewBounds, editor, view, parserHighlights); } - + /** * Removes a parser highlight from this view. * - * @param tag - * The reference to the highlight. + * @param tag The reference to the highlight. * @see #addParserHighlight(ParserNotice, * javax.swing.text.Highlighter.HighlightPainter) */ @@ -230,16 +228,15 @@ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { repaintListHighlight(tag); parserHighlights.remove(tag); } - + /** - * Highlight info implementation used for parser notices and marked - * occurrences. + * Highlight info implementation used for parser notices and marked occurrences. */ private static class SyntaxLayeredHighlightInfoImpl extends LayeredHighlightInfoImpl { - + private ParserNotice notice;// Color color; // Used only by Parser // highlights. - + @Override public Color getColor() { // return color; @@ -252,11 +249,11 @@ public class RSyntaxTextAreaHighlighter extends RTextAreaHighlighter { } return color; } - + @Override public String toString() { - return "[SyntaxLayeredHighlightInfoImpl: " + "startOffs=" + getStartOffset() + ", endOffs=" + getEndOffset() + ", color=" - + getColor() + "]"; + return "[SyntaxLayeredHighlightInfoImpl: " + "startOffs=" + getStartOffset() + ", endOffs=" + getEndOffset() + + ", color=" + getColor() + "]"; } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextAreaUI.java b/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextAreaUI.java index 37f9213..223109c 100644 --- a/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextAreaUI.java +++ b/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextAreaUI.java @@ -27,34 +27,33 @@ import org.fife.ui.rtextarea.RTextArea; import org.fife.ui.rtextarea.RTextAreaUI; /** - * UI used by RSyntaxTextArea. This allows us to implement - * syntax highlighting. + * UI used by RSyntaxTextArea. This allows us to implement syntax + * highlighting. * * @author Robert Futrell * @version 0.1 */ public class RSyntaxTextAreaUI extends RTextAreaUI { - + private static final String SHARED_ACTION_MAP_NAME = "RSyntaxTextAreaUI.actionMap"; private static final String SHARED_INPUT_MAP_NAME = "RSyntaxTextAreaUI.inputMap"; private static final EditorKit DEFAULT_KIT = new RSyntaxTextAreaEditorKit(); - + public static ComponentUI createUI(JComponent ta) { return new RSyntaxTextAreaUI(ta); } - + /** * Constructor. */ public RSyntaxTextAreaUI(JComponent rSyntaxTextArea) { super(rSyntaxTextArea); } - + /** * Creates the view for an element. * - * @param elem - * The element. + * @param elem The element. * @return The view. */ @Override @@ -72,7 +71,7 @@ public class RSyntaxTextAreaUI extends RTextAreaUI { } return null; } - + /** * Creates the highlighter to use for syntax text areas. * @@ -82,11 +81,11 @@ public class RSyntaxTextAreaUI extends RTextAreaUI { protected Highlighter createHighlighter() { return new RSyntaxTextAreaHighlighter(); } - + /** - * Returns the name to use to cache/fetch the shared action map. This - * should be overridden by subclasses if the subclass has its own custom - * editor kit to install, so its actions get picked up. + * Returns the name to use to cache/fetch the shared action map. This should be + * overridden by subclasses if the subclass has its own custom editor kit to + * install, so its actions get picked up. * * @return The name of the cached action map. */ @@ -94,12 +93,11 @@ public class RSyntaxTextAreaUI extends RTextAreaUI { protected String getActionMapName() { return SHARED_ACTION_MAP_NAME; } - + /** * Fetches the EditorKit for the UI. * - * @param tc - * The text component for which this UI is installed. + * @param tc The text component for which this UI is installed. * @return The editor capabilities. * @see javax.swing.plaf.TextUI#getEditorKit */ @@ -107,16 +105,16 @@ public class RSyntaxTextAreaUI extends RTextAreaUI { public EditorKit getEditorKit(JTextComponent tc) { return DEFAULT_KIT; } - + /** * Get the InputMap to use for the UI. *

    * - * This method is not named getInputMap() because there is - * a package-private method in BasicTextAreaUI with that name. - * Thus, creating a new method with that name causes certain compilers to - * issue warnings that you are not actually overriding the original method - * (since it is package-private). + * This method is not named getInputMap() because there is a + * package-private method in BasicTextAreaUI with that name. Thus, + * creating a new method with that name causes certain compilers to issue + * warnings that you are not actually overriding the original method (since it + * is package-private). */ @Override protected InputMap getRTextAreaInputMap() { @@ -132,18 +130,17 @@ public class RSyntaxTextAreaUI extends RTextAreaUI { map.setParent(shared); return map; } - + @Override protected void paintEditorAugmentations(Graphics g) { super.paintEditorAugmentations(g); paintMatchedBracket(g); } - + /** * Paints the "matched bracket", if any. * - * @param g - * The graphics context. + * @param g The graphics context. */ protected void paintMatchedBracket(Graphics g) { RSyntaxTextArea rsta = (RSyntaxTextArea) textArea; @@ -160,7 +157,7 @@ public class RSyntaxTextAreaUI extends RTextAreaUI { } } } - + protected void paintMatchedBracketImpl(Graphics g, RSyntaxTextArea rsta, Rectangle r) { // We must add "-1" to the height because otherwise we'll paint below // the region that gets invalidated. @@ -183,13 +180,12 @@ public class RSyntaxTextAreaUI extends RTextAreaUI { g.drawRect(r.x, r.y, r.width, r.height - 1); } } - + /** * Gets called whenever a bound property is changed on this UI's * RSyntaxTextArea. * - * @param e - * The property change event. + * @param e The property change event. */ @Override protected void propertyChange(PropertyChangeEvent e) { @@ -204,7 +200,7 @@ public class RSyntaxTextAreaUI extends RTextAreaUI { super.propertyChange(e); } } - + /** * Updates the view. This should be called when the underlying * RSyntaxTextArea changes its syntax editing style. @@ -212,14 +208,13 @@ public class RSyntaxTextAreaUI extends RTextAreaUI { public void refreshSyntaxHighlighting() { modelChanged(); } - + /** * Returns the y-coordinate of the specified line. *

    * - * This method is quicker than using traditional - * modelToView(int) calls, as the entire bounding box isn't - * computed. + * This method is quicker than using traditional modelToView(int) + * calls, as the entire bounding box isn't computed. */ @Override public int yForLine(int line) throws BadLocationException { @@ -230,7 +225,7 @@ public class RSyntaxTextAreaUI extends RTextAreaUI { } return -1; } - + /** * Returns the y-coordinate of the line containing a specified offset. *

    diff --git a/src/org/fife/ui/rsyntaxtextarea/RSyntaxUtilities.java b/src/org/fife/ui/rsyntaxtextarea/RSyntaxUtilities.java index 36a024e..781abf9 100644 --- a/src/org/fife/ui/rsyntaxtextarea/RSyntaxUtilities.java +++ b/src/org/fife/ui/rsyntaxtextarea/RSyntaxUtilities.java @@ -46,7 +46,7 @@ import org.fife.ui.rtextarea.RTextScrollPane; * @version 0.2 */ public final class RSyntaxUtilities implements SwingConstants { - + /** * Integer constant representing a Windows-variant OS. */ @@ -60,13 +60,13 @@ public final class RSyntaxUtilities implements SwingConstants { */ public static final int OS_LINUX = 4; /** - * Integer constant representing an "unknown" OS. 99.99% of the - * time, this means some UNIX variant (AIX, SunOS, etc.). + * Integer constant representing an "unknown" OS. 99.99% of the time, this means + * some UNIX variant (AIX, SunOS, etc.). */ public static final int OS_OTHER = 8; /** - * Used for the color of hyperlinks when a LookAndFeel uses light text - * against a dark background. + * Used for the color of hyperlinks when a LookAndFeel uses light text against a + * dark background. */ private static final Color LIGHT_HYPERLINK_FG = new Color(0xd8ffff); private static final int OS = getOSImpl(); @@ -79,12 +79,12 @@ public final class RSyntaxUtilities implements SwingConstants { private static final int BRACKET_MASK = 64; private static final int JAVA_OPERATOR_MASK = 128; /** - * A lookup table used to quickly decide if a 16-bit Java char is a - * US-ASCII letter (A-Z or a-z), a digit, a whitespace char (either space - * (0x0020) or tab (0x0009)), etc. This method should be faster - * than Character.isLetter, Character.isDigit, - * and Character.isWhitespace because we know we are dealing - * with ASCII chars and so don't have to worry about code planes, etc. + * A lookup table used to quickly decide if a 16-bit Java char is a US-ASCII + * letter (A-Z or a-z), a digit, a whitespace char (either space (0x0020) or tab + * (0x0009)), etc. This method should be faster than + * Character.isLetter, Character.isDigit, and + * Character.isWhitespace because we know we are dealing with ASCII + * chars and so don't have to worry about code planes, etc. */ private static final int[] DATA_TABLE = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, // 0-15 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16-31 @@ -121,7 +121,7 @@ public final class RSyntaxUtilities implements SwingConstants { * Used internally. */ private static final String BRACKETS = "{([})]"; - + /** * An unused constructor to prevent instantiation, and keep static analysis * tools happy. @@ -129,21 +129,20 @@ public final class RSyntaxUtilities implements SwingConstants { private RSyntaxUtilities() { // NOSONAR // Private constructor to prevent instantiation. } - + /** * Returns a string with characters that are special to HTML (such as - * <, > and &) replaced - * by their HTML escape sequences. + * <, > and &) replaced by + * their HTML escape sequences. * - * @param s - * The input string. - * @param newlineReplacement - * What to replace newline characters with. - * If this is null, they are simply removed. - * @param inPreBlock - * Whether this HTML will be in within pre - * tags. If this is true, spaces will be kept as-is; - * otherwise, they will be converted to " ". + * @param s The input string. + * @param newlineReplacement What to replace newline characters with. If this is + * null, they are simply removed. + * @param inPreBlock Whether this HTML will be in within + * pre tags. If this is + * true, spaces will be kept as-is; + * otherwise, they will be converted to + * " ". * @return The escaped version of s. */ public static String escapeForHtml(String s, String newlineReplacement, boolean inPreBlock) { @@ -159,58 +158,58 @@ public final class RSyntaxUtilities implements SwingConstants { for (int i = 0; i < s.length(); i++) { char ch = s.charAt(i); switch (ch) { - case ' ': - if (inPreBlock || !lastWasSpace) { - sb.append(' '); - } else { - sb.append(" "); - } - lastWasSpace = true; - break; - case '\n': - sb.append(newlineReplacement); - lastWasSpace = false; - break; - case '&': - sb.append("&"); - lastWasSpace = false; - break; - case '\t': - sb.append(tabString); - lastWasSpace = false; - break; - case '<': - sb.append("<"); - lastWasSpace = false; - break; - case '>': - sb.append(">"); - lastWasSpace = false; - break; - case '\'': - sb.append("'"); - lastWasSpace = false; - break; - case '"': - sb.append("""); - lastWasSpace = false; - break; - case '/': // OWASP-recommended even though unnecessary - sb.append("/"); - lastWasSpace = false; - break; - default: - sb.append(ch); - lastWasSpace = false; - break; + case ' ': + if (inPreBlock || !lastWasSpace) { + sb.append(' '); + } else { + sb.append(" "); + } + lastWasSpace = true; + break; + case '\n': + sb.append(newlineReplacement); + lastWasSpace = false; + break; + case '&': + sb.append("&"); + lastWasSpace = false; + break; + case '\t': + sb.append(tabString); + lastWasSpace = false; + break; + case '<': + sb.append("<"); + lastWasSpace = false; + break; + case '>': + sb.append(">"); + lastWasSpace = false; + break; + case '\'': + sb.append("'"); + lastWasSpace = false; + break; + case '"': + sb.append("""); + lastWasSpace = false; + break; + case '/': // OWASP-recommended even though unnecessary + sb.append("/"); + lastWasSpace = false; + break; + default: + sb.append(ch); + lastWasSpace = false; + break; } } return sb.toString(); } - + /** - * Returns the rendering hints for text that will most accurately reflect - * those of the native windowing system. + * Returns the rendering hints for text that will most accurately reflect those + * of the native windowing system. * * @return The rendering hints, or null if they cannot be * determined. @@ -218,12 +217,11 @@ public final class RSyntaxUtilities implements SwingConstants { public static Map getDesktopAntiAliasHints() { return (Map) Toolkit.getDefaultToolkit().getDesktopProperty("awt.font.desktophints"); } - + /** * Returns the color to use for the line underneath a folded region line. * - * @param textArea - * The text area. + * @param textArea The text area. * @return The color to use. */ public static Color getFoldedLineBottomColor(RSyntaxTextArea textArea) { @@ -234,15 +232,14 @@ public final class RSyntaxUtilities implements SwingConstants { } return color; } - + /** - * Returns the gutter component of the scroll pane containing a text - * area, if any. + * Returns the gutter component of the scroll pane containing a text area, if + * any. * - * @param textArea - * The text area. - * @return The gutter, or null if the text area is not in - * an {@link RTextScrollPane}. + * @param textArea The text area. + * @return The gutter, or null if the text area is not in an + * {@link RTextScrollPane}. * @see RTextScrollPane#getGutter() */ public static Gutter getGutter(RTextArea textArea) { @@ -257,12 +254,12 @@ public final class RSyntaxUtilities implements SwingConstants { } return gutter; } - + /** - * Returns the color to use for hyperlink-style components. This method - * will return Color.blue unless it appears that the current - * LookAndFeel uses light text on a dark background, in which case a - * brighter alternative is returned. + * Returns the color to use for hyperlink-style components. This method will + * return Color.blue unless it appears that the current LookAndFeel + * uses light text on a dark background, in which case a brighter alternative is + * returned. * * @return The color to use for hyperlinks. * @see #isLightForeground(Color) @@ -276,12 +273,11 @@ public final class RSyntaxUtilities implements SwingConstants { } return isLightForeground(fg) ? LIGHT_HYPERLINK_FG : Color.blue; } - + /** * Returns the leading whitespace of a string. * - * @param text - * The String to check. + * @param text The String to check. * @return The leading whitespace. * @see #getLeadingWhitespace(Document, int) */ @@ -293,18 +289,15 @@ public final class RSyntaxUtilities implements SwingConstants { } return text.substring(0, count); } - + /** * Returns the leading whitespace of a specific line in a document. * - * @param doc - * The document. - * @param offs - * The offset whose line to get the leading whitespace for. + * @param doc The document. + * @param offs The offset whose line to get the leading whitespace for. * @return The leading whitespace. - * @throws BadLocationException - * If offs is not a valid offset - * in the document. + * @throws BadLocationException If offs is not a valid offset in + * the document. * @see #getLeadingWhitespace(String) */ public static String getLeadingWhitespace(Document doc, int offs) throws BadLocationException { @@ -316,7 +309,7 @@ public final class RSyntaxUtilities implements SwingConstants { String text = doc.getText(startOffs, endOffs - startOffs); return getLeadingWhitespace(text); } - + private static Element getLineElem(Document d, int offs) { Element map = d.getDefaultRootElement(); int index = map.getElementIndex(offs); @@ -326,45 +319,37 @@ public final class RSyntaxUtilities implements SwingConstants { } return null; } - + /** - * Returns the bounding box (in the current view) of a specified position - * in the model. This method is designed for line-wrapped views to use, - * as it allows you to specify a "starting position" in the line, from - * which the x-value is assumed to be zero. The idea is that you specify - * the first character in a physical line as p0, as this is - * the character where the x-pixel value is 0. + * Returns the bounding box (in the current view) of a specified position in the + * model. This method is designed for line-wrapped views to use, as it allows + * you to specify a "starting position" in the line, from which the x-value is + * assumed to be zero. The idea is that you specify the first character in a + * physical line as p0, as this is the character where the x-pixel + * value is 0. * - * @param textArea - * The text area containing the text. - * @param s - * A segment in which to load the line. This is passed in so we - * don't have to reallocate a new Segment for each - * call. - * @param p0 - * The starting position in the physical line in the document. - * @param p1 - * The position for which to get the bounding box in the view. - * @param e - * How to expand tabs. - * @param rect - * The rectangle whose x- and width-values are changed to - * represent the bounding box of p1. This is reused - * to keep from needlessly reallocating Rectangles. - * @param x0 - * The x-coordinate (pixel) marking the left-hand border of the - * text. This is useful if the text area has a border, for - * example. + * @param textArea The text area containing the text. + * @param s A segment in which to load the line. This is passed in so we + * don't have to reallocate a new Segment for each + * call. + * @param p0 The starting position in the physical line in the document. + * @param p1 The position for which to get the bounding box in the view. + * @param e How to expand tabs. + * @param rect The rectangle whose x- and width-values are changed to + * represent the bounding box of p1. This is reused + * to keep from needlessly reallocating Rectangles. + * @param x0 The x-coordinate (pixel) marking the left-hand border of the + * text. This is useful if the text area has a border, for + * example. * @return The bounding box in the view of the character p1. - * @throws BadLocationException - * If p0 or p1 is - * not a valid location in the specified text area's document. - * @throws IllegalArgumentException - * If p0 and p1 - * are not on the same line. + * @throws BadLocationException If p0 or p1 is not + * a valid location in the specified text + * area's document. + * @throws IllegalArgumentException If p0 and p1 are + * not on the same line. */ - public static Rectangle getLineWidthUpTo(RSyntaxTextArea textArea, Segment s, int p0, int p1, TabExpander e, Rectangle rect, int x0) - throws BadLocationException { + public static Rectangle getLineWidthUpTo(RSyntaxTextArea textArea, Segment s, int p0, int p1, TabExpander e, + Rectangle rect, int x0) throws BadLocationException { RSyntaxDocument doc = (RSyntaxDocument) textArea.getDocument(); // Ensure p0 and p1 are valid document positions. if (p0 < 0) { @@ -392,22 +377,19 @@ public final class RSyntaxUtilities implements SwingConstants { rect = t.listOffsetToView(textArea, e, p1, x0, rect); return rect; } - + /** - * Returns the location of the bracket paired with the one at the current - * caret position. + * Returns the location of the bracket paired with the one at the current caret + * position. * - * @param textArea - * The text area. - * @param input - * A point to use as the return value. If this is - * null, a new object is created and returned. - * @return A point representing the matched bracket info. The "x" field - * is the offset of the bracket at the caret position (either just - * before or just after the caret), and the "y" field is the offset - * of the matched bracket. Both "x" and "y" will be - * -1 if there isn't a matching bracket (or the caret - * isn't on a bracket). + * @param textArea The text area. + * @param input A point to use as the return value. If this is + * null, a new object is created and returned. + * @return A point representing the matched bracket info. The "x" field is the + * offset of the bracket at the caret position (either just before or + * just after the caret), and the "y" field is the offset of the matched + * bracket. Both "x" and "y" will be -1 if there isn't a + * matching bracket (or the caret isn't on a bracket). */ public static Point getMatchingBracketPosition(RSyntaxTextArea textArea, Point input) { if (input == null) { @@ -491,7 +473,8 @@ public final class RSyntaxUtilities implements SwingConstants { token = RSyntaxUtilities.getTokenAtOffset(token, offset); if (token.getType() == Token.SEPARATOR && token.getLanguageIndex() == languageIndex) { if (numEmbedded == 0) { - if (textArea.isCodeFoldingEnabled() && textArea.getFoldManager().isLineHidden(curLine)) { + if (textArea.isCodeFoldingEnabled() + && textArea.getFoldManager().isLineHidden(curLine)) { return input; // Match hidden in a fold } input.setLocation(caretPosition, offset); @@ -575,18 +558,15 @@ public final class RSyntaxUtilities implements SwingConstants { // Something went wrong... return input; } - + /** * Returns the next non-whitespace, non-comment token in a text area. * - * @param t - * The next token in this line's token list. - * @param textArea - * The text area. - * @param line - * The current line index (the line index of t). - * @return The next non-whitespace, non-comment token, or null - * if there isn't one. + * @param t The next token in this line's token list. + * @param textArea The text area. + * @param line The current line index (the line index of t). + * @return The next non-whitespace, non-comment token, or null if + * there isn't one. * @see #getPreviousImportantToken(RSyntaxDocument, int) * @see #getPreviousImportantTokenFromOffs(RSyntaxDocument, int) */ @@ -600,13 +580,12 @@ public final class RSyntaxUtilities implements SwingConstants { } return t; } - + /** - * Provides a way to determine the next visually represented model - * location at which one might place a caret. - * Some views may not be visible, - * they might not be in the same order found in the model, or they just - * might not allow access to some of the locations in the model. + * Provides a way to determine the next visually represented model location at + * which one might place a caret. Some views may not be visible, they might not + * be in the same order found in the model, or they just might not allow access + * to some of the locations in the model. *

    * * NOTE: You should only call this method if the passed-in @@ -614,125 +593,123 @@ public final class RSyntaxUtilities implements SwingConstants { * {@link TokenOrientedView} and javax.swing.text.TabExpander; * otherwise, a ClassCastException could be thrown. * - * @param pos - * the position to convert >= 0 - * @param a - * the allocated region in which to render - * @param direction - * the direction from the current position that can - * be thought of as the arrow keys typically found on a keyboard. - * This will be one of the following values: - *

      - *
    • SwingConstants.WEST - *
    • SwingConstants.EAST - *
    • SwingConstants.NORTH - *
    • SwingConstants.SOUTH - *
    - * @return the location within the model that best represents the next - * location visual position + * @param pos the position to convert >= 0 + * @param a the allocated region in which to render + * @param direction the direction from the current position that can be thought + * of as the arrow keys typically found on a keyboard. This + * will be one of the following values: + *
      + *
    • SwingConstants.WEST + *
    • SwingConstants.EAST + *
    • SwingConstants.NORTH + *
    • SwingConstants.SOUTH + *
    + * @return the location within the model that best represents the next location + * visual position * @exception BadLocationException - * @exception IllegalArgumentException - * if direction - * doesn't have one of the legal values above + * @exception IllegalArgumentException if direction doesn't have + * one of the legal values above */ - public static int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet, View view) - throws BadLocationException { + public static int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, + Position.Bias[] biasRet, View view) throws BadLocationException { RSyntaxTextArea target = (RSyntaxTextArea) view.getContainer(); biasRet[0] = Position.Bias.Forward; // Do we want the "next position" above, below, to the left or right? switch (direction) { - case NORTH: - case SOUTH: - if (pos == -1) { - pos = (direction == NORTH) ? Math.max(0, view.getEndOffset() - 1) : view.getStartOffset(); - break; - } - Caret c = (target != null) ? target.getCaret() : null; - // YECK! Ideally, the x location from the magic caret - // position would be passed in. - Point mcp; - if (c != null) { - mcp = c.getMagicCaretPosition(); - } else { - mcp = null; - } - int x; - if (mcp == null) { - Rectangle loc = target.modelToView(pos); - x = (loc == null) ? 0 : loc.x; - } else { - x = mcp.x; - } - if (direction == NORTH) { - pos = getPositionAbove(target, pos, x, (TabExpander) view); - } else { - pos = getPositionBelow(target, pos, x, (TabExpander) view); - } + case NORTH: + case SOUTH: + if (pos == -1) { + pos = (direction == NORTH) ? Math.max(0, view.getEndOffset() - 1) : view.getStartOffset(); break; - case WEST: - int endOffs = view.getEndOffset(); - if (pos == -1) { - pos = Math.max(0, endOffs - 1); - } else { - pos = Math.max(0, pos - 1); - if (target.isCodeFoldingEnabled()) { - int last = pos == endOffs - 1 ? target.getLineCount() - 1 : target.getLineOfOffset(pos + 1); - int current = target.getLineOfOffset(pos); - if (last != current) { // If moving up a line... - FoldManager fm = target.getFoldManager(); - if (fm.isLineHidden(current)) { - while (--current > 0 && fm.isLineHidden(current)); - pos = target.getLineEndOffset(current) - 1; - } + } + Caret c = (target != null) ? target.getCaret() : null; + // YECK! Ideally, the x location from the magic caret + // position would be passed in. + Point mcp; + if (c != null) { + mcp = c.getMagicCaretPosition(); + } else { + mcp = null; + } + int x; + if (mcp == null) { + Rectangle loc = target.modelToView(pos); + x = (loc == null) ? 0 : loc.x; + } else { + x = mcp.x; + } + if (direction == NORTH) { + pos = getPositionAbove(target, pos, x, (TabExpander) view); + } else { + pos = getPositionBelow(target, pos, x, (TabExpander) view); + } + break; + case WEST: + int endOffs = view.getEndOffset(); + if (pos == -1) { + pos = Math.max(0, endOffs - 1); + } else { + pos = Math.max(0, pos - 1); + if (target.isCodeFoldingEnabled()) { + int last = pos == endOffs - 1 ? target.getLineCount() - 1 : target.getLineOfOffset(pos + 1); + int current = target.getLineOfOffset(pos); + if (last != current) { // If moving up a line... + FoldManager fm = target.getFoldManager(); + if (fm.isLineHidden(current)) { + while (--current > 0 && fm.isLineHidden(current)) + ; + pos = target.getLineEndOffset(current) - 1; } } } - break; - case EAST: - if (pos == -1) { - pos = view.getStartOffset(); - } else { - pos = Math.min(pos + 1, view.getDocument().getLength()); - if (target.isCodeFoldingEnabled()) { - int last = pos == 0 ? 0 : target.getLineOfOffset(pos - 1); - int current = target.getLineOfOffset(pos); - if (last != current) { // If moving down a line... - FoldManager fm = target.getFoldManager(); - if (fm.isLineHidden(current)) { - int lineCount = target.getLineCount(); - while (++current < lineCount && fm.isLineHidden(current)); - pos = current == lineCount ? target.getLineEndOffset(last) - 1 : // Was - // the - // last - // visible - // line - target.getLineStartOffset(current); - } + } + break; + case EAST: + if (pos == -1) { + pos = view.getStartOffset(); + } else { + pos = Math.min(pos + 1, view.getDocument().getLength()); + if (target.isCodeFoldingEnabled()) { + int last = pos == 0 ? 0 : target.getLineOfOffset(pos - 1); + int current = target.getLineOfOffset(pos); + if (last != current) { // If moving down a line... + FoldManager fm = target.getFoldManager(); + if (fm.isLineHidden(current)) { + int lineCount = target.getLineCount(); + while (++current < lineCount && fm.isLineHidden(current)) + ; + pos = current == lineCount ? target.getLineEndOffset(last) - 1 : // Was + // the + // last + // visible + // line + target.getLineStartOffset(current); } } } - break; - default: - throw new IllegalArgumentException("Bad direction: " + direction); + } + break; + default: + throw new IllegalArgumentException("Bad direction: " + direction); } return pos; } - + /** * Returns an integer constant representing the OS. This can be handy for - * special case situations such as Mac OS-X (special application - * registration) or Windows (allow mixed case, etc.). + * special case situations such as Mac OS-X (special application registration) + * or Windows (allow mixed case, etc.). * * @return An integer constant representing the OS. */ public static int getOS() { return OS; } - + /** * Returns an integer constant representing the OS. This can be handy for - * special case situations such as Mac OS-X (special application - * registration) or Windows (allow mixed case, etc.). + * special case situations such as Mac OS-X (special application registration) + * or Windows (allow mixed case, etc.). * * @return An integer constant representing the OS. */ @@ -753,14 +730,12 @@ public final class RSyntaxUtilities implements SwingConstants { } return os; } - + /** * Returns the flags necessary to create a {@link Pattern}. * - * @param matchCase - * Whether the pattern should be case sensitive. - * @param others - * Any other flags. This may be 0. + * @param matchCase Whether the pattern should be case sensitive. + * @param others Any other flags. This may be 0. * @return The flags. */ public static int getPatternFlags(boolean matchCase, int others) { @@ -769,25 +744,22 @@ public final class RSyntaxUtilities implements SwingConstants { } return others; } - + /** - * Determines the position in the model that is closest to the given - * view location in the row above. The component given must have a - * size to compute the result. If the component doesn't have a size - * a value of -1 will be returned. + * Determines the position in the model that is closest to the given view + * location in the row above. The component given must have a size to compute + * the result. If the component doesn't have a size a value of -1 will be + * returned. * - * @param c - * the editor - * @param offs - * the offset in the document >= 0 - * @param x - * the X coordinate >= 0 - * @return the position >= 0 if the request can be computed, otherwise - * a value of -1 will be returned. - * @exception BadLocationException - * if the offset is out of range + * @param c the editor + * @param offs the offset in the document >= 0 + * @param x the X coordinate >= 0 + * @return the position >= 0 if the request can be computed, otherwise a + * value of -1 will be returned. + * @exception BadLocationException if the offset is out of range */ - public static int getPositionAbove(RSyntaxTextArea c, int offs, float x, TabExpander e) throws BadLocationException { + public static int getPositionAbove(RSyntaxTextArea c, int offs, float x, TabExpander e) + throws BadLocationException { TokenOrientedView tov = (TokenOrientedView) e; Token token = tov.getTokenListForPhysicalLineAbove(offs); if (token == null) { @@ -799,25 +771,22 @@ public final class RSyntaxUtilities implements SwingConstants { return token.getListOffset(c, e, c.getMargin().left, x); } } - + /** - * Determines the position in the model that is closest to the given - * view location in the row below. The component given must have a - * size to compute the result. If the component doesn't have a size - * a value of -1 will be returned. + * Determines the position in the model that is closest to the given view + * location in the row below. The component given must have a size to compute + * the result. If the component doesn't have a size a value of -1 will be + * returned. * - * @param c - * the editor - * @param offs - * the offset in the document >= 0 - * @param x - * the X coordinate >= 0 - * @return the position >= 0 if the request can be computed, otherwise - * a value of -1 will be returned. - * @exception BadLocationException - * if the offset is out of range + * @param c the editor + * @param offs the offset in the document >= 0 + * @param x the X coordinate >= 0 + * @return the position >= 0 if the request can be computed, otherwise a + * value of -1 will be returned. + * @exception BadLocationException if the offset is out of range */ - public static int getPositionBelow(RSyntaxTextArea c, int offs, float x, TabExpander e) throws BadLocationException { + public static int getPositionBelow(RSyntaxTextArea c, int offs, float x, TabExpander e) + throws BadLocationException { TokenOrientedView tov = (TokenOrientedView) e; Token token = tov.getTokenListForPhysicalLineBelow(offs); if (token == null) { @@ -833,17 +802,15 @@ public final class RSyntaxUtilities implements SwingConstants { return token.getListOffset(c, e, c.getMargin().left, x); } } - + /** * Returns the last non-whitespace, non-comment token, starting with the * specified line. * - * @param doc - * The document. - * @param line - * The line at which to start looking. - * @return The last non-whitespace, non-comment token, or null - * if there isn't one. + * @param doc The document. + * @param line The line at which to start looking. + * @return The last non-whitespace, non-comment token, or null if + * there isn't one. * @see #getNextImportantToken(Token, RSyntaxTextArea, int) * @see #getPreviousImportantTokenFromOffs(RSyntaxDocument, int) */ @@ -860,17 +827,15 @@ public final class RSyntaxUtilities implements SwingConstants { } return getPreviousImportantToken(doc, line - 1); } - + /** - * Returns the last non-whitespace, non-comment token, before the - * specified offset. + * Returns the last non-whitespace, non-comment token, before the specified + * offset. * - * @param doc - * The document. - * @param offs - * The ending offset for the search. - * @return The last non-whitespace, non-comment token, or null - * if there isn't one. + * @param doc The document. + * @param offs The ending offset for the search. + * @return The last non-whitespace, non-comment token, or null if + * there isn't one. * @see #getPreviousImportantToken(RSyntaxDocument, int) * @see #getNextImportantToken(Token, RSyntaxTextArea, int) */ @@ -892,14 +857,12 @@ public final class RSyntaxUtilities implements SwingConstants { } return target; } - + /** * Returns the token at the specified offset. * - * @param textArea - * The text area. - * @param offset - * The offset of the token. + * @param textArea The text area. + * @param offset The offset of the token. * @return The token, or null if the offset is not valid. * @see #getTokenAtOffset(RSyntaxDocument, int) * @see #getTokenAtOffset(Token, int) @@ -908,14 +871,12 @@ public final class RSyntaxUtilities implements SwingConstants { RSyntaxDocument doc = (RSyntaxDocument) textArea.getDocument(); return RSyntaxUtilities.getTokenAtOffset(doc, offset); } - + /** * Returns the token at the specified offset. * - * @param doc - * The document. - * @param offset - * The offset of the token. + * @param doc The document. + * @param offset The offset of the token. * @return The token, or null if the offset is not valid. * @see #getTokenAtOffset(RSyntaxTextArea, int) * @see #getTokenAtOffset(Token, int) @@ -926,19 +887,17 @@ public final class RSyntaxUtilities implements SwingConstants { Token t = doc.getTokenListForLine(lineIndex); return RSyntaxUtilities.getTokenAtOffset(t, offset); } - + /** - * Returns the token at the specified index, or null if - * the given offset isn't in this token list's range.
    - * Note that this method does NOT check to see if tokenList - * is null; callers should check for themselves. + * Returns the token at the specified index, or null if the given + * offset isn't in this token list's range.
    + * Note that this method does NOT check to see if tokenList is + * null; callers should check for themselves. * - * @param tokenList - * The list of tokens in which to search. - * @param offset - * The offset at which to get the token. - * @return The token at offset, or null if - * none of the tokens are at that offset. + * @param tokenList The list of tokens in which to search. + * @param offset The offset at which to get the token. + * @return The token at offset, or null if none of the + * tokens are at that offset. * @see #getTokenAtOffset(RSyntaxTextArea, int) * @see #getTokenAtOffset(RSyntaxDocument, int) */ @@ -950,17 +909,14 @@ public final class RSyntaxUtilities implements SwingConstants { } return null; } - + /** * Returns the end of the word at the given offset. * - * @param textArea - * The text area. - * @param offs - * The offset into the text area's content. + * @param textArea The text area. + * @param offs The offset into the text area's content. * @return The end offset of the word. - * @throws BadLocationException - * If offs is invalid. + * @throws BadLocationException If offs is invalid. * @see #getWordStart(RSyntaxTextArea, int) */ public static int getWordEnd(RSyntaxTextArea textArea, int offs) throws BadLocationException { @@ -976,9 +932,11 @@ public final class RSyntaxUtilities implements SwingConstants { int count = s.length(); char ch = s.charAt(i); if (Character.isWhitespace(ch)) { - while (i < count && Character.isWhitespace(s.charAt(i++))); + while (i < count && Character.isWhitespace(s.charAt(i++))) + ; } else if (Character.isLetterOrDigit(ch)) { - while (i < count && Character.isLetterOrDigit(s.charAt(i++))); + while (i < count && Character.isLetterOrDigit(s.charAt(i++))) + ; } else { i = 2; } @@ -986,17 +944,14 @@ public final class RSyntaxUtilities implements SwingConstants { } return offs; } - + /** * Returns the start of the word at the given offset. * - * @param textArea - * The text area. - * @param offs - * The offset into the text area's content. + * @param textArea The text area. + * @param offs The offset into the text area's content. * @return The start offset of the word. - * @throws BadLocationException - * If offs is invalid. + * @throws BadLocationException If offs is invalid. * @see #getWordEnd(RSyntaxTextArea, int) */ public static int getWordStart(RSyntaxTextArea textArea, int offs) throws BadLocationException { @@ -1028,42 +983,35 @@ public final class RSyntaxUtilities implements SwingConstants { } return offs; } - + /** - * Determines the width of the given token list taking tabs - * into consideration. This is implemented in a 1.1 style coordinate - * system where ints are used and 72dpi is assumed. + * Determines the width of the given token list taking tabs into consideration. + * This is implemented in a 1.1 style coordinate system where ints are used and + * 72dpi is assumed. *

    * - * This method also assumes that the passed-in token list begins at - * x-pixel 0 in the view (for tab purposes). + * This method also assumes that the passed-in token list begins at x-pixel + * 0 in the view (for tab purposes). * - * @param tokenList - * The tokenList list representing the text. - * @param textArea - * The text area in which this token list resides. - * @param e - * The tab expander. This value cannot be null. + * @param tokenList The tokenList list representing the text. + * @param textArea The text area in which this token list resides. + * @param e The tab expander. This value cannot be null. * @return The width of the token list, in pixels. */ public static float getTokenListWidth(Token tokenList, RSyntaxTextArea textArea, TabExpander e) { return getTokenListWidth(tokenList, textArea, e, 0); } - + /** - * Determines the width of the given token list taking tabs - * into consideration. This is implemented in a 1.1 style coordinate - * system where ints are used and 72dpi is assumed. + * Determines the width of the given token list taking tabs into consideration. + * This is implemented in a 1.1 style coordinate system where ints are used and + * 72dpi is assumed. *

    * - * @param tokenList - * The token list list representing the text. - * @param textArea - * The text area in which this token list resides. - * @param e - * The tab expander. This value cannot be null. - * @param x0 - * The x-pixel coordinate of the start of the token list. + * @param tokenList The token list list representing the text. + * @param textArea The text area in which this token list resides. + * @param e The tab expander. This value cannot be null. + * @param x0 The x-pixel coordinate of the start of the token list. * @return The width of the token list, in pixels. * @see #getTokenListWidthUpTo */ @@ -1074,31 +1022,26 @@ public final class RSyntaxUtilities implements SwingConstants { } return width - x0; } - + /** - * Determines the width of the given token list taking tabs into - * consideration and only up to the given index in the document - * (exclusive). + * Determines the width of the given token list taking tabs into consideration + * and only up to the given index in the document (exclusive). * - * @param tokenList - * The token list representing the text. - * @param textArea - * The text area in which this token list resides. - * @param e - * The tab expander. This value cannot be null. - * @param x0 - * The x-pixel coordinate of the start of the token list. - * @param upTo - * The document position at which you want to stop, - * exclusive. If this position is before the starting position - * of the token list, a width of 0 will be - * returned; similarly, if this position comes after the entire - * token list, the width of the entire token list is returned. - * @return The width of the token list, in pixels, up to, but not - * including, the character at position upTo. + * @param tokenList The token list representing the text. + * @param textArea The text area in which this token list resides. + * @param e The tab expander. This value cannot be null. + * @param x0 The x-pixel coordinate of the start of the token list. + * @param upTo The document position at which you want to stop, exclusive. + * If this position is before the starting position of the + * token list, a width of 0 will be returned; + * similarly, if this position comes after the entire token + * list, the width of the entire token list is returned. + * @return The width of the token list, in pixels, up to, but not including, the + * character at position upTo. * @see #getTokenListWidth */ - public static float getTokenListWidthUpTo(final Token tokenList, RSyntaxTextArea textArea, TabExpander e, float x0, int upTo) { + public static float getTokenListWidthUpTo(final Token tokenList, RSyntaxTextArea textArea, TabExpander e, float x0, + int upTo) { float width = 0; for (Token t = tokenList; t != null && t.isPaintable(); t = t.getNextToken()) { if (t.containsPosition(upTo)) { @@ -1108,15 +1051,14 @@ public final class RSyntaxUtilities implements SwingConstants { } return width; } - + /** - * Returns whether or not this character is a "bracket" to be matched by - * such programming languages as C, C++, and Java. + * Returns whether or not this character is a "bracket" to be matched by such + * programming languages as C, C++, and Java. * - * @param ch - * The character to check. - * @return Whether or not the character is a "bracket" - one of '(', ')', - * '[', ']', '{', and '}'. + * @param ch The character to check. + * @return Whether or not the character is a "bracket" - one of '(', ')', '[', + * ']', '{', and '}'. */ public static boolean isBracket(char ch) { // We need the first condition as it might be that ch>255, and thus @@ -1124,12 +1066,11 @@ public final class RSyntaxUtilities implements SwingConstants { // set. return ch <= '}' && (DATA_TABLE[ch] & BRACKET_MASK) > 0; } - + /** * Returns whether or not a character is a digit (0-9). * - * @param ch - * The character to check. + * @param ch The character to check. * @return Whether or not the character is a digit. */ public static boolean isDigit(char ch) { @@ -1138,15 +1079,13 @@ public final class RSyntaxUtilities implements SwingConstants { // that table position has the digit mask). return ch >= '0' && ch <= '9'; } - + /** - * Returns whether or not this character is a hex character. This method - * accepts both upper- and lower-case letters a-f. + * Returns whether or not this character is a hex character. This method accepts + * both upper- and lower-case letters a-f. * - * @param ch - * The character to check. - * @return Whether or not the character is a hex character 0-9, a-f, or - * A-F. + * @param ch The character to check. + * @return Whether or not the character is a hex character 0-9, a-f, or A-F. */ public static boolean isHexCharacter(char ch) { // We need the first condition as it could be that ch>255 (and thus @@ -1154,13 +1093,12 @@ public final class RSyntaxUtilities implements SwingConstants { // char that is a valid hex character. return (ch <= 'f') && (DATA_TABLE[ch] & HEX_CHARACTER_MASK) > 0; } - + /** - * Returns whether a character is a Java operator. Note that C and C++ - * operators are the same as Java operators. + * Returns whether a character is a Java operator. Note that C and C++ operators + * are the same as Java operators. * - * @param ch - * The character to check. + * @param ch The character to check. * @return Whether or not the character is a Java operator. */ public static boolean isJavaOperator(char ch) { @@ -1169,12 +1107,11 @@ public final class RSyntaxUtilities implements SwingConstants { // char that is a valid Java operator. return (ch <= '~') && (DATA_TABLE[ch] & JAVA_OPERATOR_MASK) > 0; } - + /** * Returns whether a character is a US-ASCII letter (A-Z or a-z). * - * @param ch - * The character to check. + * @param ch The character to check. * @return Whether or not the character is a US-ASCII letter. */ public static boolean isLetter(char ch) { @@ -1182,12 +1119,11 @@ public final class RSyntaxUtilities implements SwingConstants { // not a valid index into our table). return (ch <= 'z') && (DATA_TABLE[ch] & LETTER_MASK) > 0; } - + /** * Returns whether or not a character is a US-ASCII letter or a digit. * - * @param ch - * The character to check. + * @param ch The character to check. * @return Whether or not the character is a US-ASCII letter or a digit. */ public static boolean isLetterOrDigit(char ch) { @@ -1195,43 +1131,40 @@ public final class RSyntaxUtilities implements SwingConstants { // not a valid index into our table). return (ch <= 'z') && (DATA_TABLE[ch] & LETTER_OR_DIGIT_MASK) > 0; } - + /** - * Returns whether the specified color is "light" to use as a foreground. - * Colors that return true indicate that the current Look and - * Feel probably uses light text colors on a dark background. + * Returns whether the specified color is "light" to use as a foreground. Colors + * that return true indicate that the current Look and Feel + * probably uses light text colors on a dark background. * - * @param fg - * The foreground color. + * @param fg The foreground color. * @return Whether it is a "light" foreground color. * @see #getHyperlinkForeground() */ public static boolean isLightForeground(Color fg) { return fg.getRed() > 0xa0 && fg.getGreen() > 0xa0 && fg.getBlue() > 0xa0; } - + /** - * Returns whether the specified token is a single non-word char (e.g. not - * in [A-Za-z]. This is a HACK to work around the fact that - * many standard token makers return things like semicolons and periods as - * {@link Token#IDENTIFIER}s just to make the syntax highlighting coloring - * look a little better. + * Returns whether the specified token is a single non-word char (e.g. not in + * [A-Za-z]. This is a HACK to work around the fact that many + * standard token makers return things like semicolons and periods as + * {@link Token#IDENTIFIER}s just to make the syntax highlighting coloring look + * a little better. * - * @param t - * The token to check. This cannot be null. + * @param t The token to check. This cannot be null. * @return Whether the token is a single non-word char. */ public static boolean isNonWordChar(Token t) { return t.length() == 1 && !RSyntaxUtilities.isLetter(t.charAt(0)); } - + /** - * Returns whether or not a character is a whitespace character (either - * a space ' ' or tab '\t'). This checks for the Unicode character values - * 0x0020 and 0x0009. + * Returns whether or not a character is a whitespace character (either a space + * ' ' or tab '\t'). This checks for the Unicode character values 0x0020 and + * 0x0009. * - * @param ch - * The character to check. + * @param ch The character to check. * @return Whether or not the character is a whitespace character. */ public static boolean isWhitespace(char ch) { @@ -1240,12 +1173,11 @@ public final class RSyntaxUtilities implements SwingConstants { // that table position has the whitespace mask). return ch == ' ' || ch == '\t'; } - + /** * Repaints the gutter in a text area's scroll pane, if necessary. * - * @param textArea - * The text area. + * @param textArea The text area. */ public static void possiblyRepaintGutter(RTextArea textArea) { Gutter gutter = RSyntaxUtilities.getGutter(textArea); @@ -1253,38 +1185,34 @@ public final class RSyntaxUtilities implements SwingConstants { gutter.repaint(); } } - + /** - * Returns whether a regular expression token can follow the specified - * token in JavaScript. + * Returns whether a regular expression token can follow the specified token in + * JavaScript. * - * @param t - * The token to check, which may be null. - * @return Whether a regular expression token may follow this one in - * JavaScript. + * @param t The token to check, which may be null. + * @return Whether a regular expression token may follow this one in JavaScript. */ public static boolean regexCanFollowInJavaScript(Token t) { char ch; // We basically try to mimic Eclipse's JS editor's behavior here. return t == null || // t.isOperator() || - (t.length() == 1 && ((ch = t.charAt(0)) == '=' || ch == '(' || ch == ',' || ch == '?' || ch == ':' || ch == '[' || ch == '!' - || ch == '&')) + (t.length() == 1 && ((ch = t.charAt(0)) == '=' || ch == '(' || ch == ',' || ch == '?' || ch == ':' + || ch == '[' || ch == '!' || ch == '&')) || /* Operators "==", "===", "!=", "!==", "&&", "||" */ (t.getType() == Token.OPERATOR && (t.charAt(t.length() - 1) == '=' || t.is(JS_AND) || t.is(JS_OR))) || t.is(Token.RESERVED_WORD_2, JS_KEYWORD_RETURN); } - + /** - * Selects a range of text in a text component. If the new selection is - * outside of the previous viewable rectangle, then the view is centered - * around the new selection. + * Selects a range of text in a text component. If the new selection is outside + * of the previous viewable rectangle, then the view is centered around the new + * selection. * - * @param textArea - * The text component whose selection is to be centered. - * @param range - * The range to select. + * @param textArea The text component whose selection is to be centered. + * @param range The range to select. */ public static void selectAndPossiblyCenter(JTextArea textArea, DocumentRange range, boolean select) { int start = range.getStartOffset(); @@ -1351,15 +1279,13 @@ public final class RSyntaxUtilities implements SwingConstants { } textArea.scrollRectToVisible(visible); } - + /** - * If the character is an upper-case US-ASCII letter, it returns the - * lower-case version of that letter; otherwise, it just returns the - * character. + * If the character is an upper-case US-ASCII letter, it returns the lower-case + * version of that letter; otherwise, it just returns the character. * - * @param ch - * The character to lower-case (if it is a US-ASCII upper-case - * character). + * @param ch The character to lower-case (if it is a US-ASCII upper-case + * character). * @return The lower-case version of the character. */ public static char toLowerCase(char ch) { @@ -1374,17 +1300,14 @@ public final class RSyntaxUtilities implements SwingConstants { } return ch; } - + /** * Creates a regular expression pattern that matches a "wildcard" pattern. * - * @param wildcard - * The wildcard pattern. - * @param matchCase - * Whether the pattern should be case sensitive. - * @param escapeStartChar - * Whether to escape a starting '^' - * character. + * @param wildcard The wildcard pattern. + * @param matchCase Whether the pattern should be case sensitive. + * @param escapeStartChar Whether to escape a starting '^' + * character. * @return The pattern. */ public static Pattern wildcardToPattern(String wildcard, boolean matchCase, boolean escapeStartChar) { @@ -1393,35 +1316,35 @@ public final class RSyntaxUtilities implements SwingConstants { for (int i = 0; i < wildcard.length(); i++) { char ch = wildcard.charAt(i); switch (ch) { - case '*': - sb.append(".*"); - break; - case '?': - sb.append('.'); - break; - case '^': - if (i > 0 || escapeStartChar) { - sb.append('\\'); - } - sb.append('^'); - break; - case '\\': - case '.': - case '|': - case '+': - case '-': - case '$': - case '[': - case ']': - case '{': - case '}': - case '(': - case ')': - sb.append('\\').append(ch); - break; - default: - sb.append(ch); - break; + case '*': + sb.append(".*"); + break; + case '?': + sb.append('.'); + break; + case '^': + if (i > 0 || escapeStartChar) { + sb.append('\\'); + } + sb.append('^'); + break; + case '\\': + case '.': + case '|': + case '+': + case '-': + case '$': + case '[': + case ']': + case '{': + case '}': + case '(': + case ')': + sb.append('\\').append(ch); + break; + default: + sb.append(ch); + break; } } Pattern p = null; diff --git a/src/org/fife/ui/rsyntaxtextarea/RTfToText.java b/src/org/fife/ui/rsyntaxtextarea/RTfToText.java index ecb5c28..086ba4c 100644 --- a/src/org/fife/ui/rsyntaxtextarea/RTfToText.java +++ b/src/org/fife/ui/rsyntaxtextarea/RTfToText.java @@ -20,25 +20,24 @@ import java.io.StringReader; * Gets the plain text version of RTF documents. *

    * - * This is used by RtfTransferable to return the plain text - * version of the transferable when the receiver does not support RTF. + * This is used by RtfTransferable to return the plain text version + * of the transferable when the receiver does not support RTF. * * @author Robert Futrell * @version 1.0 */ final class RtfToText { - + private Reader r; private StringBuilder sb; private StringBuilder controlWord; private int blockCount; private boolean inControlWord; - + /** * Private constructor. * - * @param r - * The reader to read RTF text from. + * @param r The reader to read RTF text from. */ private RtfToText(Reader r) { this.r = r; @@ -47,15 +46,14 @@ final class RtfToText { blockCount = 0; inControlWord = false; } - + /** - * Converts the RTF text read from this converter's Reader - * into plain text. It is the caller's responsibility to close the - * reader after this method is called. + * Converts the RTF text read from this converter's Reader into + * plain text. It is the caller's responsibility to close the reader after this + * method is called. * * @return The plain text. - * @throws IOException - * If an IO error occurs. + * @throws IOException If an IO error occurs. */ private String convert() throws IOException { // Skip over first curly brace as the whole file is in '{' and '}' @@ -66,76 +64,76 @@ final class RtfToText { while ((i = r.read()) != -1) { char ch = (char) i; switch (ch) { - case '{': - if (inControlWord && controlWord.length() == 0) { // "\{" - sb.append('{'); - controlWord.setLength(0); - inControlWord = false; - } else { - blockCount++; - } - break; - case '}': - if (inControlWord && controlWord.length() == 0) { // "\}" - sb.append('}'); - controlWord.setLength(0); - inControlWord = false; - } else { - blockCount--; - } - break; - case '\\': - if (blockCount == 0) { - if (inControlWord) { - if (controlWord.length() == 0) { // "\\" - sb.append('\\'); - controlWord.setLength(0); - inControlWord = false; - } else { - endControlWord(); - inControlWord = true; - } + case '{': + if (inControlWord && controlWord.length() == 0) { // "\{" + sb.append('{'); + controlWord.setLength(0); + inControlWord = false; + } else { + blockCount++; + } + break; + case '}': + if (inControlWord && controlWord.length() == 0) { // "\}" + sb.append('}'); + controlWord.setLength(0); + inControlWord = false; + } else { + blockCount--; + } + break; + case '\\': + if (blockCount == 0) { + if (inControlWord) { + if (controlWord.length() == 0) { // "\\" + sb.append('\\'); + controlWord.setLength(0); + inControlWord = false; } else { + endControlWord(); inControlWord = true; } + } else { + inControlWord = true; } - break; - case ' ': - if (blockCount == 0) { - if (inControlWord) { - endControlWord(); - } else { - sb.append(' '); - } + } + break; + case ' ': + if (blockCount == 0) { + if (inControlWord) { + endControlWord(); + } else { + sb.append(' '); } - break; - case '\r': - case '\n': - if (blockCount == 0) { - if (inControlWord) { - endControlWord(); - } - // Otherwise, ignore + } + break; + case '\r': + case '\n': + if (blockCount == 0) { + if (inControlWord) { + endControlWord(); } - break; - default: - if (blockCount == 0) { - if (inControlWord) { - controlWord.append(ch); - } else { - sb.append(ch); - } + // Otherwise, ignore + } + break; + default: + if (blockCount == 0) { + if (inControlWord) { + controlWord.append(ch); + } else { + sb.append(ch); } - break; + } + break; } } return sb.toString(); } - + /** - * Ends a control word. Checks whether it is a common one that affects - * the plain text output (such as "par" or "tab") - * and updates the text buffer accordingly. + * Ends a control word. Checks whether it is a common one that affects the plain + * text output (such as "par" or "tab") and updates + * the text buffer accordingly. */ private void endControlWord() { String word = controlWord.toString(); @@ -147,58 +145,50 @@ final class RtfToText { controlWord.setLength(0); inControlWord = false; } - + /** - * Converts the contents of the specified byte array representing - * an RTF document into plain text. + * Converts the contents of the specified byte array representing an RTF + * document into plain text. * - * @param rtf - * The byte array representing an RTF document. + * @param rtf The byte array representing an RTF document. * @return The contents of the RTF document, in plain text. - * @throws IOException - * If an IO error occurs. + * @throws IOException If an IO error occurs. */ public static String getPlainText(byte[] rtf) throws IOException { return getPlainText(new ByteArrayInputStream(rtf)); } - + /** * Converts the contents of the specified RTF file to plain text. * - * @param file - * The RTF file to convert. + * @param file The RTF file to convert. * @return The contents of the file, in plain text. - * @throws IOException - * If an IO error occurs. + * @throws IOException If an IO error occurs. */ public static String getPlainText(File file) throws IOException { return getPlainText(new BufferedReader(new FileReader(file))); } - + /** - * Converts the contents of the specified input stream to plain text. - * The input stream will be closed when this method returns. + * Converts the contents of the specified input stream to plain text. The input + * stream will be closed when this method returns. * - * @param in - * The input stream to convert. This will be closed when this - * method returns. + * @param in The input stream to convert. This will be closed when this method + * returns. * @return The contents of the stream, in plain text. - * @throws IOException - * If an IO error occurs. + * @throws IOException If an IO error occurs. */ public static String getPlainText(InputStream in) throws IOException { return getPlainText(new InputStreamReader(in, "US-ASCII")); } - + /** * Converts the contents of the specified Reader to plain text. * - * @param r - * The Reader. This will be closed when this method - * returns. + * @param r The Reader. This will be closed when this method + * returns. * @return The contents of the Reader, in plain text. - * @throws IOException - * If an IO error occurs. + * @throws IOException If an IO error occurs. */ private static String getPlainText(Reader r) throws IOException { try { @@ -208,15 +198,13 @@ final class RtfToText { r.close(); } } - + /** * Converts the contents of the specified String to plain text. * - * @param rtf - * A string whose contents represent an RTF document. + * @param rtf A string whose contents represent an RTF document. * @return The contents of the String, in plain text. - * @throws IOException - * If an IO error occurs. + * @throws IOException If an IO error occurs. */ public static String getPlainText(String rtf) throws IOException { return getPlainText(new StringReader(rtf)); diff --git a/src/org/fife/ui/rsyntaxtextarea/RtfGenerator.java b/src/org/fife/ui/rsyntaxtextarea/RtfGenerator.java index 6e40e99..f57ed52 100644 --- a/src/org/fife/ui/rsyntaxtextarea/RtfGenerator.java +++ b/src/org/fife/ui/rsyntaxtextarea/RtfGenerator.java @@ -27,12 +27,10 @@ import org.fife.ui.rtextarea.RTextArea; * * * The RTF generated isn't really "optimized," but it will do, especially for - * small amounts of text, such as what's common when copy-and-pasting. It - * tries to be sufficient for the use case of copying syntax highlighted - * code: + * small amounts of text, such as what's common when copy-and-pasting. It tries + * to be sufficient for the use case of copying syntax highlighted code: *

      - *
    • It assumes that tokens changing foreground color often is fairly - * common. + *
    • It assumes that tokens changing foreground color often is fairly common. *
    • It assumes that background highlighting is fairly uncommon. *
    * @@ -40,7 +38,7 @@ import org.fife.ui.rtextarea.RTextArea; * @version 1.0 */ public class RtfGenerator { - + private List fontList; private List colorList; private StringBuilder document; @@ -53,16 +51,15 @@ public class RtfGenerator { /** * Java2D assumes a 72 dpi screen resolution, but on Windows the screen * resolution is either 96 dpi or 120 dpi, depending on your font display - * settings. This is an attempt to make the RTF generated match the - * size of what's displayed in the RSyntaxTextArea. + * settings. This is an attempt to make the RTF generated match the size of + * what's displayed in the RSyntaxTextArea. */ private int screenRes; /** - * The default font size for RTF. This is point size, in half - * points. + * The default font size for RTF. This is point size, in half points. */ private static final int DEFAULT_FONT_SIZE = 12;// 24; - + /** * Constructor. */ @@ -72,7 +69,7 @@ public class RtfGenerator { document = new StringBuilder(); reset(); } - + /** * Adds a newline to the RTF document. * @@ -83,87 +80,68 @@ public class RtfGenerator { document.append('\n'); // Just for ease of reading RTF. lastWasControlWord = false; } - + /** * Appends styled text to the RTF document being generated. * - * @param text - * The text to append. - * @param f - * The font of the text. If this is null, the - * default font is used. - * @param fg - * The foreground of the text. If this is null, - * the default foreground color is used. - * @param bg - * The background color of the text. If this is - * null, the default background color is used. + * @param text The text to append. + * @param f The font of the text. If this is null, the default + * font is used. + * @param fg The foreground of the text. If this is null, the + * default foreground color is used. + * @param bg The background color of the text. If this is null, + * the default background color is used. * @see #appendNewline() */ public void appendToDoc(String text, Font f, Color fg, Color bg) { appendToDoc(text, f, fg, bg, false); } - + /** * Appends styled text to the RTF document being generated. * - * @param text - * The text to append. - * @param f - * The font of the text. If this is null, the - * default font is used. - * @param bg - * The background color of the text. If this is - * null, the default background color is used. - * @param underline - * Whether the text should be underlined. + * @param text The text to append. + * @param f The font of the text. If this is null, the + * default font is used. + * @param bg The background color of the text. If this is + * null, the default background color is used. + * @param underline Whether the text should be underlined. * @see #appendNewline() */ public void appendToDocNoFG(String text, Font f, Color bg, boolean underline) { appendToDoc(text, f, null, bg, underline, false); } - + /** * Appends styled text to the RTF document being generated. * - * @param text - * The text to append. - * @param f - * The font of the text. If this is null, the - * default font is used. - * @param fg - * The foreground of the text. If this is null, - * the default foreground color is used. - * @param bg - * The background color of the text. If this is - * null, the default background color is used. - * @param underline - * Whether the text should be underlined. + * @param text The text to append. + * @param f The font of the text. If this is null, the + * default font is used. + * @param fg The foreground of the text. If this is null, + * the default foreground color is used. + * @param bg The background color of the text. If this is + * null, the default background color is used. + * @param underline Whether the text should be underlined. * @see #appendNewline() */ public void appendToDoc(String text, Font f, Color fg, Color bg, boolean underline) { appendToDoc(text, f, fg, bg, underline, true); } - + /** * Appends styled text to the RTF document being generated. * - * @param text - * The text to append. - * @param f - * The font of the text. If this is null, the - * default font is used. - * @param fg - * The foreground of the text. If this is null, - * the default foreground color is used. - * @param bg - * The background color of the text. If this is - * null, the default background color is used. - * @param underline - * Whether the text should be underlined. - * @param setFG - * Whether the foreground specified by fg should - * be honored (if it is non-null). + * @param text The text to append. + * @param f The font of the text. If this is null, the + * default font is used. + * @param fg The foreground of the text. If this is null, + * the default foreground color is used. + * @param bg The background color of the text. If this is + * null, the default background color is used. + * @param underline Whether the text should be underlined. + * @param setFG Whether the foreground specified by fg should + * be honored (if it is non-null). * @see #appendNewline() */ public void appendToDoc(String text, Font f, Color fg, Color bg, boolean underline, boolean setFG) { @@ -248,70 +226,65 @@ public class RtfGenerator { } } } - + /** - * Appends some text to a buffer, with special care taken for special - * characters as defined by the RTF spec. + * Appends some text to a buffer, with special care taken for special characters + * as defined by the RTF spec. * *
      - *
    • All tab characters are replaced with the string - * "\tab" + *
    • All tab characters are replaced with the string "\tab" *
    • '\', '{' and '}' are changed to "\\", "\{" and "\}" *
    * - * @param text - * The text to append (with tab chars substituted). - * @param sb - * The buffer to append to. + * @param text The text to append (with tab chars substituted). + * @param sb The buffer to append to. */ private void escapeAndAdd(StringBuilder sb, String text) { int count = text.length(); for (int i = 0; i < count; i++) { char ch = text.charAt(i); switch (ch) { - case '\t': - // Micro-optimization: for syntax highlighting with - // tab indentation, there are often multiple tabs - // back-to-back at the start of lines, so don't put - // spaces between each "\tab". + case '\t': + // Micro-optimization: for syntax highlighting with + // tab indentation, there are often multiple tabs + // back-to-back at the start of lines, so don't put + // spaces between each "\tab". + sb.append("\\tab"); + while ((++i < count) && text.charAt(i) == '\t') { sb.append("\\tab"); - while ((++i < count) && text.charAt(i) == '\t') { - sb.append("\\tab"); - } - sb.append(' '); - i--; // We read one too far. - break; - case '\\': - case '{': - case '}': - sb.append('\\').append(ch); - break; - default: - if (ch <= 127) { - sb.append(ch); - } else { - sb.append("\\u").append((int) ch); - } - break; + } + sb.append(' '); + i--; // We read one too far. + break; + case '\\': + case '{': + case '}': + sb.append('\\').append(ch); + break; + default: + if (ch <= 127) { + sb.append(ch); + } else { + sb.append("\\u").append((int) ch); + } + break; } } } - + /** * Returns a font point size, adjusted for the current screen resolution. *

    * - * Java2D assumes 72 dpi. On systems with larger dpi (Windows, GTK, etc.), - * font rendering will appear too small if we simply return a Java "Font" - * object's getSize() value. We need to adjust it for the screen - * resolution. + * Java2D assumes 72 dpi. On systems with larger dpi (Windows, GTK, etc.), font + * rendering will appear too small if we simply return a Java "Font" object's + * getSize() value. We need to adjust it for the screen resolution. * - * @param pointSize - * A Java Font's point size, as returned from - * getSize2D(). - * @return The font point size, adjusted for the current screen resolution. - * This will allow other applications to render fonts the same - * size as they appear in the Java application. + * @param pointSize A Java Font's point size, as returned from + * getSize2D(). + * @return The font point size, adjusted for the current screen resolution. This + * will allow other applications to render fonts the same size as they + * appear in the Java application. */ private int fixFontSize(float pointSize) { if (screenRes != 72) { // Java2D assumes 72 dpi @@ -319,15 +292,13 @@ public class RtfGenerator { } return (int) pointSize; } - + /** - * Returns the index of the specified item in a list. If the item - * is not in the list, it is added, and its new index is returned. + * Returns the index of the specified item in a list. If the item is not in the + * list, it is added, and its new index is returned. * - * @param list - * The list (possibly) containing the item. - * @param item - * The item to get the index of. + * @param list The list (possibly) containing the item. + * @param item The item to get the index of. * @return The index of the item. */ private static int getColorIndex(List list, Color item) { @@ -338,7 +309,7 @@ public class RtfGenerator { } return pos; } - + private String getColorTableRtf() { // Example: // "{\\colortbl ;\\red255\\green0\\blue0;\\red0\\green0\\blue255; }" @@ -353,20 +324,17 @@ public class RtfGenerator { sb.append("}"); return sb.toString(); } - + /** - * Returns the index of the specified font in a list of fonts. This - * method only checks for a font by its family name; its attributes such - * as bold and italic are ignored. + * Returns the index of the specified font in a list of fonts. This method only + * checks for a font by its family name; its attributes such as bold and italic + * are ignored. *

    * - * If the font is not in the list, it is added, and its new index is - * returned. + * If the font is not in the list, it is added, and its new index is returned. * - * @param list - * The list (possibly) containing the font. - * @param font - * The font to get the index of. + * @param list The list (possibly) containing the font. + * @param font The font to get the index of. * @return The index of the font. */ private static int getFontIndex(List list, Font font) { @@ -380,7 +348,7 @@ public class RtfGenerator { list.add(font); return list.size() - 1; } - + private String getFontTableRtf() { // Example: // "{\\fonttbl{\\f0\\fmodern\\fcharset0 Courier;}}" @@ -402,10 +370,10 @@ public class RtfGenerator { sb.append('}'); return sb.toString(); } - + /** - * Returns a good "default" monospaced font to use when Java's logical - * font "Monospaced" is found. + * Returns a good "default" monospaced font to use when Java's logical font + * "Monospaced" is found. * * @return The monospaced font family to use. */ @@ -416,7 +384,7 @@ public class RtfGenerator { } return family; } - + /** * Returns the RTF document created by this generator. * @@ -440,10 +408,9 @@ public class RtfGenerator { // System.err.println("*** " + sb.length()); return sb.toString(); } - + /** - * Resets this generator. All document information and content is - * cleared. + * Resets this generator. All document information and content is cleared. */ public void reset() { fontList.clear(); diff --git a/src/org/fife/ui/rsyntaxtextarea/RtfTransferable.java b/src/org/fife/ui/rsyntaxtextarea/RtfTransferable.java index 25823ea..4bbc6f3 100644 --- a/src/org/fife/ui/rsyntaxtextarea/RtfTransferable.java +++ b/src/org/fife/ui/rsyntaxtextarea/RtfTransferable.java @@ -14,17 +14,16 @@ import java.io.IOException; import java.io.StringReader; /** - * Object used during copy/paste and DnD operations to represent RTF text. - * It can return the text being moved as either RTF or plain text. This - * class is basically the same as - * java.awt.datatransfer.StringSelection, except that it can also - * return the text as RTF. + * Object used during copy/paste and DnD operations to represent RTF text. It + * can return the text being moved as either RTF or plain text. This class is + * basically the same as java.awt.datatransfer.StringSelection, + * except that it can also return the text as RTF. * * @author Robert Futrell * @version 1.0 */ class RtfTransferable implements Transferable { - + /** * The RTF data, in bytes (the RTF is 7-bit ascii). */ @@ -32,19 +31,19 @@ class RtfTransferable implements Transferable { /** * The "flavors" the text can be returned as. */ - private static final DataFlavor[] FLAVORS = { new DataFlavor("text/rtf", "RTF"), DataFlavor.stringFlavor, DataFlavor.plainTextFlavor // deprecated + private static final DataFlavor[] FLAVORS = { new DataFlavor("text/rtf", "RTF"), DataFlavor.stringFlavor, + DataFlavor.plainTextFlavor // deprecated }; - + /** * Constructor. * - * @param data - * The RTF data. + * @param data The RTF data. */ RtfTransferable(byte[] data) { this.data = data; } - + @Override public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { if (flavor.equals(FLAVORS[0])) { // RTF @@ -61,12 +60,12 @@ class RtfTransferable implements Transferable { throw new UnsupportedFlavorException(flavor); } } - + @Override public DataFlavor[] getTransferDataFlavors() { return FLAVORS.clone(); } - + @Override public boolean isDataFlavorSupported(DataFlavor flavor) { for (int i = 0; i < FLAVORS.length; i++) { diff --git a/src/org/fife/ui/rsyntaxtextarea/SelectRegionLinkGeneratorResult.java b/src/org/fife/ui/rsyntaxtextarea/SelectRegionLinkGeneratorResult.java index 53f6e64..ddefe87 100644 --- a/src/org/fife/ui/rsyntaxtextarea/SelectRegionLinkGeneratorResult.java +++ b/src/org/fife/ui/rsyntaxtextarea/SelectRegionLinkGeneratorResult.java @@ -11,28 +11,28 @@ package org.fife.ui.rsyntaxtextarea; import javax.swing.event.HyperlinkEvent; /** - * A link generator result that selects a region of text in the text area. - * This will typically be used by IDE-style applications, to provide support - * for "linking" the use of a variable in a document to its declaration. + * A link generator result that selects a region of text in the text area. This + * will typically be used by IDE-style applications, to provide support for + * "linking" the use of a variable in a document to its declaration. * * @author Robert Futrell * @version 1.0 * @see LinkGenerator */ public class SelectRegionLinkGeneratorResult implements LinkGeneratorResult { - + private RSyntaxTextArea textArea; private int sourceOffset; private int selStart; private int selEnd; - + public SelectRegionLinkGeneratorResult(RSyntaxTextArea textArea, int sourceOffset, int selStart, int selEnd) { this.textArea = textArea; this.sourceOffset = sourceOffset; this.selStart = selStart; this.selEnd = selEnd; } - + /** * Selects the text in the text area. */ @@ -41,7 +41,7 @@ public class SelectRegionLinkGeneratorResult implements LinkGeneratorResult { textArea.select(selStart, selEnd); return null; } - + /** * {@inheritDoc} */ diff --git a/src/org/fife/ui/rsyntaxtextarea/SquiggleUnderlineHighlightPainter.java b/src/org/fife/ui/rsyntaxtextarea/SquiggleUnderlineHighlightPainter.java index 6b86252..0840972 100644 --- a/src/org/fife/ui/rsyntaxtextarea/SquiggleUnderlineHighlightPainter.java +++ b/src/org/fife/ui/rsyntaxtextarea/SquiggleUnderlineHighlightPainter.java @@ -32,37 +32,29 @@ import org.fife.ui.rtextarea.ChangeableHighlightPainter; * @version 1.0 */ public class SquiggleUnderlineHighlightPainter extends ChangeableHighlightPainter { - + private static final int AMT = 2; - + /** * Constructor. * - * @param color - * The color of the squiggle. This cannot be - * null. + * @param color The color of the squiggle. This cannot be null. */ public SquiggleUnderlineHighlightPainter(Color color) { super(color); setPaint(color); } - + /** * Paints a portion of a highlight. * - * @param g - * the graphics context - * @param offs0 - * the starting model offset >= 0 - * @param offs1 - * the ending model offset >= offs1 - * @param bounds - * the bounding box of the view, which is not - * necessarily the region to paint. - * @param c - * the editor - * @param view - * View painting for + * @param g the graphics context + * @param offs0 the starting model offset >= 0 + * @param offs1 the ending model offset >= offs1 + * @param bounds the bounding box of the view, which is not necessarily the + * region to paint. + * @param c the editor + * @param view View painting for * @return region drawing occurred in */ @Override @@ -92,14 +84,12 @@ public class SquiggleUnderlineHighlightPainter extends ChangeableHighlightPainte // Only if exception return null; } - + /** * Paints a squiggle underneath text in the specified rectangle. * - * @param g - * The graphics context with which to paint. - * @param r - * The rectangle containing the text. + * @param g The graphics context with which to paint. + * @param r The rectangle containing the text. */ protected void paintSquiggle(Graphics g, Rectangle r) { int x = r.x; diff --git a/src/org/fife/ui/rsyntaxtextarea/SyntaxConstants.java b/src/org/fife/ui/rsyntaxtextarea/SyntaxConstants.java index 50aa9c9..debe840 100644 --- a/src/org/fife/ui/rsyntaxtextarea/SyntaxConstants.java +++ b/src/org/fife/ui/rsyntaxtextarea/SyntaxConstants.java @@ -8,8 +8,8 @@ package org.fife.ui.rsyntaxtextarea; /** * Constants that define the different programming languages understood by - * RSyntaxTextArea. These constants are the values you can pass - * to {@link RSyntaxTextArea#setSyntaxEditingStyle(String)} to get syntax + * RSyntaxTextArea. These constants are the values you can pass to + * {@link RSyntaxTextArea#setSyntaxEditingStyle(String)} to get syntax * highlighting. *

    * @@ -25,7 +25,7 @@ package org.fife.ui.rsyntaxtextarea; * @version 1.0 */ public interface SyntaxConstants { - + /** * Style meaning don't syntax highlight anything. */ @@ -123,8 +123,8 @@ public interface SyntaxConstants { */ String SYNTAX_STYLE_JSON = "text/json"; /** - * Style for highlighting .jshintrc files (JSON with comments, so can be - * used for other times when you want this behavior). + * Style for highlighting .jshintrc files (JSON with comments, so can be used + * for other times when you want this behavior). */ String SYNTAX_STYLE_JSON_WITH_COMMENTS = "text/jshintrc"; /** diff --git a/src/org/fife/ui/rsyntaxtextarea/SyntaxView.java b/src/org/fife/ui/rsyntaxtextarea/SyntaxView.java index ea8b25e..a0a7c1f 100644 --- a/src/org/fife/ui/rsyntaxtextarea/SyntaxView.java +++ b/src/org/fife/ui/rsyntaxtextarea/SyntaxView.java @@ -30,14 +30,14 @@ import org.fife.ui.rsyntaxtextarea.folding.FoldManager; /** * The javax.swing.text.View object used by {@link RSyntaxTextArea} - * when word wrap is disabled. It implements syntax highlighting for - * programming languages using the colors and font styles specified by the + * when word wrap is disabled. It implements syntax highlighting for programming + * languages using the colors and font styles specified by the * RSyntaxTextArea. *

    * * You don't really have to do anything to use this class, as - * {@link RSyntaxTextAreaUI} automatically sets the text area's view to be - * an instance of this class if word wrap is disabled. + * {@link RSyntaxTextAreaUI} automatically sets the text area's view to be an + * instance of this class if word wrap is disabled. *

    * * The tokens that specify how to paint the syntax-highlighted text are gleaned @@ -47,7 +47,7 @@ import org.fife.ui.rsyntaxtextarea.folding.FoldManager; * @version 0.3 */ public class SyntaxView extends View implements TabExpander, TokenOrientedView, RSTAView { - + /** * The default font used by the text area. If this changes we need to * recalculate the longest line. @@ -58,9 +58,9 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, */ private FontMetrics metrics; /** - * The current longest line. This is used to calculate the preferred width - * of the view. Since the calculation is potentially expensive, we try to - * avoid it by stashing which line is currently the longest. + * The current longest line. This is used to calculate the preferred width of + * the view. Since the calculation is potentially expensive, we try to avoid it + * by stashing which line is currently the longest. */ private Element longLine; private float longLineWidth; @@ -78,30 +78,28 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, private int clipStart; private int clipEnd; /** - * Temporary token used when we need to "modify" tokens for rendering - * purposes. Since tokens returned from RSyntaxDocuments are treated as - * immutable, we use this temporary token to do that work. + * Temporary token used when we need to "modify" tokens for rendering purposes. + * Since tokens returned from RSyntaxDocuments are treated as immutable, we use + * this temporary token to do that work. */ private TokenImpl tempToken; - + /** * Constructs a new SyntaxView wrapped around an element. * - * @param elem - * The element representing the text to display. + * @param elem The element representing the text to display. */ public SyntaxView(Element elem) { super(elem); tempToken = new TokenImpl(); } - + /** - * Iterate over the lines represented by the child elements - * of the element this view represents, looking for the line - * that is the longest. The longLine variable is updated to - * represent the longest line contained. The font variable - * is updated to indicate the font used to calculate the - * longest line. + * Iterate over the lines represented by the child elements of the element this + * view represents, looking for the line that is the longest. The + * longLine variable is updated to represent the longest line + * contained. The font variable is updated to indicate the font used to + * calculate the longest line. */ void calculateLongestLine() { Component c = getContainer(); @@ -119,37 +117,30 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, } } } - + /** - * Gives notification from the document that attributes were changed - * in a location that this view is responsible for. + * Gives notification from the document that attributes were changed in a + * location that this view is responsible for. * - * @param changes - * the change information from the associated document - * @param a - * the current allocation of the view - * @param f - * the factory to use to rebuild if the view has children + * @param changes the change information from the associated document + * @param a the current allocation of the view + * @param f the factory to use to rebuild if the view has children * @see View#changedUpdate */ @Override public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f) { updateDamage(changes, a, f); } - + /** * Repaint the given line range. * - * @param line0 - * The starting line number to repaint. This must - * be a valid line number in the model. - * @param line1 - * The ending line number to repaint. This must - * be a valid line number in the model. - * @param a - * The region allocated for the view to render into. - * @param host - * The component hosting the view (used to call repaint). + * @param line0 The starting line number to repaint. This must be a valid line + * number in the model. + * @param line1 The ending line number to repaint. This must be a valid line + * number in the model. + * @param a The region allocated for the view to render into. + * @param host The component hosting the view (used to call repaint). */ protected void damageLineRange(int line0, int line1, Shape a, Component host) { if (a != null) { @@ -163,23 +154,17 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, } } } - + /** - * Draws the passed-in text using syntax highlighting for the current - * language. It is assumed that the entire line is either not in a - * selected region, or painting with a selection-foreground color is turned - * off. + * Draws the passed-in text using syntax highlighting for the current language. + * It is assumed that the entire line is either not in a selected region, or + * painting with a selection-foreground color is turned off. * - * @param painter - * The painter to render the tokens. - * @param token - * The list of tokens to draw. - * @param g - * The graphics context in which to draw. - * @param x - * The x-coordinate at which to draw. - * @param y - * The y-coordinate at which to draw. + * @param painter The painter to render the tokens. + * @param token The list of tokens to draw. + * @param g The graphics context in which to draw. + * @param x The x-coordinate at which to draw. + * @param y The y-coordinate at which to draw. * @return The x-coordinate representing the end of the painted text. */ private float drawLine(TokenPainter painter, Token token, Graphics2D g, float x, float y, int line) { @@ -199,29 +184,23 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, // Return the x-coordinate at the end of the painted text. return nextX; } - + /** - * Draws the passed-in text using syntax highlighting for the current - * language. Tokens are checked for being in a selected region, and are - * rendered appropriately if they are. + * Draws the passed-in text using syntax highlighting for the current language. + * Tokens are checked for being in a selected region, and are rendered + * appropriately if they are. * - * @param painter - * The painter to render the tokens. - * @param token - * The list of tokens to draw. - * @param g - * The graphics context in which to draw. - * @param x - * The x-coordinate at which to draw. - * @param y - * The y-coordinate at which to draw. - * @param selStart - * The start of the selection. - * @param selEnd - * The end of the selection. + * @param painter The painter to render the tokens. + * @param token The list of tokens to draw. + * @param g The graphics context in which to draw. + * @param x The x-coordinate at which to draw. + * @param y The y-coordinate at which to draw. + * @param selStart The start of the selection. + * @param selEnd The end of the selection. * @return The x-coordinate representing the end of the painted text. */ - private float drawLineWithSelection(TokenPainter painter, Token token, Graphics2D g, float x, float y, int selStart, int selEnd) { + private float drawLineWithSelection(TokenPainter painter, Token token, Graphics2D g, float x, float y, int selStart, + int selEnd) { float nextX = x; // The x-value at the end of our text. boolean useSTC = host.getUseSelectedTextColor(); while (token != null && token.isPaintable() && nextX < clipEnd) { @@ -281,90 +260,81 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, // Return the x-coordinate at the end of the painted text. return nextX; } - + /** * Calculates the width of the line represented by the given element. * - * @param line - * The line for which to get the length. - * @param lineNumber - * The line number of the specified line in the document. + * @param line The line for which to get the length. + * @param lineNumber The line number of the specified line in the document. * @return The width of the line. */ private float getLineWidth(int lineNumber) { Token tokenList = ((RSyntaxDocument) getDocument()).getTokenListForLine(lineNumber); return RSyntaxUtilities.getTokenListWidth(tokenList, (RSyntaxTextArea) getContainer(), this); } - + /** - * Provides a way to determine the next visually represented model - * location that one might place a caret. Some views may not be visible, - * they might not be in the same order found in the model, or they just - * might not allow access to some of the locations in the model. + * Provides a way to determine the next visually represented model location that + * one might place a caret. Some views may not be visible, they might not be in + * the same order found in the model, or they just might not allow access to + * some of the locations in the model. * - * @param pos - * the position to convert >= 0 - * @param a - * the allocated region to render into - * @param direction - * the direction from the current position that can - * be thought of as the arrow keys typically found on a keyboard. - * This may be SwingConstants.WEST, SwingConstants.EAST, - * SwingConstants.NORTH, or SwingConstants.SOUTH. - * @return the location within the model that best represents the next - * location visual position. + * @param pos the position to convert >= 0 + * @param a the allocated region to render into + * @param direction the direction from the current position that can be thought + * of as the arrow keys typically found on a keyboard. This may + * be SwingConstants.WEST, SwingConstants.EAST, + * SwingConstants.NORTH, or SwingConstants.SOUTH. + * @return the location within the model that best represents the next location + * visual position. * @exception BadLocationException - * @exception IllegalArgumentException - * for an invalid direction + * @exception IllegalArgumentException for an invalid direction */ @Override public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException { return RSyntaxUtilities.getNextVisualPositionFrom(pos, b, a, direction, biasRet, this); } - + /** - * Determines the preferred span for this view along an - * axis. + * Determines the preferred span for this view along an axis. * - * @param axis - * may be either View.X_AXIS or View.Y_AXIS - * @return the span the view would like to be rendered into >= 0. - * Typically the view is told to render into the span - * that is returned, although there is no guarantee. - * The parent may choose to resize or break the view. - * @exception IllegalArgumentException - * for an invalid axis + * @param axis may be either View.X_AXIS or View.Y_AXIS + * @return the span the view would like to be rendered into >= 0. Typically + * the view is told to render into the span that is returned, although + * there is no guarantee. The parent may choose to resize or break the + * view. + * @exception IllegalArgumentException for an invalid axis */ @Override public float getPreferredSpan(int axis) { updateMetrics(); switch (axis) { - case View.X_AXIS: - float span = longLineWidth + getRhsCorrection(); // fudge factor - if (host.getEOLMarkersVisible()) { - span += metrics.charWidth('\u00B6'); - } - return span; - case View.Y_AXIS: - // We update lineHeight here as when this method is first - // called, lineHeight isn't initialized. If we don't do it - // here, we get no vertical scrollbar (as lineHeight==0). - lineHeight = host != null ? host.getLineHeight() : lineHeight; - // return getElement().getElementCount() * lineHeight; - int visibleLineCount = getElement().getElementCount(); - if (host.isCodeFoldingEnabled()) { - visibleLineCount -= host.getFoldManager().getHiddenLineCount(); - } - return visibleLineCount * (float) lineHeight; - default: - throw new IllegalArgumentException("Invalid axis: " + axis); + case View.X_AXIS: + float span = longLineWidth + getRhsCorrection(); // fudge factor + if (host.getEOLMarkersVisible()) { + span += metrics.charWidth('\u00B6'); + } + return span; + case View.Y_AXIS: + // We update lineHeight here as when this method is first + // called, lineHeight isn't initialized. If we don't do it + // here, we get no vertical scrollbar (as lineHeight==0). + lineHeight = host != null ? host.getLineHeight() : lineHeight; + // return getElement().getElementCount() * lineHeight; + int visibleLineCount = getElement().getElementCount(); + if (host.isCodeFoldingEnabled()) { + visibleLineCount -= host.getFoldManager().getHiddenLineCount(); + } + return visibleLineCount * (float) lineHeight; + default: + throw new IllegalArgumentException("Invalid axis: " + axis); } } - + /** - * Workaround for JTextComponents allowing the caret to be rendered - * entirely off-screen if the entire "previous" character fit entirely. + * Workaround for JTextComponents allowing the caret to be rendered entirely + * off-screen if the entire "previous" character fit entirely. * * @return The amount of space to add to the x-axis preferred span. */ @@ -375,7 +345,7 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, } return rhsCorrection; } - + /** * Returns the tab size set for the document, defaulting to 5. * @@ -386,19 +356,17 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, int size = (i != null) ? i.intValue() : 5; return size; } - + /** - * Returns a token list for the physical line above the physical - * line containing the specified offset into the document. Note that for - * this plain (non-wrapped) view, this is simply the token list for the - * logical line above the line containing offset, since lines - * are not wrapped. + * Returns a token list for the physical line above the physical line + * containing the specified offset into the document. Note that for this plain + * (non-wrapped) view, this is simply the token list for the logical line above + * the line containing offset, since lines are not wrapped. * - * @param offset - * The offset in question. - * @return A token list for the physical (and in this view, logical) line - * before this one. If offset is in the first line in - * the document, null is returned. + * @param offset The offset in question. + * @return A token list for the physical (and in this view, logical) line before + * this one. If offset is in the first line in the + * document, null is returned. */ @Override public Token getTokenListForPhysicalLineAbove(int offset) { @@ -422,19 +390,17 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, // return document.getTokenListForLine(line); return null; } - + /** - * Returns a token list for the physical line below the physical - * line containing the specified offset into the document. Note that for - * this plain (non-wrapped) view, this is simply the token list for the - * logical line below the line containing offset, since lines - * are not wrapped. + * Returns a token list for the physical line below the physical line + * containing the specified offset into the document. Note that for this plain + * (non-wrapped) view, this is simply the token list for the logical line below + * the line containing offset, since lines are not wrapped. * - * @param offset - * The offset in question. - * @return A token list for the physical (and in this view, logical) line - * after this one. If offset is in the last physical - * line in the document, null is returned. + * @param offset The offset in question. + * @return A token list for the physical (and in this view, logical) line after + * this one. If offset is in the last physical line in the + * document, null is returned. */ @Override public Token getTokenListForPhysicalLineBelow(int offset) { @@ -459,31 +425,26 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, // return document.getTokenListForLine(line+1); return null; } - + /** - * Gives notification that something was inserted into the document - * in a location that this view is responsible for. + * Gives notification that something was inserted into the document in a + * location that this view is responsible for. * - * @param changes - * The change information from the associated document. - * @param a - * The current allocation of the view. - * @param f - * The factory to use to rebuild if the view has children. + * @param changes The change information from the associated document. + * @param a The current allocation of the view. + * @param f The factory to use to rebuild if the view has children. */ @Override public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f) { updateDamage(changes, a, f); } - + /** * Determine the rectangle that represents the given line. * - * @param a - * The region allocated for the view to render into - * @param line - * The line number to find the region of. This must - * be a valid line number in the model. + * @param a The region allocated for the view to render into + * @param line The line number to find the region of. This must be a valid line + * number in the model. */ protected Rectangle lineToRect(Shape a, int line) { Rectangle r = null; @@ -503,19 +464,16 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, } return r; } - + /** - * Provides a mapping from the document model coordinate space - * to the coordinate space of the view mapped to it. + * Provides a mapping from the document model coordinate space to the coordinate + * space of the view mapped to it. * - * @param pos - * the position to convert >= 0 - * @param a - * the allocated region to render into + * @param pos the position to convert >= 0 + * @param a the allocated region to render into * @return the bounding box of the given position - * @exception BadLocationException - * if the given position does not - * represent a valid location in the associated document + * @exception BadLocationException if the given position does not represent a + * valid location in the associated document * @see View#modelToView */ @Override @@ -535,48 +493,43 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, lineArea = tokenList.listOffsetToView((RSyntaxTextArea) getContainer(), this, pos, tabBase, lineArea); return lineArea; } - + /** - * Provides a mapping, for a given region, from the document model - * coordinate space to the view coordinate space. The specified region is - * created as a union of the first and last character positions. + * Provides a mapping, for a given region, from the document model coordinate + * space to the view coordinate space. The specified region is created as a + * union of the first and last character positions. *

    * - * This is implemented to subtract the width of the second character, as - * this view's modelToView actually returns the width of the - * character instead of "1" or "0" like the View implementations in - * javax.swing.text. Thus, if we don't override this method, - * the View implementation will return one character's width - * too much for its consumers (implementations of + * This is implemented to subtract the width of the second character, as this + * view's modelToView actually returns the width of the character + * instead of "1" or "0" like the View implementations in + * javax.swing.text. Thus, if we don't override this method, the + * View implementation will return one character's width too much + * for its consumers (implementations of * javax.swing.text.Highlighter). * - * @param p0 - * the position of the first character (>=0) - * @param b0 - * The bias of the first character position, toward the previous - * character or the next character represented by the offset, in - * case the position is a boundary of two views; b0 - * will have one of these values: - *

      - *
    • Position.Bias.Forward - *
    • Position.Bias.Backward - *
    - * @param p1 - * the position of the last character (>=0) - * @param b1 - * the bias for the second character position, defined - * one of the legal values shown above - * @param a - * the area of the view, which encompasses the requested region - * @return the bounding box which is a union of the region specified - * by the first and last character positions - * @exception BadLocationException - * if the given position does - * not represent a valid location in the associated document - * @exception IllegalArgumentException - * if b0 or - * b1 are not one of the - * legal Position.Bias values listed above + * @param p0 the position of the first character (>=0) + * @param b0 The bias of the first character position, toward the previous + * character or the next character represented by the offset, in case + * the position is a boundary of two views; b0 will have + * one of these values: + *
      + *
    • Position.Bias.Forward + *
    • Position.Bias.Backward + *
    + * @param p1 the position of the last character (>=0) + * @param b1 the bias for the second character position, defined one of the + * legal values shown above + * @param a the area of the view, which encompasses the requested region + * @return the bounding box which is a union of the region specified by the + * first and last character positions + * @exception BadLocationException if the given position does not represent + * a valid location in the associated + * document + * @exception IllegalArgumentException if b0 or b1 are + * not one of the legal + * Position.Bias values listed + * above * @see View#viewToModel */ @Override @@ -618,17 +571,15 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, } return r0; } - + /** - * Returns the next tab stop position after a given reference position. - * This implementation does not support things like centering so it - * ignores the tabOffset argument. + * Returns the next tab stop position after a given reference position. This + * implementation does not support things like centering so it ignores the + * tabOffset argument. * - * @param x - * the current position >= 0 - * @param tabOffset - * the position within the text stream - * that the tab occurred at >= 0. + * @param x the current position >= 0 + * @param tabOffset the position within the text stream that the tab occurred at + * >= 0. * @return the tab stop, measured in points >= 0 */ @Override @@ -639,15 +590,13 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, int ntabs = (((int) x) - tabBase) / tabSize; return tabBase + ((ntabs + 1f) * tabSize); } - + /** * Actually paints the text area. Only lines that have been damaged are * repainted. * - * @param g - * The graphics context with which to paint. - * @param a - * The allocated region in which to render. + * @param g The graphics context with which to paint. + * @param a The allocated region in which to render. */ @Override public void paint(Graphics g, Shape a) { @@ -726,15 +675,13 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, } // System.out.println("SyntaxView: lines painted=" + count); } - + /** - * If the passed-in line is longer than the current longest line, then - * the longest line is updated. + * If the passed-in line is longer than the current longest line, then the + * longest line is updated. * - * @param line - * The line to test against the current longest. - * @param lineNumber - * The line number of the passed-in line. + * @param line The line to test against the current longest. + * @param lineNumber The line number of the passed-in line. * @return true iff the current longest line was updated. */ private boolean possiblyUpdateLongLine(Element line, int lineNumber) { @@ -746,36 +693,31 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, } return false; } - + /** - * Gives notification that something was removed from the document - * in a location that this view is responsible for. + * Gives notification that something was removed from the document in a location + * that this view is responsible for. * - * @param changes - * the change information from the associated document - * @param a - * the current allocation of the view - * @param f - * the factory to use to rebuild if the view has children + * @param changes the change information from the associated document + * @param a the current allocation of the view + * @param f the factory to use to rebuild if the view has children */ @Override public void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f) { updateDamage(changes, a, f); } - + @Override public void setSize(float width, float height) { super.setSize(width, height); updateMetrics(); } - + /** - * Repaint the region of change covered by the given document - * event. Damages the line that begins the range to cover - * the case when the insert/remove is only on one line. - * If lines are added or removed, damages the whole - * view. The longest line is checked to see if it has - * changed. + * Repaint the region of change covered by the given document event. Damages the + * line that begins the range to cover the case when the insert/remove is only + * on one line. If lines are added or removed, damages the whole view. The + * longest line is checked to see if it has changed. */ protected void updateDamage(DocumentEvent changes, Shape a, ViewFactory f) { Component host = getContainer(); @@ -841,7 +783,7 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, } } } - + /** * Checks to see if the font metrics and longest line are up-to-date. */ @@ -854,19 +796,16 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, calculateLongestLine(); } } - + /** - * Provides a mapping from the view coordinate space to the logical - * coordinate space of the model. + * Provides a mapping from the view coordinate space to the logical coordinate + * space of the model. * - * @param fx - * the X coordinate >= 0 - * @param fy - * the Y coordinate >= 0 - * @param a - * the allocated region to render into - * @return the location within the model that best represents the - * given point in the view >= 0 + * @param fx the X coordinate >= 0 + * @param fy the Y coordinate >= 0 + * @param a the allocated region to render into + * @return the location within the model that best represents the given point in + * the view >= 0 */ @Override public int viewToModel(float fx, float fy, Shape a, Position.Bias[] bias) { @@ -918,7 +857,7 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, } } // End of else. } - + /** * {@inheritDoc} */ @@ -941,7 +880,7 @@ public class SyntaxView extends View implements TabExpander, TokenOrientedView, } return -1; } - + /** * {@inheritDoc} */ diff --git a/src/org/fife/ui/rsyntaxtextarea/TextEditorPane.java b/src/org/fife/ui/rsyntaxtextarea/TextEditorPane.java index f4ed06f..d8106d4 100644 --- a/src/org/fife/ui/rsyntaxtextarea/TextEditorPane.java +++ b/src/org/fife/ui/rsyntaxtextarea/TextEditorPane.java @@ -28,8 +28,8 @@ import org.fife.io.UnicodeWriter; import org.fife.ui.rtextarea.RTextAreaEditorKit; /** - * An extension of {@link org.fife.ui.rsyntaxtextarea.RSyntaxTextArea} - * that adds information about the file being edited, such as: + * An extension of {@link org.fife.ui.rsyntaxtextarea.RSyntaxTextArea} that adds + * information about the file being edited, such as: * *
      *
    • Its name and location. @@ -43,10 +43,10 @@ import org.fife.ui.rtextarea.RTextAreaEditorKit; * Loading and saving is also built into the editor. *

      * - * When saving UTF-8 files, whether or not a BOM is written is controlled by - * the {@link UnicodeWriter} class. - * Use {@link UnicodeWriter#setWriteUtf8BOM(boolean)} to toggle writing BOMs - * for UTF-8 files. + * When saving UTF-8 files, whether or not a BOM is written is controlled by the + * {@link UnicodeWriter} class. Use + * {@link UnicodeWriter#setWriteUtf8BOM(boolean)} to toggle writing BOMs for + * UTF-8 files. *

      * * Both local and remote files (e.g. ftp) are supported. See the @@ -57,11 +57,11 @@ import org.fife.ui.rtextarea.RTextAreaEditorKit; * @see FileLocation */ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener { - + private static final long serialVersionUID = 1L; /** - * Property change event fired when the file path this text area references - * is updated. + * Property change event fired when the file path this text area references is + * updated. * * @see #load(FileLocation, String) * @see #saveAs(FileLocation) @@ -103,9 +103,8 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener */ private boolean dirty; /** - * The last time this file was modified on disk, for local files. - * For remote files, this value should always be - * {@link #LAST_MODIFIED_UNKNOWN}. + * The last time this file was modified on disk, for local files. For remote + * files, this value should always be {@link #LAST_MODIFIED_UNKNOWN}. */ private long lastSaveOrLoadTime; /** @@ -116,34 +115,31 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener * The default name given to files if none is specified in a constructor. */ private static final String DEFAULT_FILE_NAME = "Untitled.txt"; - + /** * Constructor. The file will be given a default name. */ public TextEditorPane() { this(INSERT_MODE); } - + /** * Constructor. The file will be given a default name. * - * @param textMode - * Either INSERT_MODE or - * OVERWRITE_MODE. + * @param textMode Either INSERT_MODE or + * OVERWRITE_MODE. */ public TextEditorPane(int textMode) { this(textMode, false); } - + /** - * Creates a new TextEditorPane. The file will be given - * a default name. + * Creates a new TextEditorPane. The file will be given a default + * name. * - * @param textMode - * Either INSERT_MODE or - * OVERWRITE_MODE. - * @param wordWrapEnabled - * Whether or not to use word wrap in this pane. + * @param textMode Either INSERT_MODE or + * OVERWRITE_MODE. + * @param wordWrapEnabled Whether or not to use word wrap in this pane. */ public TextEditorPane(int textMode, boolean wordWrapEnabled) { super(textMode); @@ -154,69 +150,58 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener ioe.printStackTrace(); } } - + /** * Creates a new TextEditorPane. * - * @param textMode - * Either INSERT_MODE or - * OVERWRITE_MODE. - * @param wordWrapEnabled - * Whether or not to use word wrap in this pane. - * @param loc - * The location of the text file being edited. If this value - * is null, a file named "Untitled.txt" in the - * current - * directory is used. - * @throws IOException - * If an IO error occurs reading the file at - * loc. This of course won't happen if - * loc is null. + * @param textMode Either INSERT_MODE or + * OVERWRITE_MODE. + * @param wordWrapEnabled Whether or not to use word wrap in this pane. + * @param loc The location of the text file being edited. If this + * value is null, a file named + * "Untitled.txt" in the current directory is used. + * @throws IOException If an IO error occurs reading the file at + * loc. This of course won't happen if + * loc is null. */ public TextEditorPane(int textMode, boolean wordWrapEnabled, FileLocation loc) throws IOException { this(textMode, wordWrapEnabled, loc, null); } - + /** * Creates a new TextEditorPane. * - * @param textMode - * Either INSERT_MODE or - * OVERWRITE_MODE. - * @param wordWrapEnabled - * Whether or not to use word wrap in this pane. - * @param loc - * The location of the text file being edited. If this value - * is null, a file named "Untitled.txt" in the - * current - * directory is used. This file is displayed as empty even if it - * actually exists. - * @param defaultEnc - * The default encoding to use when opening the file, - * if the file is not Unicode. If this value is - * null, - * a system default value is used. - * @throws IOException - * If an IO error occurs reading the file at - * loc. This of course won't happen if - * loc is null. + * @param textMode Either INSERT_MODE or + * OVERWRITE_MODE. + * @param wordWrapEnabled Whether or not to use word wrap in this pane. + * @param loc The location of the text file being edited. If this + * value is null, a file named + * "Untitled.txt" in the current directory is used. This + * file is displayed as empty even if it actually exists. + * @param defaultEnc The default encoding to use when opening the file, if + * the file is not Unicode. If this value is + * null, a system default value is used. + * @throws IOException If an IO error occurs reading the file at + * loc. This of course won't happen if + * loc is null. */ - public TextEditorPane(int textMode, boolean wordWrapEnabled, FileLocation loc, String defaultEnc) throws IOException { + public TextEditorPane(int textMode, boolean wordWrapEnabled, FileLocation loc, String defaultEnc) + throws IOException { super(textMode); setLineWrap(wordWrapEnabled); init(loc, defaultEnc); } - + /** - * Callback for when styles in the current document change. - * This method is never called. + * Callback for when styles in the current document change. This method is never + * called. * - * @param e - * The document event. + * @param e The document event. */ @Override - public void changedUpdate(DocumentEvent e) {} - + public void changedUpdate(DocumentEvent e) { + } + /** * Returns the default encoding for this operating system. * @@ -239,7 +224,7 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener } return encoding; } - + /** * Returns the encoding to use when reading or writing this file. * @@ -249,7 +234,7 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener public String getEncoding() { return charSet; } - + /** * Returns the full path to this document. * @@ -258,7 +243,7 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener public String getFileFullPath() { return loc == null ? null : loc.getFileFullPath(); } - + /** * Returns the file name of this document. * @@ -267,61 +252,58 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener public String getFileName() { return loc == null ? null : loc.getFileName(); } - + /** - * Returns the timestamp for when this file was last loaded or saved - * by this editor pane. If the file has been modified on disk by - * another process after it was loaded into this editor pane, this method - * will not return the actual file's last modified time. + * Returns the timestamp for when this file was last loaded or saved by this + * editor pane. If the file has been modified on disk by another process + * after it was loaded into this editor pane, this method will not return the + * actual file's last modified time. *

      * * For remote files, this method will always return * {@link #LAST_MODIFIED_UNKNOWN}. * - * @return The timestamp when this file was last loaded or saved by this - * editor pane, if it is a local file, or - * {@link #LAST_MODIFIED_UNKNOWN} if it is a remote file. + * @return The timestamp when this file was last loaded or saved by this editor + * pane, if it is a local file, or {@link #LAST_MODIFIED_UNKNOWN} if it + * is a remote file. * @see #isModifiedOutsideEditor() */ public long getLastSaveOrLoadTime() { return lastSaveOrLoadTime; } - + /** * Returns the line separator used when writing this file (e.g. * "\n", "\r\n", or "\r"). *

      * - * Note that this value is an Object and not a - * String as that is the way the {@link Document} interface - * defines its property values. If you always use - * {@link #setLineSeparator(String)} to modify this value, then the value - * returned from this method will always be a String. + * Note that this value is an Object and not a String + * as that is the way the {@link Document} interface defines its property + * values. If you always use {@link #setLineSeparator(String)} to modify this + * value, then the value returned from this method will always be a + * String. * - * @return The line separator. If this value is null, then - * the system default line separator is used (usually the value - * of System.getProperty("line.separator")). + * @return The line separator. If this value is null, then the + * system default line separator is used (usually the value of + * System.getProperty("line.separator")). * @see #setLineSeparator(String) * @see #setLineSeparator(String, boolean) */ public Object getLineSeparator() { return getDocument().getProperty(RTextAreaEditorKit.EndOfLineStringProperty); } - + /** * Initializes this editor with the specified file location. * - * @param loc - * The file location. If this is null, a default - * location is used and an empty file is displayed. - * @param defaultEnc - * The default encoding to use when opening the file, - * if the file is not Unicode. If this value is - * null, - * a system default value is used. - * @throws IOException - * If an IO error occurs reading from loc. - * If loc is null, this cannot happen. + * @param loc The file location. If this is null, a default + * location is used and an empty file is displayed. + * @param defaultEnc The default encoding to use when opening the file, if the + * file is not Unicode. If this value is null, a + * system default value is used. + * @throws IOException If an IO error occurs reading from loc. If + * loc is null, this cannot + * happen. */ private void init(FileLocation loc, String defaultEnc) throws IOException { if (loc == null) { @@ -347,12 +329,11 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener } setDirty(false); } - + /** * Callback for when text is inserted into the document. * - * @param e - * Information on the insertion. + * @param e Information on the insertion. */ @Override public void insertUpdate(DocumentEvent e) { @@ -360,7 +341,7 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener setDirty(true); } } - + /** * Returns whether or not the text in this editor has unsaved changes. * @@ -370,7 +351,7 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener public boolean isDirty() { return dirty; } - + /** * Returns whether this file is a local file. * @@ -379,7 +360,7 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener public boolean isLocal() { return loc.isLocal(); } - + /** * Returns whether this is a local file that already exists. * @@ -388,25 +369,24 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener public boolean isLocalAndExists() { return loc.isLocalAndExists(); } - + /** - * Returns whether the text file has been modified outside of this editor - * since the last load or save operation. Note that if this is a remote - * file, this method will always return false. + * Returns whether the text file has been modified outside of this editor since + * the last load or save operation. Note that if this is a remote file, this + * method will always return false. *

      * - * This method may be used by applications to implement a reloading - * feature, where the user is prompted to reload a file if it has been - * modified since their last open or save. + * This method may be used by applications to implement a reloading feature, + * where the user is prompted to reload a file if it has been modified since + * their last open or save. * - * @return Whether the text file has been modified outside of this - * editor. + * @return Whether the text file has been modified outside of this editor. * @see #getLastSaveOrLoadTime() */ public boolean isModifiedOutsideEditor() { return loc.getActualLastModified() > getLastSaveOrLoadTime(); } - + /** * Returns whether or not the text area should be treated as read-only. * @@ -416,22 +396,18 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener public boolean isReadOnly() { return readOnly; } - + /** - * Loads the specified file in this editor. This method fires a property - * change event of type {@link #FULL_PATH_PROPERTY}. + * Loads the specified file in this editor. This method fires a property change + * event of type {@link #FULL_PATH_PROPERTY}. * - * @param loc - * The location of the file to load. This cannot be - * null. - * @param defaultEnc - * The encoding to use when loading/saving the file. - * This encoding will only be used if the file is not Unicode. - * If this value is null, the system default - * encoding - * is used. - * @throws IOException - * If an IO error occurs. + * @param loc The location of the file to load. This cannot be + * null. + * @param defaultEnc The encoding to use when loading/saving the file. This + * encoding will only be used if the file is not Unicode. If + * this value is null, the system default + * encoding is used. + * @throws IOException If an IO error occurs. * @see #save() * @see #saveAs(FileLocation) */ @@ -468,25 +444,24 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener discardAllEdits(); firePropertyChange(FULL_PATH_PROPERTY, old, getFileFullPath()); } - + /** - * Reloads this file from disk. The file must exist for this operation - * to not throw an exception. + * Reloads this file from disk. The file must exist for this operation to not + * throw an exception. *

      * * The file's "dirty" state will be set to false after this - * operation. If this is a local file, its "last modified" time is - * updated to reflect that of the actual file. + * operation. If this is a local file, its "last modified" time is updated to + * reflect that of the actual file. *

      * * Note that if the file has been modified on disk, and is now a Unicode - * encoding when before it wasn't (or if it is a different Unicode now), - * this will cause this {@link TextEditorPane}'s encoding to change. - * Otherwise, the file's encoding will stay the same. + * encoding when before it wasn't (or if it is a different Unicode now), this + * will cause this {@link TextEditorPane}'s encoding to change. Otherwise, the + * file's encoding will stay the same. * - * @throws IOException - * If the file does not exist, or if an IO error - * occurs reading the file. + * @throws IOException If the file does not exist, or if an IO error occurs + * reading the file. * @see #isLocalAndExists() */ public void reload() throws IOException { @@ -504,12 +479,11 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener syncLastSaveOrLoadTimeToActualFile(); discardAllEdits(); // Prevent user from being able to undo the reload } - + /** * Called whenever text is removed from this editor. * - * @param e - * The document event. + * @param e The document event. */ @Override public void removeUpdate(DocumentEvent e) { @@ -517,16 +491,15 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener setDirty(true); } } - + /** * Saves the file in its current encoding. *

      * - * The text area's "dirty" state is set to false, and if - * this is a local file, its "last modified" time is updated. + * The text area's "dirty" state is set to false, and if this is a + * local file, its "last modified" time is updated. * - * @throws IOException - * If an IO error occurs. + * @throws IOException If an IO error occurs. * @see #saveAs(FileLocation) * @see #load(FileLocation, String) */ @@ -535,15 +508,13 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener setDirty(false); syncLastSaveOrLoadTimeToActualFile(); } - + /** - * Saves this file in a new local location. This method fires a property - * change event of type {@link #FULL_PATH_PROPERTY}. + * Saves this file in a new local location. This method fires a property change + * event of type {@link #FULL_PATH_PROPERTY}. * - * @param loc - * The location to save to. - * @throws IOException - * If an IO error occurs. + * @param loc The location to save to. + * @throws IOException If an IO error occurs. * @see #save() * @see #load(FileLocation, String) */ @@ -556,14 +527,12 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener lastSaveOrLoadTime = loc.getActualLastModified(); firePropertyChange(FULL_PATH_PROPERTY, old, getFileFullPath()); } - + /** * Saves the text in this editor to the specified location. * - * @param loc - * The location to save to. - * @throws IOException - * If an IO error occurs. + * @param loc The location to save to. + * @throws IOException If an IO error occurs. */ private void saveImpl(FileLocation loc) throws IOException { OutputStream out = loc.getOutputStream(); @@ -574,23 +543,22 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener w.close(); } } - + /** - * Sets whether or not this text in this editor has unsaved changes. - * This fires a property change event of type {@link #DIRTY_PROPERTY}. + * Sets whether or not this text in this editor has unsaved changes. This fires + * a property change event of type {@link #DIRTY_PROPERTY}. *

      * - * Applications will usually have no need to call this method directly; the - * only time you might have a need to call this method directly is if you - * have to initialize an instance of TextEditorPane with content that does - * not come from a file. TextEditorPane automatically sets its - * own dirty flag when its content is edited, when its encoding is changed, - * or when its line ending property is changed. It is cleared whenever - * load(), reload(), save(), or - * saveAs() are called. + * Applications will usually have no need to call this method directly; the only + * time you might have a need to call this method directly is if you have to + * initialize an instance of TextEditorPane with content that does not come from + * a file. TextEditorPane automatically sets its own dirty flag + * when its content is edited, when its encoding is changed, or when its line + * ending property is changed. It is cleared whenever load(), + * reload(), save(), or saveAs() are + * called. * - * @param dirty - * Whether or not the text has been modified. + * @param dirty Whether or not the text has been modified. * @see #isDirty() */ public void setDirty(boolean dirty) { @@ -599,12 +567,11 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener firePropertyChange(DIRTY_PROPERTY, !dirty, dirty); } } - + /** * Sets the document for this editor. * - * @param doc - * The new document. + * @param doc The new document. */ @Override public void setDocument(Document doc) { @@ -615,19 +582,16 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener super.setDocument(doc); doc.addDocumentListener(this); } - + /** - * Sets the encoding to use when reading or writing this file. This - * method sets the editor's dirty flag when the encoding is changed, and - * fires a property change event of type {@link #ENCODING_PROPERTY}. + * Sets the encoding to use when reading or writing this file. This method sets + * the editor's dirty flag when the encoding is changed, and fires a property + * change event of type {@link #ENCODING_PROPERTY}. * - * @param encoding - * The new encoding. - * @throws UnsupportedCharsetException - * If the encoding is not supported. - * @throws NullPointerException - * If encoding is - * null. + * @param encoding The new encoding. + * @throws UnsupportedCharsetException If the encoding is not supported. + * @throws NullPointerException If encoding is + * null. * @see #getEncoding() */ public void setEncoding(String encoding) { @@ -643,50 +607,43 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener setDirty(true); } } - + /** * Sets the line separator sequence to use when this file is saved (e.g. * "\n", "\r\n" or "\r"). * * Besides parameter checking, this method is preferred over - * getDocument().putProperty() because it sets the editor's - * dirty flag when the line separator is changed. + * getDocument().putProperty() because it sets the editor's dirty + * flag when the line separator is changed. * - * @param separator - * The new line separator. - * @throws NullPointerException - * If separator is - * null. - * @throws IllegalArgumentException - * If separator is not one - * of "\n", "\r\n" or - * "\r". + * @param separator The new line separator. + * @throws NullPointerException If separator is + * null. + * @throws IllegalArgumentException If separator is not one of + * "\n", "\r\n" or + * "\r". * @see #getLineSeparator() */ public void setLineSeparator(String separator) { setLineSeparator(separator, true); } - + /** * Sets the line separator sequence to use when this file is saved (e.g. * "\n", "\r\n" or "\r"). * * Besides parameter checking, this method is preferred over - * getDocument().putProperty() because can set the editor's - * dirty flag when the line separator is changed. + * getDocument().putProperty() because can set the editor's dirty + * flag when the line separator is changed. * - * @param separator - * The new line separator. - * @param setDirty - * Whether the dirty flag should be set if the line - * separator is changed. - * @throws NullPointerException - * If separator is - * null. - * @throws IllegalArgumentException - * If separator is not one - * of "\n", "\r\n" or - * "\r". + * @param separator The new line separator. + * @param setDirty Whether the dirty flag should be set if the line separator + * is changed. + * @throws NullPointerException If separator is + * null. + * @throws IllegalArgumentException If separator is not one of + * "\n", "\r\n" or + * "\r". * @see #getLineSeparator() */ public void setLineSeparator(String separator, boolean setDirty) { @@ -705,13 +662,12 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener } } } - + /** - * Sets whether or not this text area should be treated as read-only. - * This fires a property change event of type {@link #READ_ONLY_PROPERTY}. + * Sets whether or not this text area should be treated as read-only. This fires + * a property change event of type {@link #READ_ONLY_PROPERTY}. * - * @param readOnly - * Whether or not the document is read-only. + * @param readOnly Whether or not the document is read-only. * @see #isReadOnly() */ public void setReadOnly(boolean readOnly) { @@ -720,16 +676,16 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener firePropertyChange(READ_ONLY_PROPERTY, !readOnly, readOnly); } } - + /** - * Syncs this text area's "last saved or loaded" time to that of the file - * being edited, if that file is local and exists. If the file is - * remote or is local but does not yet exist, nothing happens. + * Syncs this text area's "last saved or loaded" time to that of the file being + * edited, if that file is local and exists. If the file is remote or is local + * but does not yet exist, nothing happens. *

      * - * You normally do not have to call this method, as the "last saved or - * loaded" time for {@link TextEditorPane}s is kept up-to-date internally - * during such operations as {@link #save()}, {@link #reload()}, etc. + * You normally do not have to call this method, as the "last saved or loaded" + * time for {@link TextEditorPane}s is kept up-to-date internally during such + * operations as {@link #save()}, {@link #reload()}, etc. * * @see #getLastSaveOrLoadTime() * @see #isModifiedOutsideEditor() @@ -739,7 +695,7 @@ public class TextEditorPane extends RSyntaxTextArea implements DocumentListener lastSaveOrLoadTime = loc.getActualLastModified(); } } - + public static void main(String[] args) throws Exception { try { TextEditorPane textArea = new TextEditorPane(); diff --git a/src/org/fife/ui/rsyntaxtextarea/Token.java b/src/org/fife/ui/rsyntaxtextarea/Token.java index 40a82dc..c5dbd3a 100644 --- a/src/org/fife/ui/rsyntaxtextarea/Token.java +++ b/src/org/fife/ui/rsyntaxtextarea/Token.java @@ -38,195 +38,173 @@ import javax.swing.text.TabExpander; * @version 0.3 */ public interface Token extends TokenTypes { - + /** - * Appends HTML code for painting this token, using the given text area's - * color scheme. + * Appends HTML code for painting this token, using the given text area's color + * scheme. * - * @param sb - * The buffer to append to. - * @param textArea - * The text area whose color scheme to use. - * @param fontFamily - * Whether to include the font family in the HTML for - * this token. You can pass false for this parameter - * if, for example, you are making all your HTML be monospaced, - * and don't want any crazy fonts being used in the editor to be - * reflected in your HTML. + * @param sb The buffer to append to. + * @param textArea The text area whose color scheme to use. + * @param fontFamily Whether to include the font family in the HTML for this + * token. You can pass false for this parameter + * if, for example, you are making all your HTML be + * monospaced, and don't want any crazy fonts being used in + * the editor to be reflected in your HTML. * @return The buffer appended to. * @see #getHTMLRepresentation(RSyntaxTextArea) */ StringBuilder appendHTMLRepresentation(StringBuilder sb, RSyntaxTextArea textArea, boolean fontFamily); - + /** - * Appends HTML code for painting this token, using the given text area's - * color scheme. + * Appends HTML code for painting this token, using the given text area's color + * scheme. * - * @param sb - * The buffer to append to. - * @param textArea - * The text area whose color scheme to use. - * @param fontFamily - * Whether to include the font family in the HTML for - * this token. You can pass false for this parameter - * if, for example, you are making all your HTML be monospaced, - * and don't want any crazy fonts being used in the editor to be - * reflected in your HTML. - * @param tabsToSpaces - * Whether to convert tabs into spaces. + * @param sb The buffer to append to. + * @param textArea The text area whose color scheme to use. + * @param fontFamily Whether to include the font family in the HTML for this + * token. You can pass false for this parameter + * if, for example, you are making all your HTML be + * monospaced, and don't want any crazy fonts being used in + * the editor to be reflected in your HTML. + * @param tabsToSpaces Whether to convert tabs into spaces. * @return The buffer appended to. * @see #getHTMLRepresentation(RSyntaxTextArea) */ - StringBuilder appendHTMLRepresentation(StringBuilder sb, RSyntaxTextArea textArea, boolean fontFamily, boolean tabsToSpaces); - + StringBuilder appendHTMLRepresentation(StringBuilder sb, RSyntaxTextArea textArea, boolean fontFamily, + boolean tabsToSpaces); + /** * Returns the character at the specified offset in the token. * - * @param index - * The index. This should be in the range - * 0-({@link #length()}-1). + * @param index The index. This should be in the range + * 0-({@link #length()}-1). * @return The character. * @see #length() */ char charAt(int index); - + /** - * Returns whether the token straddles the specified position in the - * document. + * Returns whether the token straddles the specified position in the document. * - * @param pos - * The position in the document to check. + * @param pos The position in the document to check. * @return Whether the specified position is straddled by this token. */ boolean containsPosition(int pos); - + /** - * Returns the position in the token's internal char array corresponding - * to the specified document position. + * Returns the position in the token's internal char array corresponding to the + * specified document position. *

      - * Note that this method does NOT do any bounds checking; you can pass in - * a document position that does not correspond to a position in this - * token, and you will not receive an Exception or any other notification; - * it is up to the caller to ensure valid input. + * Note that this method does NOT do any bounds checking; you can pass in a + * document position that does not correspond to a position in this token, and + * you will not receive an Exception or any other notification; it is up to the + * caller to ensure valid input. * - * @param pos - * A position in the document that is represented by this token. - * @return The corresponding token position >= textOffset - * and < textOffset+textCount. + * @param pos A position in the document that is represented by this token. + * @return The corresponding token position >= textOffset and + * < textOffset+textCount. * @see #tokenToDocument */ int documentToToken(int pos); - + /** * Returns whether this token's lexeme ends with the specified characters. * - * @param ch - * The characters. + * @param ch The characters. * @return Whether this token's lexeme ends with the specified characters. * @see #startsWith(char[]) */ boolean endsWith(char[] ch); - + /** - * Returns the end offset of this token in the document (exclusive). In - * other words, the token ranges from - * [getOffset(), getEndOffset()). + * Returns the end offset of this token in the document (exclusive). In other + * words, the token ranges from [getOffset(), getEndOffset()). * * @return The end offset of this token. * @see #getOffset() */ int getEndOffset(); - + /** - * Returns a String containing HTML code for painting this - * token, using the given text area's color scheme. + * Returns a String containing HTML code for painting this token, + * using the given text area's color scheme. * - * @param textArea - * The text area whose color scheme to use. + * @param textArea The text area whose color scheme to use. * @return The HTML representation of the token. * @see #appendHTMLRepresentation(StringBuilder, RSyntaxTextArea, boolean) */ String getHTMLRepresentation(RSyntaxTextArea textArea); - + /** * Returns the language index of this token. * - * @return The language index. A value of 0 denotes the - * "main" language, any positive value denotes a specific secondary - * language. + * @return The language index. A value of 0 denotes the "main" + * language, any positive value denotes a specific secondary language. * @see #setLanguageIndex(int) */ int getLanguageIndex(); - + /** - * Returns the last token in this list that is not whitespace or a - * comment. + * Returns the last token in this list that is not whitespace or a comment. * - * @return The last non-comment, non-whitespace token, or null - * if there isn't one. + * @return The last non-comment, non-whitespace token, or null if + * there isn't one. */ Token getLastNonCommentNonWhitespaceToken(); - + /** - * Returns the last paintable token in this token list, or null - * if there is no paintable token. + * Returns the last paintable token in this token list, or null if + * there is no paintable token. * * @return The last paintable token in this token list. */ Token getLastPaintableToken(); - + /** * Returns the text of this token, as a string. *

      * - * Note that this method isn't used much by the - * ryntaxtextarea package internally, as it tries to limit - * memory allocation. + * Note that this method isn't used much by the ryntaxtextarea + * package internally, as it tries to limit memory allocation. * * @return The text of this token. */ String getLexeme(); - + /** - * Determines the offset into this token list (i.e., into the - * document) that covers pixel location x if the token list - * starts at pixel location x0 + * Determines the offset into this token list (i.e., into the document) that + * covers pixel location x if the token list starts at pixel + * location x0 *

      - * . - * This method will return the document position "closest" to the - * x-coordinate (i.e., if they click on the "right-half" of the - * w in awe, the caret will be placed in - * between the w and e; similarly, clicking on - * the left-half places the caret between the a and - * w). This makes it useful for methods such as - * viewToModel found in javax.swing.text.View + * . This method will return the document position "closest" to the x-coordinate + * (i.e., if they click on the "right-half" of the w in + * awe, the caret will be placed in between the w and + * e; similarly, clicking on the left-half places the caret between + * the a and w). This makes it useful for methods such + * as viewToModel found in javax.swing.text.View * subclasses. * - * @param textArea - * The text area from which the token list was derived. - * @param e - * How to expand tabs. - * @param x0 - * The pixel x-location that is the beginning of - * tokenList. - * @param x - * The pixel-position for which you want to get the corresponding - * offset. - * @return The position (in the document, NOT into the token list!) that - * covers the pixel location. If tokenList is - * null or has type Token.NULL, then - * -1 is returned; the caller should recognize this and - * return the actual end position of the (empty) line. + * @param textArea The text area from which the token list was derived. + * @param e How to expand tabs. + * @param x0 The pixel x-location that is the beginning of + * tokenList. + * @param x The pixel-position for which you want to get the + * corresponding offset. + * @return The position (in the document, NOT into the token list!) that covers + * the pixel location. If tokenList is null or + * has type Token.NULL, then -1 is returned; + * the caller should recognize this and return the actual end position + * of the (empty) line. */ int getListOffset(RSyntaxTextArea textArea, TabExpander e, float x0, float x); - + /** * Returns the token after this one in the linked list. * * @return The next token. */ Token getNextToken(); - + /** * Returns the offset into the document at which this token resides. * @@ -234,49 +212,43 @@ public interface Token extends TokenTypes { * @see #getEndOffset() */ int getOffset(); - + /** - * Returns the position in the document that represents the last character - * in the token that will fit into endBeforeX-startX pixels. - * For example, if you're using a monospaced 8-pixel-per-character font, - * have the token "while" and startX is 0 and + * Returns the position in the document that represents the last character in + * the token that will fit into endBeforeX-startX pixels. For + * example, if you're using a monospaced 8-pixel-per-character font, have the + * token "while" and startX is 0 and * endBeforeX is 30, this method will return the * document position of the "i" in "while", because the "i" ends at pixel - * 24, while the "l" ends at 32. If not even the - * first character fits in endBeforeX-startX, the first - * character's position is still returned so calling methods don't go into - * infinite loops. + * 24, while the "l" ends at 32. If not even the first + * character fits in endBeforeX-startX, the first character's + * position is still returned so calling methods don't go into infinite loops. * - * @param textArea - * The text area in which this token is being painted. - * @param e - * How to expand tabs. - * @param startX - * The x-coordinate at which the token will be painted. This - * is needed because of tabs. - * @param endBeforeX - * The x-coordinate for which you want to find the last - * character of t which comes before it. - * @return The last document position that will fit in the specified amount - * of pixels. + * @param textArea The text area in which this token is being painted. + * @param e How to expand tabs. + * @param startX The x-coordinate at which the token will be painted. This + * is needed because of tabs. + * @param endBeforeX The x-coordinate for which you want to find the last + * character of t which comes before it. + * @return The last document position that will fit in the specified amount of + * pixels. */ /* - * @see #getTokenListOffsetBeforeX - * FIXME: This method does not compute correctly! It needs to be abstract - * and implemented by subclasses. + * @see #getTokenListOffsetBeforeX FIXME: This method does not compute + * correctly! It needs to be abstract and implemented by subclasses. */ int getOffsetBeforeX(RSyntaxTextArea textArea, TabExpander e, float startX, float endBeforeX); - + /** - * Returns the character array backing the lexeme of this token. This - * value should be treated as read-only. + * Returns the character array backing the lexeme of this token. This value + * should be treated as read-only. * * @return A character array containing the lexeme of this token. * @see #getTextOffset() * @see #length() */ char[] getTextArray(); - + /** * Returns the offset into the character array of the lexeme in * {@link #getTextArray()}. @@ -285,7 +257,7 @@ public interface Token extends TokenTypes { * @see #getTextArray() */ int getTextOffset(); - + /** * Returns the type of this token. * @@ -294,47 +266,39 @@ public interface Token extends TokenTypes { * @see #setType(int) */ int getType(); - + /** * Returns the width of this token given the specified parameters. * - * @param textArea - * The text area in which the token is being painted. - * @param e - * Describes how to expand tabs. This parameter cannot be - * null. - * @param x0 - * The pixel-location at which the token begins. This is needed - * because of tabs. + * @param textArea The text area in which the token is being painted. + * @param e Describes how to expand tabs. This parameter cannot be + * null. + * @param x0 The pixel-location at which the token begins. This is needed + * because of tabs. * @return The width of the token, in pixels. * @see #getWidthUpTo */ float getWidth(RSyntaxTextArea textArea, TabExpander e, float x0); - + /** - * Returns the width of a specified number of characters in this token. - * For example, for the token "while", specifying a value of 3 - * here returns the width of the "whi" portion of the token. + * Returns the width of a specified number of characters in this token. For + * example, for the token "while", specifying a value of 3 here + * returns the width of the "whi" portion of the token. * - * @param numChars - * The number of characters for which to get the width. - * @param textArea - * The text area in which the token is being painted. - * @param e - * How to expand tabs. This value cannot be null. - * @param x0 - * The pixel-location at which this token begins. This is needed - * because of tabs. + * @param numChars The number of characters for which to get the width. + * @param textArea The text area in which the token is being painted. + * @param e How to expand tabs. This value cannot be null. + * @param x0 The pixel-location at which this token begins. This is needed + * because of tabs. * @return The width of the specified number of characters in this token. * @see #getWidth */ float getWidthUpTo(int numChars, RSyntaxTextArea textArea, TabExpander e, float x0); - + /** * Returns whether this token's lexeme matches a specific character array. * - * @param lexeme - * The lexeme to check for. + * @param lexeme The lexeme to check for. * @return Whether this token has that lexeme. * @see #is(int, char[]) * @see #is(int, String) @@ -342,19 +306,17 @@ public interface Token extends TokenTypes { * @see #startsWith(char[]) */ boolean is(char[] lexeme); - + /** * Returns whether this token is of the specified type, with the specified * lexeme. *

      - * This method is preferred over the other overload in performance-critical - * code where this operation may be called frequently, since it does not - * involve any String allocations. + * This method is preferred over the other overload in performance-critical code + * where this operation may be called frequently, since it does not involve any + * String allocations. * - * @param type - * The type to check for. - * @param lexeme - * The lexeme to check for. + * @param type The type to check for. + * @param lexeme The lexeme to check for. * @return Whether this token has that type and lexeme. * @see #is(int, String) * @see #is(char[]) @@ -362,26 +324,24 @@ public interface Token extends TokenTypes { * @see #startsWith(char[]) */ boolean is(int type, char[] lexeme); - + /** * Returns whether this token is of the specified type, with the specified * lexeme. *

      * The other overload of this method is preferred over this one in - * performance-critical code, as this one involves a String allocation - * while the other does not. + * performance-critical code, as this one involves a String allocation while the + * other does not. * - * @param type - * The type to check for. - * @param lexeme - * The lexeme to check for. + * @param type The type to check for. + * @param lexeme The lexeme to check for. * @return Whether this token has that type and lexeme. * @see #is(int, char[]) * @see #isSingleChar(int, char) * @see #startsWith(char[]) */ boolean is(int type, String lexeme); - + /** * Returns whether this token is a comment. * @@ -390,7 +350,7 @@ public interface Token extends TokenTypes { * @see #isCommentOrWhitespace() */ boolean isComment(); - + /** * Returns whether this token is a comment or whitespace. * @@ -399,7 +359,7 @@ public interface Token extends TokenTypes { * @see #isWhitespace() */ boolean isCommentOrWhitespace(); - + /** * Returns whether this token is a hyperlink. * @@ -407,23 +367,23 @@ public interface Token extends TokenTypes { * @see #setHyperlink(boolean) */ boolean isHyperlink(); - + /** * Returns whether this token is an identifier. * * @return Whether this token is an identifier. */ boolean isIdentifier(); - + /** - * Returns whether this token is a {@link #SEPARATOR} representing a single - * left curly brace. + * Returns whether this token is a {@link #SEPARATOR} representing a single left + * curly brace. * * @return Whether this token is a left curly brace. * @see #isRightCurly() */ boolean isLeftCurly(); - + /** * Returns whether this token is a {@link #SEPARATOR} representing a single * right curly brace. @@ -432,41 +392,38 @@ public interface Token extends TokenTypes { * @see #isLeftCurly() */ boolean isRightCurly(); - + /** - * Returns whether or not this token is "paintable;" i.e., whether or not - * the type of this token is one such that it has an associated syntax - * style. What this boils down to is whether the token type is greater - * than Token.NULL. + * Returns whether or not this token is "paintable;" i.e., whether or not the + * type of this token is one such that it has an associated syntax style. What + * this boils down to is whether the token type is greater than + * Token.NULL. * * @return Whether or not this token is paintable. */ boolean isPaintable(); - + /** * Returns whether this token is the specified single character. * - * @param ch - * The character to check for. + * @param ch The character to check for. * @return Whether this token's lexeme is the single character specified. * @see #isSingleChar(int, char) */ boolean isSingleChar(char ch); - + /** * Returns whether this token is the specified single character, and of a * specific type. * - * @param type - * The token type. - * @param ch - * The character to check for. + * @param type The token type. + * @param ch The character to check for. * @return Whether this token is of the specified type, and with a lexeme * Equaling the single character specified. * @see #isSingleChar(char) */ boolean isSingleChar(int type, char ch); - + /** * Returns whether or not this token is whitespace. * @@ -475,7 +432,7 @@ public interface Token extends TokenTypes { * @see #isCommentOrWhitespace() */ boolean isWhitespace(); - + /** * Returns the length of this token. * @@ -483,87 +440,77 @@ public interface Token extends TokenTypes { * @see #getOffset() */ int length(); - + /** - * Returns the bounding box for the specified document location. The - * location must be in the specified token list; if it isn't, - * null is returned. + * Returns the bounding box for the specified document location. The location + * must be in the specified token list; if it isn't, null is + * returned. * - * @param textArea - * The text area from which the token list was derived. - * @param e - * How to expand tabs. - * @param pos - * The position in the document for which to get the bounding - * box in the view. - * @param x0 - * The pixel x-location that is the beginning of - * tokenList. - * @param rect - * The rectangle in which we'll be returning the results. This - * object is reused to keep from frequent memory allocations. + * @param textArea The text area from which the token list was derived. + * @param e How to expand tabs. + * @param pos The position in the document for which to get the bounding + * box in the view. + * @param x0 The pixel x-location that is the beginning of + * tokenList. + * @param rect The rectangle in which we'll be returning the results. This + * object is reused to keep from frequent memory allocations. * @return The bounding box for the specified position in the model. */ Rectangle listOffsetToView(RSyntaxTextArea textArea, TabExpander e, int pos, int x0, Rectangle rect); - + /** * Sets whether this token is a hyperlink. * - * @param hyperlink - * Whether this token is a hyperlink. + * @param hyperlink Whether this token is a hyperlink. * @see #isHyperlink() */ void setHyperlink(boolean hyperlink); - + /** - * Sets the language index for this token. If this value is positive, it - * denotes a specific "secondary" language this token represents (such as - * JavaScript code or CSS embedded in an HTML file). If this value is - * 0, this token is in the "main" language being edited. - * Negative values are invalid and treated as 0. + * Sets the language index for this token. If this value is positive, it denotes + * a specific "secondary" language this token represents (such as JavaScript + * code or CSS embedded in an HTML file). If this value is 0, this + * token is in the "main" language being edited. Negative values are invalid and + * treated as 0. * - * @param languageIndex - * The new language index. A value of - * 0 denotes the "main" language, any positive value - * denotes a specific secondary language. Negative values will - * be treated as 0. + * @param languageIndex The new language index. A value of 0 + * denotes the "main" language, any positive value denotes + * a specific secondary language. Negative values will be + * treated as 0. * @see #getLanguageIndex() */ void setLanguageIndex(int languageIndex); - + /** * Sets the type of this token. * - * @param type - * The new token type. + * @param type The new token type. * @see TokenTypes * @see #getType() */ void setType(int type); - + /** * Returns whether this token starts with the specified characters. * - * @param chars - * The characters. + * @param chars The characters. * @return Whether this token starts with those characters. * @see #endsWith(char[]) * @see #is(int, char[]) */ boolean startsWith(char[] chars); - + /** - * Returns the position in the document corresponding to the specified - * position in this token's internal char array (textOffset - + * Returns the position in the document corresponding to the specified position + * in this token's internal char array (textOffset - * textOffset+textCount-1). *

      - * Note that this method does NOT do any bounds checking; you can pass in - * an invalid token position, and you will not receive an Exception or any - * other indication that the returned document position is invalid. It is - * up to the user to ensure valid input. + * Note that this method does NOT do any bounds checking; you can pass in an + * invalid token position, and you will not receive an Exception or any other + * indication that the returned document position is invalid. It is up to the + * user to ensure valid input. * - * @param pos - * A position in the token's internal char array + * @param pos A position in the token's internal char array * (textOffset - textOffset+textCount). * @return The corresponding position in the document. * @see #documentToToken(int) diff --git a/src/org/fife/ui/rsyntaxtextarea/TokenFactory.java b/src/org/fife/ui/rsyntaxtextarea/TokenFactory.java index 69f94bf..de98343 100644 --- a/src/org/fife/ui/rsyntaxtextarea/TokenFactory.java +++ b/src/org/fife/ui/rsyntaxtextarea/TokenFactory.java @@ -15,52 +15,42 @@ import javax.swing.text.Segment; * @version 0.1 */ interface TokenFactory { - + /** * Returns a null token. * * @return A null token. */ TokenImpl createToken(); - + /** * Returns a token. * - * @param line - * The segment from which to get the token's text. - * @param beg - * The starting offset of the token's text in the segment. - * @param end - * The ending offset of the token's text in the segment. - * @param startOffset - * The offset in the document of the token. - * @param type - * The type of token. + * @param line The segment from which to get the token's text. + * @param beg The starting offset of the token's text in the segment. + * @param end The ending offset of the token's text in the segment. + * @param startOffset The offset in the document of the token. + * @param type The type of token. * @return The token. */ TokenImpl createToken(final Segment line, final int beg, final int end, final int startOffset, final int type); - + /** * Returns a token. * - * @param line - * The char array from which to get the token's text. - * @param beg - * The starting offset of the token's text in the char array. - * @param end - * The ending offset of the token's text in the char array. - * @param startOffset - * The offset in the document of the token. - * @param type - * The type of token. + * @param line The char array from which to get the token's text. + * @param beg The starting offset of the token's text in the char array. + * @param end The ending offset of the token's text in the char array. + * @param startOffset The offset in the document of the token. + * @param type The type of token. * @return The token. */ TokenImpl createToken(final char[] line, final int beg, final int end, final int startOffset, final int type); - + /** - * Resets the state of this token maker. This method should be called - * by the TokenMaker every time a token list is generated for - * a new line so the tokens can be reused. + * Resets the state of this token maker. This method should be called by the + * TokenMaker every time a token list is generated for a new line + * so the tokens can be reused. */ void resetAllTokens(); } diff --git a/src/org/fife/ui/rsyntaxtextarea/TokenIterator.java b/src/org/fife/ui/rsyntaxtextarea/TokenIterator.java index 11d3021..c0aac41 100644 --- a/src/org/fife/ui/rsyntaxtextarea/TokenIterator.java +++ b/src/org/fife/ui/rsyntaxtextarea/TokenIterator.java @@ -16,16 +16,15 @@ import java.util.Iterator; * @version 1.0 */ class TokenIterator implements Iterator { - + private RSyntaxDocument doc; private int curLine; private Token token; - + /** * Constructor. * - * @param doc - * The document whose tokens we should iterate over. + * @param doc The document whose tokens we should iterate over. */ TokenIterator(RSyntaxDocument doc) { this.doc = doc; @@ -36,11 +35,11 @@ class TokenIterator implements Iterator { loadTokenListForCurLine(); } } - + private int getLineCount() { return doc.getDefaultRootElement().getElementCount(); } - + /** * Returns whether any more paintable tokens are in the document. * @@ -51,7 +50,7 @@ class TokenIterator implements Iterator { public boolean hasNext() { return token != null; } - + private void loadTokenListForCurLine() { token = doc.getTokenListForLine(curLine); if (token != null && !token.isPaintable()) { @@ -59,7 +58,7 @@ class TokenIterator implements Iterator { token = null; } } - + /** * Returns the next paintable token in the document. * @@ -96,13 +95,12 @@ class TokenIterator implements Iterator { } return t; } - + /** - * Always throws {@link UnsupportedOperationException}, as - * Token removal is not supported. + * Always throws {@link UnsupportedOperationException}, as Token + * removal is not supported. * - * @throws UnsupportedOperationException - * always. + * @throws UnsupportedOperationException always. */ @Override public void remove() { diff --git a/src/org/fife/ui/rsyntaxtextarea/TokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/TokenMaker.java index d2c3f47..9e90a35 100644 --- a/src/org/fife/ui/rsyntaxtextarea/TokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/TokenMaker.java @@ -12,8 +12,8 @@ import javax.swing.text.Segment; /** * An implementation of TokenMaker is a class that turns text into - * a linked list of Tokens for syntax highlighting - * in a particular language. + * a linked list of Tokens for syntax highlighting in a particular + * language. * * @see Token * @see AbstractTokenMaker @@ -22,164 +22,142 @@ import javax.swing.text.Segment; * @version 0.2 */ public interface TokenMaker { - + /** - * Adds a null token to the end of the current linked list of tokens. - * This should be put at the end of the linked list whenever the last - * token on the current line is NOT a multi-line token. + * Adds a null token to the end of the current linked list of tokens. This + * should be put at the end of the linked list whenever the last token on the + * current line is NOT a multi-line token. */ public void addNullToken(); - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array from which to get the text. - * @param start - * Start offset in segment of token. - * @param end - * End offset in segment of token. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array from which to get the text. + * @param start Start offset in segment of token. + * @param end End offset in segment of token. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ public void addToken(char[] array, int start, int end, int tokenType, int startOffset); - + /** * Returns the closest {@link TokenTypes "standard" token type} for a given * "internal" token type (e.g. one whose value is < 0). * - * @param type - * The token type. - * @return The closest "standard" token type. If a mapping is not defined - * for this language, then type is returned. + * @param type The token type. + * @return The closest "standard" token type. If a mapping is not defined for + * this language, then type is returned. */ public int getClosestStandardTokenTypeForInternalType(int type); - + /** - * Returns whether this programming language uses curly braces - * ('{' and '}') to denote code blocks. + * Returns whether this programming language uses curly braces ('{' + * and '}') to denote code blocks. * - * @param languageIndex - * The language index at the offset in question. - * Since some TokenMakers effectively have nested - * languages (such as JavaScript in HTML), this parameter tells - * the - * TokenMaker what sub-language to look at. + * @param languageIndex The language index at the offset in question. Since some + * TokenMakers effectively have nested + * languages (such as JavaScript in HTML), this parameter + * tells the TokenMaker what sub-language to + * look at. * @return Whether curly braces denote code blocks. */ public boolean getCurlyBracesDenoteCodeBlocks(int languageIndex); - + /** - * Returns the last token on this line's type if the token is "unfinished", - * or {@link Token#NULL} if it was finished. For example, if C-style - * syntax highlighting is being implemented, and text - * contained a line of code that contained the beginning of a comment but - * no end-comment marker ("*\/"), then this method would return - * {@link Token#COMMENT_MULTILINE} for that line. This is useful - * for doing syntax highlighting. + * Returns the last token on this line's type if the token is "unfinished", or + * {@link Token#NULL} if it was finished. For example, if C-style syntax + * highlighting is being implemented, and text contained a line of + * code that contained the beginning of a comment but no end-comment marker + * ("*\/"), then this method would return {@link Token#COMMENT_MULTILINE} for + * that line. This is useful for doing syntax highlighting. * - * @param text - * The line of tokens to examine. - * @param initialTokenType - * The token type to start with (i.e., the value - * of getLastTokenTypeOnLine for the line before - * text). - * @return The last token on this line's type, or {@link Token#NULL} - * if the line was completed. + * @param text The line of tokens to examine. + * @param initialTokenType The token type to start with (i.e., the value of + * getLastTokenTypeOnLine for the line + * before text). + * @return The last token on this line's type, or {@link Token#NULL} if the line + * was completed. */ public int getLastTokenTypeOnLine(Segment text, int initialTokenType); - + /** - * Returns the text to place at the beginning and end of a - * line to "comment" it in this programming language. + * Returns the text to place at the beginning and end of a line to "comment" it + * in this programming language. * - * @param languageIndex - * The language index at the offset in question. - * Since some TokenMakers effectively have nested - * languages (such as JavaScript in HTML), this parameter tells - * the - * TokenMaker what sub-language to look at. - * @return The start and end strings to add to a line to "comment" - * it out. A null value for either means there - * is no string to add for that part. A value of - * null for the array means this language - * does not support commenting/uncommenting lines. + * @param languageIndex The language index at the offset in question. Since some + * TokenMakers effectively have nested + * languages (such as JavaScript in HTML), this parameter + * tells the TokenMaker what sub-language to + * look at. + * @return The start and end strings to add to a line to "comment" it out. A + * null value for either means there is no string to add + * for that part. A value of null for the array means this + * language does not support commenting/uncommenting lines. */ public String[] getLineCommentStartAndEnd(int languageIndex); - + /** * Returns an action to handle "insert break" key presses (i.e. Enter). * - * @return The action, or null if the default action should - * be used. + * @return The action, or null if the default action should be + * used. */ public Action getInsertBreakAction(); - + /** - * Returns whether tokens of the specified type should have "mark - * occurrences" enabled for the current programming language. + * Returns whether tokens of the specified type should have "mark occurrences" + * enabled for the current programming language. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ public boolean getMarkOccurrencesOfTokenType(int type); - + /** - * Returns the object in charge of marking all occurrences of the token - * at the current caret position, if it is a relevant token. If - * null is returned, a default OccurrenceMarker - * is used. + * Returns the object in charge of marking all occurrences of the token at the + * current caret position, if it is a relevant token. If null is + * returned, a default OccurrenceMarker is used. * - * @return The occurrence marker for this language, or null - * for none. + * @return The occurrence marker for this language, or null for + * none. */ public OccurrenceMarker getOccurrenceMarker(); - + /** - * If a line ends in the specified token, this method returns whether - * a new line inserted after that line should be indented. + * If a line ends in the specified token, this method returns whether a new line + * inserted after that line should be indented. * - * @param token - * The token the previous line ends with. + * @param token The token the previous line ends with. * @return Whether the next line should be indented. */ public boolean getShouldIndentNextLineAfter(Token token); - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ public Token getTokenList(Segment text, int initialTokenType, int startOffset); - + /** - * Returns whether a character could be part of an "identifier" token - * in a specific language. This is used to identify such things as the - * bounds of the "word" to select on double-clicking. + * Returns whether a character could be part of an "identifier" token in a + * specific language. This is used to identify such things as the bounds of the + * "word" to select on double-clicking. * - * @param languageIndex - * The language index the character was found in. - * @param ch - * The character. + * @param languageIndex The language index the character was found in. + * @param ch The character. * @return Whether the character could be part of an "identifier" token. */ public boolean isIdentifierChar(int languageIndex, char ch); - + /** * Returns whether this language is a markup language. * diff --git a/src/org/fife/ui/rsyntaxtextarea/TokenMakerBase.java b/src/org/fife/ui/rsyntaxtextarea/TokenMakerBase.java index 34a10fd..454ad2d 100644 --- a/src/org/fife/ui/rsyntaxtextarea/TokenMakerBase.java +++ b/src/org/fife/ui/rsyntaxtextarea/TokenMakerBase.java @@ -16,7 +16,7 @@ import javax.swing.text.Segment; * @version 1.0 */ public abstract class TokenMakerBase implements TokenMaker { - + /** * The first token in the returned linked list. */ @@ -34,20 +34,18 @@ public abstract class TokenMakerBase implements TokenMaker { */ private TokenFactory tokenFactory; /** - * Highlights occurrences of the current token in the editor, if it is - * relevant. + * Highlights occurrences of the current token in the editor, if it is relevant. */ private OccurrenceMarker occurrenceMarker; /** - * "0" implies this is the "main" language being highlighted. Positive - * values imply various "secondary" or "embedded" languages, such as CSS - * or JavaScript in HTML. While this value is non-zero, tokens will be - * generated with this language index so they can (possibly) be painted - * differently, so "embedded" languages can be rendered with a special - * background. + * "0" implies this is the "main" language being highlighted. Positive values + * imply various "secondary" or "embedded" languages, such as CSS or JavaScript + * in HTML. While this value is non-zero, tokens will be generated with this + * language index so they can (possibly) be painted differently, so "embedded" + * languages can be rendered with a special background. */ private int languageIndex; - + /** * Constructor. */ @@ -55,7 +53,7 @@ public abstract class TokenMakerBase implements TokenMaker { firstToken = currentToken = previousToken = null; tokenFactory = new DefaultTokenFactory(); } - + /** * {@inheritDoc} */ @@ -72,26 +70,20 @@ public abstract class TokenMakerBase implements TokenMaker { } currentToken.setLanguageIndex(languageIndex); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param segment - * Segment to get text from. - * @param start - * Start offset in segment of token. - * @param end - * End offset in segment of token. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param segment Segment to get text from. + * @param start Start offset in segment of token. + * @param end End offset in segment of token. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ public void addToken(Segment segment, int start, int end, int tokenType, int startOffset) { addToken(segment.array, start, end, tokenType, startOffset); } - + /** * {@inheritDoc} */ @@ -99,23 +91,16 @@ public abstract class TokenMakerBase implements TokenMaker { public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { addToken(array, start, end, tokenType, startOffset, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { if (firstToken == null) { @@ -130,59 +115,56 @@ public abstract class TokenMakerBase implements TokenMaker { currentToken.setLanguageIndex(languageIndex); currentToken.setHyperlink(hyperlink); } - + /** - * Returns the occurrence marker to use for this token maker. Subclasses - * can override to use different implementations. + * Returns the occurrence marker to use for this token maker. Subclasses can + * override to use different implementations. * * @return The occurrence marker to use. */ protected OccurrenceMarker createOccurrenceMarker() { return new DefaultOccurrenceMarker(); } - + /** * Returns the closest {@link TokenTypes "standard" token type} for a given * "internal" token type (e.g. one whose value is < 0). *

      * - * The default implementation returns type always, which - * denotes that a mapping from internal token types to standard token types - * is not defined; subclasses can override. + * The default implementation returns type always, which denotes + * that a mapping from internal token types to standard token types is not + * defined; subclasses can override. * - * @param type - * The token type. + * @param type The token type. * @return The closest "standard" token type. */ @Override public int getClosestStandardTokenTypeForInternalType(int type) { return type; } - + /** - * Returns whether this programming language uses curly braces - * ('{' and '}') to denote code blocks. + * Returns whether this programming language uses curly braces ('{' + * and '}') to denote code blocks. * * The default implementation returns false; subclasses can * override this method if necessary. * - * @param languageIndex - * The language index at the offset in question. - * Since some TokenMakers effectively have nested - * languages (such as JavaScript in HTML), this parameter tells - * the - * TokenMaker what sub-language to look at. + * @param languageIndex The language index at the offset in question. Since some + * TokenMakers effectively have nested + * languages (such as JavaScript in HTML), this parameter + * tells the TokenMaker what sub-language to + * look at. * @return Whether curly braces denote code blocks. */ @Override public boolean getCurlyBracesDenoteCodeBlocks(int languageIndex) { return false; } - + /** - * Returns an action to handle "insert break" key presses (i.e. Enter). - * The default implementation returns null. Subclasses - * can override. + * Returns an action to handle "insert break" key presses (i.e. Enter). The + * default implementation returns null. Subclasses can override. * * @return The default implementation always returns null. */ @@ -190,7 +172,7 @@ public abstract class TokenMakerBase implements TokenMaker { public Action getInsertBreakAction() { return null; } - + /** * Returns the current language index. * @@ -200,7 +182,7 @@ public abstract class TokenMakerBase implements TokenMaker { protected int getLanguageIndex() { return languageIndex; } - + /** * {@inheritDoc} */ @@ -213,7 +195,7 @@ public abstract class TokenMakerBase implements TokenMaker { } return t.getType(); } - + /** * {@inheritDoc} */ @@ -221,24 +203,22 @@ public abstract class TokenMakerBase implements TokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return null; } - + /** - * Returns whether tokens of the specified type should have "mark - * occurrences" enabled for the current programming language. The default - * implementation returns true if type is {@link Token#IDENTIFIER}. - * Subclasses can override this method to support other token types, such - * as {@link Token#VARIABLE}. + * Returns whether tokens of the specified type should have "mark occurrences" + * enabled for the current programming language. The default implementation + * returns true if type is {@link Token#IDENTIFIER}. Subclasses can + * override this method to support other token types, such as + * {@link Token#VARIABLE}. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.IDENTIFIER; } - + /** * {@inheritDoc} */ @@ -249,34 +229,33 @@ public abstract class TokenMakerBase implements TokenMaker { } return occurrenceMarker; } - + /** - * The default implementation returns false always. Languages - * that wish to better support auto-indentation can override this method. + * The default implementation returns false always. Languages that + * wish to better support auto-indentation can override this method. * - * @param token - * The token the previous line ends with. + * @param token The token the previous line ends with. * @return Whether the next line should be indented. */ @Override public boolean getShouldIndentNextLineAfter(Token token) { return false; } - + /** - * Returns whether a character could be part of an "identifier" token - * in a specific language. The default implementation returns - * true for letters, numbers, and certain symbols. + * Returns whether a character could be part of an "identifier" token in a + * specific language. The default implementation returns true for + * letters, numbers, and certain symbols. */ @Override public boolean isIdentifierChar(int languageIndex, char ch) { return Character.isLetterOrDigit(ch) || ch == '_' || ch == '$'; } - + /** - * The default implementation returns false always. - * Subclasses that are highlighting a markup language should override this - * method to return true. + * The default implementation returns false always. Subclasses that + * are highlighting a markup language should override this method to return + * true. * * @return false always. */ @@ -284,29 +263,27 @@ public abstract class TokenMakerBase implements TokenMaker { public boolean isMarkupLanguage() { return false; } - + /** - * Deletes the linked list of tokens so we can begin anew. This should - * never have to be called by the programmer, as it is automatically - * called whenever the user calls - * {@link #getLastTokenTypeOnLine(Segment, int)} or + * Deletes the linked list of tokens so we can begin anew. This should never + * have to be called by the programmer, as it is automatically called whenever + * the user calls {@link #getLastTokenTypeOnLine(Segment, int)} or * {@link #getTokenList(Segment, int, int)}. */ protected void resetTokenList() { firstToken = currentToken = previousToken = null; tokenFactory.resetAllTokens(); } - + /** - * Sets the language index to assign to tokens moving forward. This - * property is used to designate tokens as being in "secondary" languages - * (such as CSS or JavaScript in HTML). + * Sets the language index to assign to tokens moving forward. This property is + * used to designate tokens as being in "secondary" languages (such as CSS or + * JavaScript in HTML). * - * @param languageIndex - * The new language index. A value of - * 0 denotes the "main" language, any positive value - * denotes a specific secondary language. Negative values will - * be treated as 0. + * @param languageIndex The new language index. A value of 0 + * denotes the "main" language, any positive value denotes + * a specific secondary language. Negative values will be + * treated as 0. * @see #getLanguageIndex() */ protected void setLanguageIndex(int languageIndex) { diff --git a/src/org/fife/ui/rsyntaxtextarea/TokenMakerFactory.java b/src/org/fife/ui/rsyntaxtextarea/TokenMakerFactory.java index a46632c..80ed434 100644 --- a/src/org/fife/ui/rsyntaxtextarea/TokenMakerFactory.java +++ b/src/org/fife/ui/rsyntaxtextarea/TokenMakerFactory.java @@ -18,10 +18,9 @@ import org.fife.ui.rsyntaxtextarea.modes.PlainTextTokenMaker; * @version 1.0 */ public abstract class TokenMakerFactory { - + /** - * If this system property is set, a custom TokenMakerFactory - * of + * If this system property is set, a custom TokenMakerFactory of * the specified class will be used as the default token maker factory. */ public static final String PROPERTY_DEFAULT_TOKEN_MAKER_FACTORY = "TokenMakerFactory"; @@ -29,7 +28,7 @@ public abstract class TokenMakerFactory { * The singleton default TokenMakerFactory instance. */ private static TokenMakerFactory DEFAULT_INSTANCE; - + /** * Returns the default TokenMakerFactory instance. This is the * factory used by all {@link RSyntaxDocument}s by default. @@ -59,12 +58,11 @@ public abstract class TokenMakerFactory { } return DEFAULT_INSTANCE; } - + /** * Returns a {@link TokenMaker} for the specified key. * - * @param key - * The key. + * @param key The key. * @return The corresponding TokenMaker, or * {@link PlainTextTokenMaker} if none matches the specified key. */ @@ -75,36 +73,31 @@ public abstract class TokenMakerFactory { } return tm; } - + /** * Returns a {@link TokenMaker} for the specified key. * - * @param key - * The key. - * @return The corresponding TokenMaker, or null - * if + * @param key The key. + * @return The corresponding TokenMaker, or null if * none matches the specified key. */ protected abstract TokenMaker getTokenMakerImpl(String key); - + /** * Returns the set of keys that this factory maps to token makers. * * @return The set of keys. */ public abstract Set keySet(); - + /** - * Sets the default TokenMakerFactory instance. This is the - * factory + * Sets the default TokenMakerFactory instance. This is the factory * used by all future {@link RSyntaxDocument}s by default. * RSyntaxDocuments that have already been created are not * affected. * - * @param tmf - * The factory. - * @throws IllegalArgumentException - * If tmf is null. + * @param tmf The factory. + * @throws IllegalArgumentException If tmf is null. * @see #getDefaultInstance() */ public static synchronized void setDefaultInstance(TokenMakerFactory tmf) { diff --git a/src/org/fife/ui/rsyntaxtextarea/TokenMap.java b/src/org/fife/ui/rsyntaxtextarea/TokenMap.java index 858d30f..53fff57 100644 --- a/src/org/fife/ui/rsyntaxtextarea/TokenMap.java +++ b/src/org/fife/ui/rsyntaxtextarea/TokenMap.java @@ -10,8 +10,8 @@ package org.fife.ui.rsyntaxtextarea; import javax.swing.text.Segment; /** - * A hash table for reserved words, etc. defined by a {@link TokenMaker}. - * This class is designed for the quick lookup of tokens, as it can compare + * A hash table for reserved words, etc. defined by a {@link TokenMaker}. This + * class is designed for the quick lookup of tokens, as it can compare * Segments without the need to allocate a new string. *

      * @@ -27,98 +27,86 @@ import javax.swing.text.Segment; * @version 0.6 */ public class TokenMap { - + private int size; private TokenMapToken[] tokenMap; private boolean ignoreCase; private static final int DEFAULT_TOKEN_MAP_SIZE = 52; - + /** * Constructs a new token map that is case-sensitive. */ public TokenMap() { this(DEFAULT_TOKEN_MAP_SIZE); } - + /** * Constructs a new token map that is case-sensitive. * - * @param size - * The size of the token map. + * @param size The size of the token map. */ public TokenMap(int size) { this(size, false); } - + /** * Constructs a new token map. * - * @param ignoreCase - * Whether or not this token map should ignore case - * when comparing tokens. + * @param ignoreCase Whether or not this token map should ignore case when + * comparing tokens. */ public TokenMap(boolean ignoreCase) { this(DEFAULT_TOKEN_MAP_SIZE, ignoreCase); } - + /** * Constructs a new token map. * - * @param size - * The size of the token map. - * @param ignoreCase - * Whether or not this token map should ignore case - * when comparing tokens. + * @param size The size of the token map. + * @param ignoreCase Whether or not this token map should ignore case when + * comparing tokens. */ public TokenMap(int size, boolean ignoreCase) { this.size = size; tokenMap = new TokenMapToken[size]; this.ignoreCase = ignoreCase; } - + /** * Adds a token to a specified bucket in the token map. * - * @param bucket - * The bucket in which to add the token. - * @param token - * The token to add. + * @param bucket The bucket in which to add the token. + * @param token The token to add. */ private void addTokenToBucket(int bucket, TokenMapToken token) { TokenMapToken old = tokenMap[bucket]; token.nextToken = old; tokenMap[bucket] = token; } - + /** - * Returns the token type associated with the given text, if the given - * text is in this token map. If it isn't, -1 is returned. + * Returns the token type associated with the given text, if the given text is + * in this token map. If it isn't, -1 is returned. * - * @param text - * The segment from which to get the text to compare. - * @param start - * The starting index in the segment of the text. - * @param end - * The ending index in the segment of the text. - * @return The token type associated with the given text, or - * -1 if this token was not specified in this map. + * @param text The segment from which to get the text to compare. + * @param start The starting index in the segment of the text. + * @param end The ending index in the segment of the text. + * @return The token type associated with the given text, or -1 if + * this token was not specified in this map. */ public int get(Segment text, int start, int end) { return get(text.array, start, end); } - + /** - * Returns the token type associated with the given text, if the given - * text is in this token map. If it isn't, -1 is returned. + * Returns the token type associated with the given text, if the given text is + * in this token map. If it isn't, -1 is returned. * - * @param array1 - * An array of characters containing the text. - * @param start - * The starting index in the array of the text. - * @param end - * The ending index in the array of the text. - * @return The token type associated with the given text, or - * -1 if this token was not specified in this map. + * @param array1 An array of characters containing the text. + * @param start The starting index in the array of the text. + * @param end The ending index in the array of the text. + * @return The token type associated with the given text, or -1 if + * this token was not specified in this map. */ public int get(char[] array1, int start, int end) { int length1 = end - start + 1; @@ -129,14 +117,13 @@ public class TokenMap { int offset1; int length; /* - * We check whether or not to ignore case before doing any looping to - * minimize the number of extraneous comparisons we do. This makes - * for slightly redundant code, but it'll be a little more efficient. + * We check whether or not to ignore case before doing any looping to minimize + * the number of extraneous comparisons we do. This makes for slightly redundant + * code, but it'll be a little more efficient. */ // If matches are case-sensitive (C, C++, Java, etc.)... if (!ignoreCase) { - mainLoop: - while (token != null) { + mainLoop: while (token != null) { if (token.length == length1) { array2 = token.text; offset2 = token.offset; @@ -157,8 +144,7 @@ public class TokenMap { // Note that all tokens saved in this map were converted to // lower-case already. else { - mainLoop2: - while (token != null) { + mainLoop2: while (token != null) { if (token.length == length1) { array2 = token.text; offset2 = token.offset; @@ -178,40 +164,36 @@ public class TokenMap { // Didn't match any of the tokens in the bucket. return -1; } - + /** * Returns the hash code for a given string. * - * @param text - * The text to hash. - * @param offset - * The offset into the text at which to start hashing. - * @param length - * The last character in the text to hash. + * @param text The text to hash. + * @param offset The offset into the text at which to start hashing. + * @param length The last character in the text to hash. * @return The hash code. */ private int getHashCode(char[] text, int offset, int length) { - return (RSyntaxUtilities.toLowerCase(text[offset]) + RSyntaxUtilities.toLowerCase(text[offset + length - 1])) % size; + return (RSyntaxUtilities.toLowerCase(text[offset]) + RSyntaxUtilities.toLowerCase(text[offset + length - 1])) + % size; } - + /** - * Returns whether this token map ignores case when checking for tokens. - * This property is set in the constructor and cannot be changed, as this - * is an intrinsic property of a particular programming language. + * Returns whether this token map ignores case when checking for tokens. This + * property is set in the constructor and cannot be changed, as this is an + * intrinsic property of a particular programming language. * * @return Whether or not this token maker is ignoring case. */ protected boolean isIgnoringCase() { return ignoreCase; } - + /** * Adds a string to this token map. * - * @param string - * The string to add. - * @param tokenType - * The type of token the string is. + * @param string The string to add. + * @param tokenType The type of token the string is. */ public void put(final String string, final int tokenType) { if (isIgnoringCase()) { @@ -220,44 +202,42 @@ public class TokenMap { put(string.toCharArray(), tokenType); } } - + /** - * Adds a string to this token map. The char array passed-in will be used - * as the actual data for the token, so it may well be modified (such as - * lower-casing it if ignoreCase is true). This - * shouldn't be an issue though as this method is only called from the - * public put method, which allocates a new char array. + * Adds a string to this token map. The char array passed-in will be used as the + * actual data for the token, so it may well be modified (such as lower-casing + * it if ignoreCase is true). This shouldn't be an + * issue though as this method is only called from the public put + * method, which allocates a new char array. * - * @param string - * The string to add. - * @param tokenType - * The type of token the string is. + * @param string The string to add. + * @param tokenType The type of token the string is. */ private void put(char[] string, int tokenType) { int hashCode = getHashCode(string, 0, string.length); addTokenToBucket(hashCode, new TokenMapToken(string, tokenType)); } - + /** - * The "token" used by a token map. Note that this isn't the same thing - * as the {@link Token} class, but it's basically a 1-1 correspondence - * for reserved words, etc. + * The "token" used by a token map. Note that this isn't the same thing as the + * {@link Token} class, but it's basically a 1-1 correspondence for reserved + * words, etc. */ private static final class TokenMapToken { - + private char[] text; private int offset; private int length; private int tokenType; private TokenMapToken nextToken; - + private TokenMapToken(char[] text, int tokenType) { this.text = text; this.offset = 0; this.length = text.length; this.tokenType = tokenType; } - + @Override public String toString() { return "[TokenMapToken: " + new String(text, offset, length) + "]"; diff --git a/src/org/fife/ui/rsyntaxtextarea/TokenOrientedView.java b/src/org/fife/ui/rsyntaxtextarea/TokenOrientedView.java index cdd7444..cc433ce 100644 --- a/src/org/fife/ui/rsyntaxtextarea/TokenOrientedView.java +++ b/src/org/fife/ui/rsyntaxtextarea/TokenOrientedView.java @@ -22,36 +22,32 @@ package org.fife.ui.rsyntaxtextarea; * @version 0.1 */ public interface TokenOrientedView { - + /** - * Returns a token list for the physical line above the physical - * line containing the specified offset into the document. Note that for - * a plain (non-wrapped) view, this is simply the token list for the - * logical line above the line containing offset, since lines - * are not wrapped. For a wrapped view, this may or may not be tokens from - * the same line. + * Returns a token list for the physical line above the physical line + * containing the specified offset into the document. Note that for a plain + * (non-wrapped) view, this is simply the token list for the logical line above + * the line containing offset, since lines are not wrapped. For a + * wrapped view, this may or may not be tokens from the same line. * - * @param offset - * The offset in question. - * @return A token list for the physical (and in this view, logical) line - * before this one. If no physical line is above the one - * containing offset, null is returned. + * @param offset The offset in question. + * @return A token list for the physical (and in this view, logical) line before + * this one. If no physical line is above the one containing + * offset, null is returned. */ Token getTokenListForPhysicalLineAbove(int offset); - + /** - * Returns a token list for the physical line below the physical - * line containing the specified offset into the document. Note that for - * a plain (non-wrapped) view, this is simply the token list for the - * logical line below the line containing offset, since lines - * are not wrapped. For a wrapped view, this may or may not be tokens from - * the same line. + * Returns a token list for the physical line below the physical line + * containing the specified offset into the document. Note that for a plain + * (non-wrapped) view, this is simply the token list for the logical line below + * the line containing offset, since lines are not wrapped. For a + * wrapped view, this may or may not be tokens from the same line. * - * @param offset - * The offset in question. - * @return A token list for the physical (and in this view, logical) line - * after this one. If no physical line is after the one - * containing offset, null is returned. + * @param offset The offset in question. + * @return A token list for the physical (and in this view, logical) line after + * this one. If no physical line is after the one containing + * offset, null is returned. */ Token getTokenListForPhysicalLineBelow(int offset); } diff --git a/src/org/fife/ui/rsyntaxtextarea/TokenPainter.java b/src/org/fife/ui/rsyntaxtextarea/TokenPainter.java index dc6721c..9635c91 100644 --- a/src/org/fife/ui/rsyntaxtextarea/TokenPainter.java +++ b/src/org/fife/ui/rsyntaxtextarea/TokenPainter.java @@ -11,129 +11,99 @@ import java.awt.Graphics2D; import javax.swing.text.TabExpander; /** - * Renders tokens in an instance of {@link RSyntaxTextArea}. One instance - * may render tokens "regularly," another may render visible whitespace, for + * Renders tokens in an instance of {@link RSyntaxTextArea}. One instance may + * render tokens "regularly," another may render visible whitespace, for * example. * * @author Robert Futrell * @version 1.0 */ interface TokenPainter { - + /** * Paints this token. * - * @param token - * The token to render. - * @param g - * The graphics context in which to paint. - * @param x - * The x-coordinate at which to paint. - * @param y - * The y-coordinate at which to paint. - * @param host - * The text area this token is in. - * @param e - * How to expand tabs. + * @param token The token to render. + * @param g The graphics context in which to paint. + * @param x The x-coordinate at which to paint. + * @param y The y-coordinate at which to paint. + * @param host The text area this token is in. + * @param e How to expand tabs. * @return The x-coordinate representing the end of the painted text. */ float paint(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e); - + /** * Paints this token. * - * @param token - * The token to render. - * @param g - * The graphics context in which to paint. - * @param x - * The x-coordinate at which to paint. - * @param y - * The y-coordinate at which to paint. - * @param host - * The text area this token is in. - * @param e - * How to expand tabs. - * @param clipStart - * The left boundary of the clip rectangle in which we're - * painting. This optimizes painting by allowing us to not paint - * paint when this token is "to the left" of the clip rectangle. + * @param token The token to render. + * @param g The graphics context in which to paint. + * @param x The x-coordinate at which to paint. + * @param y The y-coordinate at which to paint. + * @param host The text area this token is in. + * @param e How to expand tabs. + * @param clipStart The left boundary of the clip rectangle in which we're + * painting. This optimizes painting by allowing us to not + * paint paint when this token is "to the left" of the clip + * rectangle. * @return The x-coordinate representing the end of the painted text. */ float paint(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, float clipStart); - + /** * Paints this token. * - * @param token - * The token to render. - * @param g - * The graphics context in which to paint. - * @param x - * The x-coordinate at which to paint. - * @param y - * The y-coordinate at which to paint. - * @param host - * The text area this token is in. - * @param e - * How to expand tabs. - * @param clipStart - * The left boundary of the clip rectangle in which we're - * painting. This optimizes painting by allowing us to not paint - * paint when this token is "to the left" of the clip rectangle. - * @param paintBG - * Whether to paint the background. + * @param token The token to render. + * @param g The graphics context in which to paint. + * @param x The x-coordinate at which to paint. + * @param y The y-coordinate at which to paint. + * @param host The text area this token is in. + * @param e How to expand tabs. + * @param clipStart The left boundary of the clip rectangle in which we're + * painting. This optimizes painting by allowing us to not + * paint paint when this token is "to the left" of the clip + * rectangle. + * @param paintBG Whether to paint the background. * @return The x-coordinate representing the end of the painted text. */ - float paint(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, float clipStart, boolean paintBG); - + float paint(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, float clipStart, + boolean paintBG); + /** - * Paints this token as it should appear in a selected region of text - * (assuming painting with a selection-foreground color is enabled in the - * parent RSyntaxTextArea). + * Paints this token as it should appear in a selected region of text (assuming + * painting with a selection-foreground color is enabled in the parent + * RSyntaxTextArea). * - * @param token - * The token to render. - * @param g - * The graphics context in which to paint. - * @param x - * The x-coordinate at which to paint. - * @param y - * The y-coordinate at which to paint. - * @param host - * The text area this token is in. - * @param e - * How to expand tabs. - * @param useSTC - * Whether to use the text area's "selected text color." + * @param token The token to render. + * @param g The graphics context in which to paint. + * @param x The x-coordinate at which to paint. + * @param y The y-coordinate at which to paint. + * @param host The text area this token is in. + * @param e How to expand tabs. + * @param useSTC Whether to use the text area's "selected text color." * @return The x-coordinate representing the end of the painted text. */ - float paintSelected(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, boolean useSTC); - + float paintSelected(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, + boolean useSTC); + /** - * Paints this token as it should appear in a selected region of text - * (assuming painting with a selection-foreground color is enabled in the - * parent RSyntaxTextArea). + * Paints this token as it should appear in a selected region of text (assuming + * painting with a selection-foreground color is enabled in the parent + * RSyntaxTextArea). * - * @param token - * The token to render. - * @param g - * The graphics context in which to paint. - * @param x - * The x-coordinate at which to paint. - * @param y - * The y-coordinate at which to paint. - * @param host - * The text area this token is in. - * @param e - * How to expand tabs. - * @param clipStart - * The left boundary of the clip rectangle in which we're - * painting. This optimizes painting by allowing us to not paint - * paint when this token is "to the left" of the clip rectangle. - * @param useSTC - * Whether to use the text area's "selected text color." + * @param token The token to render. + * @param g The graphics context in which to paint. + * @param x The x-coordinate at which to paint. + * @param y The y-coordinate at which to paint. + * @param host The text area this token is in. + * @param e How to expand tabs. + * @param clipStart The left boundary of the clip rectangle in which we're + * painting. This optimizes painting by allowing us to not + * paint paint when this token is "to the left" of the clip + * rectangle. + * @param useSTC Whether to use the text area's "selected text color." * @return The x-coordinate representing the end of the painted text. */ - float paintSelected(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, float clipStart, boolean useSTC); + float paintSelected(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, + float clipStart, boolean useSTC); } diff --git a/src/org/fife/ui/rsyntaxtextarea/TokenTypes.java b/src/org/fife/ui/rsyntaxtextarea/TokenTypes.java index 888e270..b8ddd63 100644 --- a/src/org/fife/ui/rsyntaxtextarea/TokenTypes.java +++ b/src/org/fife/ui/rsyntaxtextarea/TokenTypes.java @@ -11,17 +11,17 @@ package org.fife.ui.rsyntaxtextarea; *

      * * Note that all valid token types are >= 0, so extensions of the TokenMaker - * class are free to internally use all ints < 0 ONLY for "end-of-line" - * style markers; they are ignored by painting implementations. + * class are free to internally use all ints < 0 ONLY for "end-of-line" style + * markers; they are ignored by painting implementations. * * @author Robert Futrell * @version 1.0 */ public interface TokenTypes { - + /** - * Tokens of type NULL mark the end of lines with no - * multi-line token at the end (such as a block comment in C++). + * Tokens of type NULL mark the end of lines with no multi-line + * token at the end (such as a block comment in C++). */ int NULL = 0; int COMMENT_EOL = 1; diff --git a/src/org/fife/ui/rsyntaxtextarea/URLFileLocation.java b/src/org/fife/ui/rsyntaxtextarea/URLFileLocation.java index 2d78235..a97f83e 100644 --- a/src/org/fife/ui/rsyntaxtextarea/URLFileLocation.java +++ b/src/org/fife/ui/rsyntaxtextarea/URLFileLocation.java @@ -18,7 +18,7 @@ import java.net.URL; * @version 1.0 */ class URLFileLocation extends FileLocation { - + /** * URL of the remote file. */ @@ -32,22 +32,21 @@ class URLFileLocation extends FileLocation { * removed). */ private String fileName; - + /** * Constructor. * - * @param url - * The URL of the file. + * @param url The URL of the file. */ URLFileLocation(URL url) { this.url = url; fileFullPath = createFileFullPath(); fileName = createFileName(); } - + /** - * Creates a "prettied-up" URL to use. This will be stripped of - * sensitive information such as passwords. + * Creates a "prettied-up" URL to use. This will be stripped of sensitive + * information such as passwords. * * @return The full path to use. */ @@ -56,7 +55,7 @@ class URLFileLocation extends FileLocation { fullPath = fullPath.replaceFirst("://([^:]+)(?:.+)@", "://$1@"); return fullPath; } - + /** * Creates the "prettied-up" filename to use. * @@ -71,11 +70,11 @@ class URLFileLocation extends FileLocation { } return fileName; } - + /** * Returns the last time this file was modified, or - * {@link TextEditorPane#LAST_MODIFIED_UNKNOWN} if this value cannot be - * computed (such as for a remote file). + * {@link TextEditorPane#LAST_MODIFIED_UNKNOWN} if this value cannot be computed + * (such as for a remote file). * * @return The last time this file was modified. This will always be * {@link TextEditorPane#LAST_MODIFIED_UNKNOWN} for URL's. @@ -84,7 +83,7 @@ class URLFileLocation extends FileLocation { protected long getActualLastModified() { return TextEditorPane.LAST_MODIFIED_UNKNOWN; } - + /** * {@inheritDoc} */ @@ -92,7 +91,7 @@ class URLFileLocation extends FileLocation { public String getFileFullPath() { return fileFullPath; } - + /** * {@inheritDoc} */ @@ -100,7 +99,7 @@ class URLFileLocation extends FileLocation { public String getFileName() { return fileName; } - + /** * {@inheritDoc} */ @@ -108,7 +107,7 @@ class URLFileLocation extends FileLocation { protected InputStream getInputStream() throws IOException { return url.openStream(); } - + /** * {@inheritDoc} */ @@ -116,7 +115,7 @@ class URLFileLocation extends FileLocation { protected OutputStream getOutputStream() throws IOException { return url.openConnection().getOutputStream(); } - + /** * Returns whether this file location is a local file. * @@ -127,11 +126,11 @@ class URLFileLocation extends FileLocation { public boolean isLocal() { return "file".equalsIgnoreCase(url.getProtocol()); } - + /** - * Returns whether this file location is a local file and already - * exists. This method always returns false since we - * cannot check this value easily. + * Returns whether this file location is a local file and already exists. This + * method always returns false since we cannot check this value + * easily. * * @return false always. * @see #isLocal() diff --git a/src/org/fife/ui/rsyntaxtextarea/VisibleWhitespaceTokenPainter.java b/src/org/fife/ui/rsyntaxtextarea/VisibleWhitespaceTokenPainter.java index 03c1e64..1523384 100644 --- a/src/org/fife/ui/rsyntaxtextarea/VisibleWhitespaceTokenPainter.java +++ b/src/org/fife/ui/rsyntaxtextarea/VisibleWhitespaceTokenPainter.java @@ -20,13 +20,11 @@ import javax.swing.text.TabExpander; * The current implementation paints as follows: *

        *
      • The first tab or space, if any, is found in the token.
      • - *
      • If a tab was found, all characters up to it are painted as a - * group.
      • - *
      • If a space was found, all characters up to and including it are - * painted (it is painted with a special symbol to denote it as - * a space).
      • - *
      • If neither a tab nor a whitespace was found, all characters in the - * token are painted.
      • + *
      • If a tab was found, all characters up to it are painted as a group.
      • + *
      • If a space was found, all characters up to and including it are painted + * (it is painted with a special symbol to denote it as a space).
      • + *
      • If neither a tab nor a whitespace was found, all characters in the token + * are painted.
      • *
      • Repeat until all characters are painted.
      • *
      * This means that rendering hints are applied to all groups of characters @@ -46,13 +44,13 @@ import javax.swing.text.TabExpander; * @version 1.0 */ class VisibleWhitespaceTokenPainter extends DefaultTokenPainter { - + /** * {@inheritDoc} */ @Override - protected float paintImpl(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, float clipStart, - boolean selected, boolean useSTC) { + protected float paintImpl(Token token, Graphics2D g, float x, float y, RSyntaxTextArea host, TabExpander e, + float clipStart, boolean selected, boolean useSTC) { int origX = (int) x; int textOffs = token.getTextOffset(); char[] text = token.getTextArray(); @@ -68,65 +66,65 @@ class VisibleWhitespaceTokenPainter extends DefaultTokenPainter { int height = fm.getHeight(); for (int i = textOffs; i < end; i++) { switch (text[i]) { - case '\t': - // Fill in background. - nextX = x + fm.charsWidth(text, flushIndex, flushLen); - float nextNextX = e.nextTabStop(nextX, 0); - if (bg != null) { - paintBackground(x, y, nextNextX - x, height, g, ascent, host, bg); - } - g.setColor(fg); - // Paint chars cached before the tab. - if (flushLen > 0) { - g.drawChars(text, flushIndex, flushLen, (int) x, (int) y); - flushLen = 0; - } - flushIndex = i + 1; - // Draw an arrow representing the tab. - int halfHeight = height / 2; - int quarterHeight = halfHeight / 2; - int ymid = (int) y - ascent + halfHeight; - g.drawLine((int) nextX, ymid, (int) nextNextX, ymid); - g.drawLine((int) nextNextX, ymid, (int) nextNextX - 4, ymid - quarterHeight); - g.drawLine((int) nextNextX, ymid, (int) nextNextX - 4, ymid + quarterHeight); - x = nextNextX; - break; - case ' ': - // NOTE: There is a little bit of a "fudge factor" - // here when "smooth text" is enabled, as "width" - // below may well not be the width given to the space - // by fm.charsWidth() (it depends on how it places the - // space with respect to the preceding character). - // But, we assume the approximation is close enough for - // our drawing a dot for the space. - // "flushLen+1" ensures text is aligned correctly (or, - // aligned the same as in getWidth()). - nextX = x + fm.charsWidth(text, flushIndex, flushLen + 1); - int width = fm.charWidth(' '); - // Paint background. - if (bg != null) { - paintBackground(x, y, nextX - x, height, g, ascent, host, bg); - } - g.setColor(fg); - // Paint chars before space. - if (flushLen > 0) { - g.drawChars(text, flushIndex, flushLen, (int) x, (int) y); - flushLen = 0; - } - // Paint a dot representing the space. - int dotX = (int) (nextX - width / 2f); // "2.0f" for - // FindBugs - int dotY = (int) (y - ascent + height / 2f); // Ditto - g.drawLine(dotX, dotY, dotX, dotY); - flushIndex = i + 1; - x = nextX; - break; - case '\f': - // ??? - // fall-through for now. - default: - flushLen += 1; - break; + case '\t': + // Fill in background. + nextX = x + fm.charsWidth(text, flushIndex, flushLen); + float nextNextX = e.nextTabStop(nextX, 0); + if (bg != null) { + paintBackground(x, y, nextNextX - x, height, g, ascent, host, bg); + } + g.setColor(fg); + // Paint chars cached before the tab. + if (flushLen > 0) { + g.drawChars(text, flushIndex, flushLen, (int) x, (int) y); + flushLen = 0; + } + flushIndex = i + 1; + // Draw an arrow representing the tab. + int halfHeight = height / 2; + int quarterHeight = halfHeight / 2; + int ymid = (int) y - ascent + halfHeight; + g.drawLine((int) nextX, ymid, (int) nextNextX, ymid); + g.drawLine((int) nextNextX, ymid, (int) nextNextX - 4, ymid - quarterHeight); + g.drawLine((int) nextNextX, ymid, (int) nextNextX - 4, ymid + quarterHeight); + x = nextNextX; + break; + case ' ': + // NOTE: There is a little bit of a "fudge factor" + // here when "smooth text" is enabled, as "width" + // below may well not be the width given to the space + // by fm.charsWidth() (it depends on how it places the + // space with respect to the preceding character). + // But, we assume the approximation is close enough for + // our drawing a dot for the space. + // "flushLen+1" ensures text is aligned correctly (or, + // aligned the same as in getWidth()). + nextX = x + fm.charsWidth(text, flushIndex, flushLen + 1); + int width = fm.charWidth(' '); + // Paint background. + if (bg != null) { + paintBackground(x, y, nextX - x, height, g, ascent, host, bg); + } + g.setColor(fg); + // Paint chars before space. + if (flushLen > 0) { + g.drawChars(text, flushIndex, flushLen, (int) x, (int) y); + flushLen = 0; + } + // Paint a dot representing the space. + int dotX = (int) (nextX - width / 2f); // "2.0f" for + // FindBugs + int dotY = (int) (y - ascent + height / 2f); // Ditto + g.drawLine(dotX, dotY, dotX, dotY); + flushIndex = i + 1; + x = nextX; + break; + case '\f': + // ??? + // fall-through for now. + default: + flushLen += 1; + break; } } nextX = x + fm.charsWidth(text, flushIndex, flushLen); diff --git a/src/org/fife/ui/rsyntaxtextarea/WrappedSyntaxView.java b/src/org/fife/ui/rsyntaxtextarea/WrappedSyntaxView.java index ed8a1ad..fe245a2 100644 --- a/src/org/fife/ui/rsyntaxtextarea/WrappedSyntaxView.java +++ b/src/org/fife/ui/rsyntaxtextarea/WrappedSyntaxView.java @@ -43,7 +43,7 @@ import org.fife.ui.rtextarea.Gutter; * @version 0.2 */ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView { - + private boolean widthChanging; private int tabBase; private int tabSize; @@ -67,17 +67,16 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView // */ // private static final char[] eolMarker = { '.' }; /** - * The width of this view cannot be below this amount, as if the width - * is ever 0 (really a bug), we'll go into an infinite loop. + * The width of this view cannot be below this amount, as if the width is ever 0 + * (really a bug), we'll go into an infinite loop. */ private static final int MIN_WIDTH = 20; - + /** - * Creates a new WrappedSyntaxView. Lines will be wrapped - * on character boundaries. + * Creates a new WrappedSyntaxView. Lines will be wrapped on character + * boundaries. * - * @param elem - * the element underlying the view + * @param elem the element underlying the view */ public WrappedSyntaxView(Element elem) { super(elem, Y_AXIS); @@ -87,14 +86,12 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView tempRect = new Rectangle(); lineCountTempToken = new TokenImpl(); } - + /** - * This is called by the nested wrapped line - * views to determine the break location. This can - * be reimplemented to alter the breaking behavior. - * It will either break at word or character boundaries - * depending upon the break argument given at - * construction. + * This is called by the nested wrapped line views to determine the break + * location. This can be reimplemented to alter the breaking behavior. It will + * either break at word or character boundaries depending upon the break + * argument given at construction. */ protected int calculateBreakPosition(int p0, Token tokenList, float x0) { // System.err.println("------ beginning calculateBreakPosition() @@ -143,7 +140,7 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView // return p; return p + 1; } - + // private int getBreakLocation(Token t, FontMetrics fm, int x0, int x, // TabExpander e) { // Segment s = new Segment(); @@ -153,27 +150,24 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView // return t.offset + Utilities.getBreakLocation(s, fm, x0, x, e, t.offset); // } /** - * Gives notification from the document that attributes were changed - * in a location that this view is responsible for. + * Gives notification from the document that attributes were changed in a + * location that this view is responsible for. * - * @param e - * the change information from the associated document - * @param a - * the current allocation of the view - * @param f - * the factory to use to rebuild if the view has children + * @param e the change information from the associated document + * @param a the current allocation of the view + * @param f the factory to use to rebuild if the view has children * @see View#changedUpdate */ @Override public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f) { updateChildren(e, a); } - + /** - * Sets the allocation rectangle for a given line's view, but sets the - * y value to the passed-in value. This should be used instead of - * {@link #childAllocation(int, Rectangle)} since it allows you to account - * for hidden lines in collapsed fold regions. + * Sets the allocation rectangle for a given line's view, but sets the y value + * to the passed-in value. This should be used instead of + * {@link #childAllocation(int, Rectangle)} since it allows you to account for + * hidden lines in collapsed fold regions. * * @param line * @param y @@ -192,25 +186,20 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView alloc.y -= margin.top; } } - + /** - * Draws a single view (i.e., a line of text for a wrapped view), - * wrapping the text onto multiple lines if necessary. + * Draws a single view (i.e., a line of text for a wrapped view), wrapping the + * text onto multiple lines if necessary. * - * @param painter - * The painter to use to render tokens. - * @param g - * The graphics context in which to paint. - * @param r - * The rectangle in which to paint. - * @param view - * The View to paint. - * @param fontHeight - * The height of the font being used. - * @param y - * The y-coordinate at which to begin painting. + * @param painter The painter to use to render tokens. + * @param g The graphics context in which to paint. + * @param r The rectangle in which to paint. + * @param view The View to paint. + * @param fontHeight The height of the font being used. + * @param y The y-coordinate at which to begin painting. */ - protected void drawView(TokenPainter painter, Graphics2D g, Rectangle r, View view, int fontHeight, int y, int line) { + protected void drawView(TokenPainter painter, Graphics2D g, Rectangle r, View view, int fontHeight, int y, + int line) { float x = r.x; LayeredHighlighter h = (LayeredHighlighter) host.getHighlighter(); RSyntaxDocument document = (RSyntaxDocument) getDocument(); @@ -262,31 +251,23 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView g.drawString("\u00B6", x, (float) y - fontHeight); } } - + /** - * Draws a single view (i.e., a line of text for a wrapped view), wrapping - * the text onto multiple lines if necessary. Any selected text is - * rendered with the editor's "selected text" color. + * Draws a single view (i.e., a line of text for a wrapped view), wrapping the + * text onto multiple lines if necessary. Any selected text is rendered with the + * editor's "selected text" color. * - * @param painter - * The painter to use to render tokens. - * @param g - * The graphics context in which to paint. - * @param r - * The rectangle in which to paint. - * @param view - * The View to paint. - * @param fontHeight - * The height of the font being used. - * @param y - * The y-coordinate at which to begin painting. - * @param selStart - * The start of the selection. - * @param selEnd - * The end of the selection. + * @param painter The painter to use to render tokens. + * @param g The graphics context in which to paint. + * @param r The rectangle in which to paint. + * @param view The View to paint. + * @param fontHeight The height of the font being used. + * @param y The y-coordinate at which to begin painting. + * @param selStart The start of the selection. + * @param selEnd The end of the selection. */ - protected void drawViewWithSelection(TokenPainter painter, Graphics2D g, Rectangle r, View view, int fontHeight, int y, int selStart, - int selEnd) { + protected void drawViewWithSelection(TokenPainter painter, Graphics2D g, Rectangle r, View view, int fontHeight, + int y, int selStart, int selEnd) { float x = r.x; boolean useSTC = host.getUseSelectedTextColor(); LayeredHighlighter h = (LayeredHighlighter) host.getHighlighter(); @@ -363,7 +344,8 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView if (token != null && token.isPaintable() && token.getOffset() < p) { int tokenOffset = token.getOffset(); Token orig = token; - token = new TokenImpl(drawSeg, tokenOffset - start, p - 1 - start, tokenOffset, token.getType(), token.getLanguageIndex()); + token = new TokenImpl(drawSeg, tokenOffset - start, p - 1 - start, tokenOffset, token.getType(), + token.getLanguageIndex()); token.setLanguageIndex(token.getLanguageIndex()); // Selection starts in this token if (token.containsPosition(selStart)) { @@ -422,19 +404,16 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView g.drawString("\u00B6", x, (float) y - fontHeight); } } - + /** * Fetches the allocation for the given child view. *

      * Overridden to account for code folding. * - * @param index - * The index of the child, >= 0 &&< getViewCount(). - * @param a - * The allocation to this view - * @return The allocation to the child; or null if - * a is null; or null if the - * layout is invalid + * @param index The index of the child, >= 0 &&< getViewCount(). + * @param a The allocation to this view + * @return The allocation to the child; or null if a + * is null; or null if the layout is invalid */ @Override public Shape getChildAllocation(int index, Shape a) { @@ -451,16 +430,14 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView } return null; } - + /** * Fetches the allocation for the given child view to render into. *

      * Overridden to account for lines hidden by collapsed folded regions. * - * @param line - * The index of the child, >= 0 &&< getViewCount() - * @param a - * The allocation to this view + * @param line The index of the child, >= 0 &&< getViewCount() + * @param a The allocation to this view * @return The allocation to the child */ public Shape getChildAllocationImpl(int line, Shape a) { @@ -480,21 +457,17 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView childAllocation2(line, y, alloc); return alloc; } - + /** - * Determines the maximum span for this view along an - * axis. This is implemented to provide the superclass - * behavior after first making sure that the current font - * metrics are cached (for the nested lines which use - * the metrics to determine the height of the potentially - * wrapped lines). + * Determines the maximum span for this view along an axis. This is implemented + * to provide the superclass behavior after first making sure that the current + * font metrics are cached (for the nested lines which use the metrics to + * determine the height of the potentially wrapped lines). * - * @param axis - * may be either View.X_AXIS or View.Y_AXIS - * @return the span the view would like to be rendered into. - * Typically the view is told to render into the span - * that is returned, although there is no guarantee. - * The parent may choose to resize or break the view. + * @param axis may be either View.X_AXIS or View.Y_AXIS + * @return the span the view would like to be rendered into. Typically the view + * is told to render into the span that is returned, although there is + * no guarantee. The parent may choose to resize or break the view. * @see View#getMaximumSpan */ @Override @@ -506,21 +479,17 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView } return span; } - + /** - * Determines the minimum span for this view along an - * axis. This is implemented to provide the superclass - * behavior after first making sure that the current font - * metrics are cached (for the nested lines which use - * the metrics to determine the height of the potentially - * wrapped lines). + * Determines the minimum span for this view along an axis. This is implemented + * to provide the superclass behavior after first making sure that the current + * font metrics are cached (for the nested lines which use the metrics to + * determine the height of the potentially wrapped lines). * - * @param axis - * may be either View.X_AXIS or View.Y_AXIS - * @return the span the view would like to be rendered into. - * Typically the view is told to render into the span - * that is returned, although there is no guarantee. - * The parent may choose to resize or break the view. + * @param axis may be either View.X_AXIS or View.Y_AXIS + * @return the span the view would like to be rendered into. Typically the view + * is told to render into the span that is returned, although there is + * no guarantee. The parent may choose to resize or break the view. * @see View#getMinimumSpan */ @Override @@ -532,21 +501,17 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView } return span; } - + /** - * Determines the preferred span for this view along an - * axis. This is implemented to provide the superclass - * behavior after first making sure that the current font - * metrics are cached (for the nested lines which use - * the metrics to determine the height of the potentially - * wrapped lines). + * Determines the preferred span for this view along an axis. This is + * implemented to provide the superclass behavior after first making sure that + * the current font metrics are cached (for the nested lines which use the + * metrics to determine the height of the potentially wrapped lines). * - * @param axis - * may be either View.X_AXIS or View.Y_AXIS - * @return the span the view would like to be rendered into. - * Typically the view is told to render into the span - * that is returned, although there is no guarantee. - * The parent may choose to resize or break the view. + * @param axis may be either View.X_AXIS or View.Y_AXIS + * @return the span the view would like to be rendered into. Typically the view + * is told to render into the span that is returned, although there is + * no guarantee. The parent may choose to resize or break the view. * @see View#getPreferredSpan */ @Override @@ -573,7 +538,7 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView } return span; } - + /** * Returns the tab size set for the document, defaulting to 5. * @@ -584,7 +549,7 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView int size = (i != null) ? i.intValue() : 5; return size; } - + /** * Overridden to allow for folded regions. */ @@ -610,18 +575,15 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView childAllocation2(lineCount - 1, curY, alloc); return getView(lineCount - 1); } - + /** - * Gives notification that something was inserted into the - * document in a location that this view is responsible for. - * This is implemented to simply update the children. + * Gives notification that something was inserted into the document in a + * location that this view is responsible for. This is implemented to simply + * update the children. * - * @param changes - * The change information from the associated document. - * @param a - * the current allocation of the view - * @param f - * the factory to use to rebuild if the view has children + * @param changes The change information from the associated document. + * @param a the current allocation of the view + * @param f the factory to use to rebuild if the view has children * @see View#insertUpdate */ @Override @@ -634,17 +596,14 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView v.insertUpdate(changes, alloc, f); } } - + /** - * Loads all of the children to initialize the view. - * This is called by the setParent method. - * Subclasses can re-implement this to initialize their - * child views in a different manner. The default - * implementation creates a child view for each - * child element. + * Loads all of the children to initialize the view. This is called by the + * setParent method. Subclasses can re-implement this to initialize + * their child views in a different manner. The default implementation creates a + * child view for each child element. * - * @param f - * the view factory + * @param f the view factory */ @Override protected void loadChildren(ViewFactory f) { @@ -658,7 +617,7 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView replace(0, 0, added); } } - + @Override public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException { if (!isAllocationValid()) { @@ -691,48 +650,43 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView } throw new BadLocationException("Position not represented by view", pos); } - + /** - * Provides a mapping, for a given region, from the document model - * coordinate space to the view coordinate space. The specified region is - * created as a union of the first and last character positions. + * Provides a mapping, for a given region, from the document model coordinate + * space to the view coordinate space. The specified region is created as a + * union of the first and last character positions. *

      * - * This is implemented to subtract the width of the second character, as - * this view's modelToView actually returns the width of the - * character instead of "1" or "0" like the View implementations in - * javax.swing.text. Thus, if we don't override this method, - * the View implementation will return one character's width - * too much for its consumers (implementations of + * This is implemented to subtract the width of the second character, as this + * view's modelToView actually returns the width of the character + * instead of "1" or "0" like the View implementations in + * javax.swing.text. Thus, if we don't override this method, the + * View implementation will return one character's width too much + * for its consumers (implementations of * javax.swing.text.Highlighter). * - * @param p0 - * the position of the first character (>=0) - * @param b0 - * The bias of the first character position, toward the previous - * character or the next character represented by the offset, in - * case the position is a boundary of two views; b0 - * will have one of these values: - *

        - *
      • Position.Bias.Forward - *
      • Position.Bias.Backward - *
      - * @param p1 - * the position of the last character (>=0) - * @param b1 - * the bias for the second character position, defined - * one of the legal values shown above - * @param a - * the area of the view, which encompasses the requested region - * @return the bounding box which is a union of the region specified - * by the first and last character positions - * @exception BadLocationException - * if the given position does - * not represent a valid location in the associated document - * @exception IllegalArgumentException - * if b0 or - * b1 are not one of the - * legal Position.Bias values listed above + * @param p0 the position of the first character (>=0) + * @param b0 The bias of the first character position, toward the previous + * character or the next character represented by the offset, in case + * the position is a boundary of two views; b0 will have + * one of these values: + *
        + *
      • Position.Bias.Forward + *
      • Position.Bias.Backward + *
      + * @param p1 the position of the last character (>=0) + * @param b1 the bias for the second character position, defined one of the + * legal values shown above + * @param a the area of the view, which encompasses the requested region + * @return the bounding box which is a union of the region specified by the + * first and last character positions + * @exception BadLocationException if the given position does not represent + * a valid location in the associated + * document + * @exception IllegalArgumentException if b0 or b1 are + * not one of the legal + * Position.Bias values listed + * above * @see View#viewToModel */ @Override @@ -774,17 +728,15 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView } return r0; } - + /** - * Returns the next tab stop position after a given reference position. - * This implementation does not support things like centering so it - * ignores the tabOffset argument. + * Returns the next tab stop position after a given reference position. This + * implementation does not support things like centering so it ignores the + * tabOffset argument. * - * @param x - * the current position >= 0 - * @param tabOffset - * the position within the text stream - * that the tab occurred at >= 0. + * @param x the current position >= 0 + * @param tabOffset the position within the text stream that the tab occurred at + * >= 0. * @return the tab stop, measured in points >= 0 */ @Override @@ -795,14 +747,12 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView int ntabs = ((int) x - tabBase) / tabSize; return tabBase + ((ntabs + 1f) * tabSize); } - + /** * Paints the word-wrapped text. * - * @param g - * The graphics context in which to paint. - * @param a - * The shape (usually a rectangle) in which to paint. + * @param g The graphics context in which to paint. + * @param a The shape (usually a rectangle) in which to paint. */ @Override public void paint(Graphics g, Shape a) { @@ -854,18 +804,15 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView } } } - + /** - * Gives notification that something was removed from the - * document in a location that this view is responsible for. - * This is implemented to simply update the children. + * Gives notification that something was removed from the document in a location + * that this view is responsible for. This is implemented to simply update the + * children. * - * @param changes - * The change information from the associated document. - * @param a - * the current allocation of the view - * @param f - * the factory to use to rebuild if the view has children + * @param changes The change information from the associated document. + * @param a the current allocation of the view + * @param f the factory to use to rebuild if the view has children * @see View#removeUpdate */ @Override @@ -878,20 +825,16 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView v.removeUpdate(changes, alloc, f); } } - + /** - * Makes a Segment point to the text in our - * document between the given positions. Note that the positions MUST be - * valid positions in the document. + * Makes a Segment point to the text in our document between the + * given positions. Note that the positions MUST be valid positions in the + * document. * - * @param p0 - * The first position in the document. - * @param p1 - * The second position in the document. - * @param document - * The document from which you want to get the text. - * @param seg - * The segment in which to load the text. + * @param p0 The first position in the document. + * @param p1 The second position in the document. + * @param document The document from which you want to get the text. + * @param seg The segment in which to load the text. */ private void setSegment(int p0, int p1, Document document, Segment seg) { try { @@ -904,15 +847,13 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView ble.printStackTrace(); } } - + /** - * Sets the size of the view. This should cause layout of the view along - * the given axis, if it has any layout duties. + * Sets the size of the view. This should cause layout of the view along the + * given axis, if it has any layout duties. * - * @param width - * the width >= 0 - * @param height - * the height >= 0 + * @param width the width >= 0 + * @param height the height >= 0 */ @Override public void setSize(float width, float height) { @@ -926,10 +867,9 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView super.setSize(width, height); widthChanging = false; } - + /** - * Update the child views in response to a - * document event. + * Update the child views in response to a document event. */ void updateChildren(DocumentEvent e, Shape a) { Element elem = getElement(); @@ -962,14 +902,14 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView // update font metrics which may be used by the child views updateMetrics(); } - + final void updateMetrics() { Component host = getContainer(); Font f = host.getFont(); metrics = host.getFontMetrics(f); // Metrics for the default font. tabSize = getTabSize() * metrics.charWidth('m'); } - + @Override public int viewToModel(float x, float y, Shape a, Position.Bias[] bias) { int offs = -1; @@ -992,7 +932,7 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView } return offs; } - + /** * {@inheritDoc} */ @@ -1001,7 +941,7 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView return yForLineContaining(alloc, getElement().getElement(line).getStartOffset()); // return alloc.y + getOffset(Y_AXIS, line); } - + /** * {@inheritDoc} */ @@ -1024,25 +964,23 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView } return -1; } - + /** - * Simple view of a line that wraps if it doesn't - * fit within the horizontal space allocated. - * This class tries to be lightweight by carrying little - * state of it's own and sharing the state of the outer class - * with it's siblings. + * Simple view of a line that wraps if it doesn't fit within the horizontal + * space allocated. This class tries to be lightweight by carrying little state + * of it's own and sharing the state of the outer class with it's siblings. */ class WrappedLine extends View { - + private int nlines; - + WrappedLine(Element elem) { super(elem); } - + /** - * Calculate the number of lines that will be rendered - * by logical line when it is wrapped. + * Calculate the number of lines that will be rendered by logical line when it + * is wrapped. */ final int calculateLineCount() { int nlines = 0; @@ -1062,7 +1000,8 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView for (int p0 = startOffset; p0 < p1;) { // System.err.println("... ... " + p0 + ", " + p1); nlines += 1; - TokenSubList subList = TokenUtils.getSubTokenList(tokenList, p0, WrappedSyntaxView.this, textArea, x0, lineCountTempToken); + TokenSubList subList = TokenUtils.getSubTokenList(tokenList, p0, WrappedSyntaxView.this, textArea, x0, + lineCountTempToken); x0 = subList != null ? subList.x : x0; tokenList = subList != null ? subList.tokenList : null; int p = calculateBreakPosition(p0, tokenList, x0); @@ -1075,81 +1014,68 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView // System.err.println("... ... ... new p0==" + p0); } /* - * int numLines = 0; - * try { - * numLines = textArea.getLineCount(); - * } catch (BadLocationException ble) { - * ble.printStackTrace(); - * } - * System.err. - * println(">>> >>> calculated number of lines for this view (line " - * + line + "/" + numLines + ": " + nlines); + * int numLines = 0; try { numLines = textArea.getLineCount(); } catch + * (BadLocationException ble) { ble.printStackTrace(); } System.err. + * println(">>> >>> calculated number of lines for this view (line " + line + + * "/" + numLines + ": " + nlines); */ return nlines; } - + /** - * Determines the preferred span for this view along an - * axis. + * Determines the preferred span for this view along an axis. * - * @param axis - * may be either X_AXIS or Y_AXIS - * @return the span the view would like to be rendered into. - * Typically the view is told to render into the span - * that is returned, although there is no guarantee. - * The parent may choose to resize or break the view. + * @param axis may be either X_AXIS or Y_AXIS + * @return the span the view would like to be rendered into. Typically the view + * is told to render into the span that is returned, although there is + * no guarantee. The parent may choose to resize or break the view. * @see View#getPreferredSpan */ @Override public float getPreferredSpan(int axis) { switch (axis) { - case View.X_AXIS: - float width = getWidth(); - if (width == Integer.MAX_VALUE) { - // We have been initially set to MAX_VALUE, but we don't - // want this as our preferred. - return 100f; - } - return width; - case View.Y_AXIS: - if (nlines == 0 || widthChanging) { - nlines = calculateLineCount(); - } - int h = nlines * ((RSyntaxTextArea) getContainer()).getLineHeight(); - return h; - default: - throw new IllegalArgumentException("Invalid axis: " + axis); + case View.X_AXIS: + float width = getWidth(); + if (width == Integer.MAX_VALUE) { + // We have been initially set to MAX_VALUE, but we don't + // want this as our preferred. + return 100f; + } + return width; + case View.Y_AXIS: + if (nlines == 0 || widthChanging) { + nlines = calculateLineCount(); + } + int h = nlines * ((RSyntaxTextArea) getContainer()).getLineHeight(); + return h; + default: + throw new IllegalArgumentException("Invalid axis: " + axis); } } - + /** - * Renders using the given rendering surface and area on that - * surface. The view may need to do layout and create child - * views to enable itself to render into the given allocation. + * Renders using the given rendering surface and area on that surface. The view + * may need to do layout and create child views to enable itself to render into + * the given allocation. * - * @param g - * the rendering surface to use - * @param a - * the allocated region to render into + * @param g the rendering surface to use + * @param a the allocated region to render into * @see View#paint */ @Override public void paint(Graphics g, Shape a) { // This is done by drawView() above. } - + /** - * Provides a mapping from the document model coordinate space - * to the coordinate space of the view mapped to it. + * Provides a mapping from the document model coordinate space to the coordinate + * space of the view mapped to it. * - * @param pos - * the position to convert - * @param a - * the allocated region to render into + * @param pos the position to convert + * @param a the allocated region to render into * @return the bounding box of the given position is returned - * @exception BadLocationException - * if the given position does not - * represent a valid location in the associated document. + * @exception BadLocationException if the given position does not represent a + * valid location in the associated document. */ @Override public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException { @@ -1170,13 +1096,15 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView Token tokenList = doc.getTokenListForLine(line); float x0 = alloc.x;// 0; while (p0 < p1) { - TokenSubList subList = TokenUtils.getSubTokenList(tokenList, p0, WrappedSyntaxView.this, textArea, x0, lineCountTempToken); + TokenSubList subList = TokenUtils.getSubTokenList(tokenList, p0, WrappedSyntaxView.this, textArea, x0, + lineCountTempToken); x0 = subList != null ? subList.x : x0; tokenList = subList != null ? subList.tokenList : null; int p = calculateBreakPosition(p0, tokenList, x0); if ((pos >= p0) && (testP < p)) {// pos < p)) { // it's in this line - alloc = RSyntaxUtilities.getLineWidthUpTo(textArea, s, p0, pos, WrappedSyntaxView.this, alloc, alloc.x); + alloc = RSyntaxUtilities.getLineWidthUpTo(textArea, s, p0, pos, WrappedSyntaxView.this, alloc, + alloc.x); // System.err.println("--- end modelToView ---"); return alloc; } @@ -1184,7 +1112,8 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView if (p == p1 - 1 && pos == p1 - 1) { // Wants end. if (pos > p0) { - alloc = RSyntaxUtilities.getLineWidthUpTo(textArea, s, p0, pos, WrappedSyntaxView.this, alloc, alloc.x); + alloc = RSyntaxUtilities.getLineWidthUpTo(textArea, s, p0, pos, WrappedSyntaxView.this, alloc, + alloc.x); } // System.err.println("--- end modelToView ---"); return alloc; @@ -1195,19 +1124,16 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView } throw new BadLocationException(null, pos); } - + /** - * Provides a mapping from the view coordinate space to the logical - * coordinate space of the model. + * Provides a mapping from the view coordinate space to the logical coordinate + * space of the model. * - * @param fx - * the X coordinate - * @param fy - * the Y coordinate - * @param a - * the allocated region to render into - * @return the location within the model that best represents the - * given point in the view + * @param fx the X coordinate + * @param fy the Y coordinate + * @param a the allocated region to render into + * @return the location within the model that best represents the given point in + * the view * @see View#viewToModel */ @Override @@ -1247,8 +1173,8 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView // We can always use alloc.x since we always break // lines so they start at the beginning of a physical // line. - TokenSubList subList = TokenUtils.getSubTokenList(tlist, p0, WrappedSyntaxView.this, textArea, alloc.x, - lineCountTempToken); + TokenSubList subList = TokenUtils.getSubTokenList(tlist, p0, WrappedSyntaxView.this, textArea, + alloc.x, lineCountTempToken); tlist = subList != null ? subList.tokenList : null; int p = calculateBreakPosition(p0, tlist, alloc.x); // If desired view position is in this physical chunk. @@ -1281,7 +1207,7 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView return getEndOffset() - 1; } // End of else. } - + private void handleDocumentEvent(DocumentEvent e, Shape a, ViewFactory f) { int n = calculateLineCount(); if (this.nlines != n) { @@ -1303,12 +1229,12 @@ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView c.repaint(alloc.x, alloc.y, alloc.width, alloc.height); } } - + @Override public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f) { handleDocumentEvent(e, a, f); } - + @Override public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f) { handleDocumentEvent(e, a, f); diff --git a/src/org/fife/ui/rsyntaxtextarea/WrappedSyntaxView2.java b/src/org/fife/ui/rsyntaxtextarea/WrappedSyntaxView2.java index 94176ca..f30627c 100644 --- a/src/org/fife/ui/rsyntaxtextarea/WrappedSyntaxView2.java +++ b/src/org/fife/ui/rsyntaxtextarea/WrappedSyntaxView2.java @@ -9,8 +9,8 @@ import javax.swing.text.Element; // import javax.swing.text.View; /** - * Replacement for the old WrappedSyntaxView class, designed to - * be faster with large wrapped documents. Heavily based off of + * Replacement for the old WrappedSyntaxView class, designed to be + * faster with large wrapped documents. Heavily based off of * BoxView, but streamlined to only care about the y-axis, and * takes code folding into account. *

      @@ -25,7 +25,7 @@ public class WrappedSyntaxView2 {// extends CompositeView { // private int[] cachedOffsets; // private int[] cachedSpans; // private boolean sizeRequirementsValid; - + public WrappedSyntaxView2(Element root) { // super(root); // tempRect = new Rectangle(); diff --git a/src/org/fife/ui/rsyntaxtextarea/XmlOccurrenceMarker.java b/src/org/fife/ui/rsyntaxtextarea/XmlOccurrenceMarker.java index 5d9cf23..26e12ae 100644 --- a/src/org/fife/ui/rsyntaxtextarea/XmlOccurrenceMarker.java +++ b/src/org/fife/ui/rsyntaxtextarea/XmlOccurrenceMarker.java @@ -21,10 +21,10 @@ import org.fife.ui.rtextarea.SmartHighlightPainter; * @version 1.0 */ public class XmlOccurrenceMarker implements OccurrenceMarker { - + private static final char[] CLOSE_TAG_START = { '<', '/' }; private static final char[] TAG_SELF_CLOSE = { '/', '>' }; - + /** * {@inheritDoc} */ @@ -32,7 +32,7 @@ public class XmlOccurrenceMarker implements OccurrenceMarker { public Token getTokenToMark(RSyntaxTextArea textArea) { return HtmlOccurrenceMarker.getTagNameTokenForCaretOffset(textArea, this); } - + /** * {@inheritDoc} */ @@ -40,7 +40,7 @@ public class XmlOccurrenceMarker implements OccurrenceMarker { public boolean isValidType(RSyntaxTextArea textArea, Token t) { return textArea.getMarkOccurrencesOfTokenType(t.getType()); } - + /** * {@inheritDoc} */ @@ -173,15 +173,15 @@ public class XmlOccurrenceMarker implements OccurrenceMarker { } while (curLine >= 0); } } - + /** * Used internally when searching backward for a matching "open" tag. */ private static class Entry { - + private boolean open; private Token t; - + Entry(boolean open, Token t) { this.open = open; this.t = t; diff --git a/src/org/fife/ui/rsyntaxtextarea/focusabletip/FocusableTip.java b/src/org/fife/ui/rsyntaxtextarea/focusabletip/FocusableTip.java index 2374c55..2c98ad0 100644 --- a/src/org/fife/ui/rsyntaxtextarea/focusabletip/FocusableTip.java +++ b/src/org/fife/ui/rsyntaxtextarea/focusabletip/FocusableTip.java @@ -33,14 +33,14 @@ import javax.swing.event.MouseInputAdapter; import org.fife.ui.rsyntaxtextarea.PopupWindowDecorator; /** - * A focusable tool tip, similar to those found in Eclipse. The user - * can click in the tip and it becomes a "real," resizable window. + * A focusable tool tip, similar to those found in Eclipse. The user can click + * in the tip and it becomes a "real," resizable window. * * @author Robert Futrell * @version 1.0 */ public class FocusableTip { - + private JTextArea textArea; private TipWindow tipWindow; private URL imageBase; @@ -49,8 +49,8 @@ public class FocusableTip { private String lastText; private Dimension maxSize; // null to automatic. /** - * The screen bounds in which the mouse has to stay for the currently - * displayed tip to stay visible. + * The screen bounds in which the mouse has to stay for the currently displayed + * tip to stay visible. */ private Rectangle tipVisibleBounds; /** @@ -61,18 +61,19 @@ public class FocusableTip { * Margin from mouse cursor at which to draw focusable tip. */ private static final int Y_MARGIN = 12; - private static final ResourceBundle MSG = ResourceBundle.getBundle("org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip"); - + private static final ResourceBundle MSG = ResourceBundle + .getBundle("org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip"); + public FocusableTip(JTextArea textArea, HyperlinkListener listener) { setTextArea(textArea); this.hyperlinkListener = listener; textAreaListener = new TextAreaListener(); tipVisibleBounds = new Rectangle(); } - + /** - * Compute the bounds in which the user can move the mouse without the - * tip window disappearing. + * Compute the bounds in which the user can move the mouse without the tip + * window disappearing. */ private void computeTipVisibleBounds() { // Compute area that the mouse can move in without hiding the @@ -84,7 +85,7 @@ public class FocusableTip { r.setLocation(p); tipVisibleBounds.setBounds(r.x, r.y - 15, r.width, r.height + 15 * 2); } - + private void createAndShowTipWindow(final MouseEvent e, final String text) { Window owner = SwingUtilities.getWindowAncestor(textArea); tipWindow = new TipWindow(owner, this, text); @@ -100,7 +101,7 @@ public class FocusableTip { // See http://forums.sun.com/thread.jspa?forumID=57&threadID=574810 // for a discussion. SwingUtilities.invokeLater(new Runnable() { - + @Override public void run() { // If a new FocusableTip is requested while another one is @@ -148,7 +149,7 @@ public class FocusableTip { } }); } - + /** * Returns the base URL to use when loading images in this focusable tip. * @@ -158,7 +159,7 @@ public class FocusableTip { public URL getImageBase() { return imageBase; } - + /** * The maximum size for unfocused tool tips. * @@ -169,18 +170,17 @@ public class FocusableTip { public Dimension getMaxSize() { return maxSize; } - + /** * Returns localized text for the given key. * - * @param key - * The key into the resource bundle. + * @param key The key into the resource bundle. * @return The localized text. */ static String getString(String key) { return MSG.getString(key); } - + /** * Disposes of the focusable tip currently displayed, if any. */ @@ -194,41 +194,39 @@ public class FocusableTip { textArea.requestFocus(); } } - + void removeListeners() { // System.out.println("DEBUG: Removing text area listeners"); textAreaListener.uninstall(); } - + /** * Sets the base URL to use when loading images in this focusable tip. * - * @param url - * The base URL to use. + * @param url The base URL to use. * @see #getImageBase() */ public void setImageBase(URL url) { imageBase = url; } - + /** * Sets the maximum size for unfocused tool tips. * - * @param maxSize - * The new maximum size. A value of null will - * cause a default size to be used. + * @param maxSize The new maximum size. A value of null will cause + * a default size to be used. * @see #getMaxSize() */ public void setMaxSize(Dimension maxSize) { this.maxSize = maxSize; } - + private void setTextArea(JTextArea textArea) { this.textArea = textArea; // Is okay to do multiple times. ToolTipManager.sharedInstance().registerComponent(textArea); } - + public void toolTipRequested(MouseEvent e, String text) { if (text == null || text.length() == 0) { possiblyDisposeOfTipWindow(); @@ -240,12 +238,13 @@ public class FocusableTip { createAndShowTipWindow(e, text); } } - + /** * Listens for events in a text area. */ - private class TextAreaListener extends MouseInputAdapter implements CaretListener, ComponentListener, FocusListener, KeyListener { - + private class TextAreaListener extends MouseInputAdapter + implements CaretListener, ComponentListener, FocusListener, KeyListener { + @Override public void caretUpdate(CaretEvent e) { Object source = e.getSource(); @@ -253,30 +252,31 @@ public class FocusableTip { possiblyDisposeOfTipWindow(); } } - + @Override public void componentHidden(ComponentEvent e) { handleComponentEvent(e); } - + @Override public void componentMoved(ComponentEvent e) { handleComponentEvent(e); } - + @Override public void componentResized(ComponentEvent e) { handleComponentEvent(e); } - + @Override public void componentShown(ComponentEvent e) { handleComponentEvent(e); } - + @Override - public void focusGained(FocusEvent e) {} - + public void focusGained(FocusEvent e) { + } + @Override public void focusLost(FocusEvent e) { // Only dispose of tip if it wasn't the TipWindow that was clicked @@ -284,16 +284,17 @@ public class FocusableTip { // calling SwingUtilities.getWindowAncestor() to guard against an // NPE. Component c = e.getOppositeComponent(); - boolean tipClicked = (c instanceof TipWindow) || (c != null && SwingUtilities.getWindowAncestor(c) instanceof TipWindow); + boolean tipClicked = (c instanceof TipWindow) + || (c != null && SwingUtilities.getWindowAncestor(c) instanceof TipWindow); if (!tipClicked) { possiblyDisposeOfTipWindow(); } } - + private void handleComponentEvent(ComponentEvent e) { possiblyDisposeOfTipWindow(); } - + public void install(JTextArea textArea) { textArea.addCaretListener(this); textArea.addComponentListener(this); @@ -302,7 +303,7 @@ public class FocusableTip { textArea.addMouseListener(this); textArea.addMouseMotionListener(this); } - + @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { @@ -314,25 +315,27 @@ public class FocusableTip { } } } - + @Override - public void keyReleased(KeyEvent e) {} - + public void keyReleased(KeyEvent e) { + } + @Override - public void keyTyped(KeyEvent e) {} - + public void keyTyped(KeyEvent e) { + } + @Override public void mouseExited(MouseEvent e) { // possiblyDisposeOfTipWindow(); } - + @Override public void mouseMoved(MouseEvent e) { if (tipVisibleBounds == null || !tipVisibleBounds.contains(e.getPoint())) { possiblyDisposeOfTipWindow(); } } - + public void uninstall() { textArea.removeCaretListener(this); textArea.removeComponentListener(this); diff --git a/src/org/fife/ui/rsyntaxtextarea/focusabletip/TipUtil.java b/src/org/fife/ui/rsyntaxtextarea/focusabletip/TipUtil.java index 176551d..e2f8a14 100644 --- a/src/org/fife/ui/rsyntaxtextarea/focusabletip/TipUtil.java +++ b/src/org/fife/ui/rsyntaxtextarea/focusabletip/TipUtil.java @@ -30,16 +30,16 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities; * @version 1.0 */ public final class TipUtil { - - private TipUtil() {} - + + private TipUtil() { + } + /** * Returns a hex string for the specified color, suitable for HTML. * - * @param c - * The color. - * @return The string representation, in the form "#rrggbb", - * or null if c is null. + * @param c The color. + * @return The string representation, in the form "#rrggbb", or + * null if c is null. */ private static String getHexString(Color c) { if (c == null) { @@ -63,16 +63,14 @@ public final class TipUtil { sb.append(Integer.toHexString(b)); return sb.toString(); } - + /** - * Returns the screen coordinates for the monitor that contains the - * specified point. This is useful for setups with multiple monitors, - * to ensure that popup windows are positioned properly. + * Returns the screen coordinates for the monitor that contains the specified + * point. This is useful for setups with multiple monitors, to ensure that popup + * windows are positioned properly. * - * @param x - * The x-coordinate, in screen coordinates. - * @param y - * The y-coordinate, in screen coordinates. + * @param x The x-coordinate, in screen coordinates. + * @param y The y-coordinate, in screen coordinates. * @return The bounds of the monitor that contains the specified point. */ public static Rectangle getScreenBoundsForPoint(int x, int y) { @@ -90,7 +88,7 @@ public final class TipUtil { // If point is outside all monitors, default to default monitor (?) return env.getMaximumWindowBounds(); } - + /** * Returns the default background color to use for tool tip windows. * @@ -113,7 +111,7 @@ public final class TipUtil { } return c; } - + /** * Returns the border used by tool tips in this look and feel. * @@ -129,20 +127,19 @@ public final class TipUtil { } return border; } - + /** - * Returns whether a color is a Nimbus DerivedColor, which is troublesome - * in that it doesn't use its RGB values (uses HSB instead?) and so - * querying them is useless. + * Returns whether a color is a Nimbus DerivedColor, which is troublesome in + * that it doesn't use its RGB values (uses HSB instead?) and so querying them + * is useless. * - * @param c - * The color to check. + * @param c The color to check. * @return Whether it is a DerivedColor */ private static boolean isDerivedColor(Color c) { return c != null && c.getClass().getName().endsWith(".DerivedColor"); } - + /** * Returns whether the Nimbus Look and Feel is installed. * @@ -151,14 +148,13 @@ public final class TipUtil { private static boolean isNimbusLookAndFeel() { return UIManager.getLookAndFeel().getName().equals("Nimbus"); } - + /** - * Tweaks a JEditorPane so it can be used to render the - * content in a focusable pseudo-tool tip. It is assumed that the editor - * pane is using an HTMLDocument. + * Tweaks a JEditorPane so it can be used to render the content in + * a focusable pseudo-tool tip. It is assumed that the editor pane is using an + * HTMLDocument. * - * @param textArea - * The editor pane to tweak. + * @param textArea The editor pane to tweak. */ public static void tweakTipEditorPane(JEditorPane textArea) { // Jump through a few hoops to get things looking nice in Nimbus @@ -198,21 +194,18 @@ public final class TipUtil { Color linkFG = RSyntaxUtilities.getHyperlinkForeground(); doc.getStyleSheet().addRule("a { color: " + getHexString(linkFG) + "; }"); } - + /** - * Sets the default font for an HTML document (e.g., in a tool tip - * displaying HTML). This is here because when rendering HTML, - * {@code setFont()} is not honored. + * Sets the default font for an HTML document (e.g., in a tool tip displaying + * HTML). This is here because when rendering HTML, {@code setFont()} is not + * honored. * - * @param doc - * The document to modify. - * @param font - * The font to use. - * @param fg - * The default foreground color. + * @param doc The document to modify. + * @param font The font to use. + * @param fg The default foreground color. */ public static void setFont(HTMLDocument doc, Font font, Color fg) { - doc.getStyleSheet().addRule("body { font-family: " + font.getFamily() + "; font-size: " + font.getSize() + "pt" + "; color: " - + getHexString(fg) + "; }"); + doc.getStyleSheet().addRule("body { font-family: " + font.getFamily() + "; font-size: " + font.getSize() + "pt" + + "; color: " + getHexString(fg) + "; }"); } } diff --git a/src/org/fife/ui/rsyntaxtextarea/focusabletip/TipWindow.java b/src/org/fife/ui/rsyntaxtextarea/focusabletip/TipWindow.java index a941dba..e021181 100644 --- a/src/org/fife/ui/rsyntaxtextarea/focusabletip/TipWindow.java +++ b/src/org/fife/ui/rsyntaxtextarea/focusabletip/TipWindow.java @@ -50,21 +50,19 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities; * @version 1.0 */ class TipWindow extends JWindow implements ActionListener { - + private FocusableTip ft; private JEditorPane textArea; private String text; private transient TipListener tipListener; private transient HyperlinkListener userHyperlinkListener; private static TipWindow visibleInstance; - + /** * Constructor. * - * @param owner - * The parent window. - * @param msg - * The text of the tool tip. This can be HTML. + * @param owner The parent window. + * @param msg The text of the tool tip. This can be HTML. */ TipWindow(Window owner, FocusableTip ft, String msg) { super(owner); @@ -85,7 +83,7 @@ class TipWindow extends JWindow implements ActionListener { } textArea.addMouseListener(tipListener); textArea.addHyperlinkListener(new HyperlinkListener() { - + @Override public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { @@ -101,7 +99,7 @@ class TipWindow extends JWindow implements ActionListener { // InputMap/ActionMap combo doesn't work for JWindows (even when // using the JWindow's JRootPane), so we'll resort to KeyListener KeyAdapter ka = new KeyAdapter() { - + @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { @@ -121,7 +119,7 @@ class TipWindow extends JWindow implements ActionListener { visibleInstance = this; } } - + @Override public void actionPerformed(ActionEvent e) { if (!getFocusableWindowState()) { @@ -130,7 +128,7 @@ class TipWindow extends JWindow implements ActionListener { textArea.removeMouseListener(tipListener); pack(); addWindowFocusListener(new WindowAdapter() { - + @Override public void windowLostFocus(WindowEvent e) { ft.possiblyDisposeOfTipWindow(); @@ -142,7 +140,7 @@ class TipWindow extends JWindow implements ActionListener { } } } - + /** * Disposes of this window. */ @@ -157,10 +155,10 @@ class TipWindow extends JWindow implements ActionListener { ft.removeListeners(); super.dispose(); } - + /** - * Workaround for JEditorPane not returning its proper preferred size - * when rendering HTML until after layout already done. See + * Workaround for JEditorPane not returning its proper preferred size when + * rendering HTML until after layout already done. See * http://forums.sun.com/thread.jspa?forumID=57&threadID=574810 for a * discussion. */ @@ -195,11 +193,11 @@ class TipWindow extends JWindow implements ActionListener { } pack(); // Must re-pack to calculate proper size. } - + public String getText() { return text; } - + private void setBottomPanel() { final JPanel panel = new JPanel(new BorderLayout()); panel.add(new JSeparator(), BorderLayout.NORTH); @@ -209,9 +207,9 @@ class TipWindow extends JWindow implements ActionListener { sg.applyComponentOrientation(sg.getComponentOrientation()); // Workaround panel.add(sg, BorderLayout.LINE_END); MouseInputAdapter adapter = new MouseInputAdapter() { - + private Point lastPoint; - + @Override public void mouseDragged(MouseEvent e) { Point p = e.getPoint(); @@ -225,7 +223,7 @@ class TipWindow extends JWindow implements ActionListener { lastPoint = p; } } - + @Override public void mousePressed(MouseEvent e) { lastPoint = e.getPoint(); @@ -272,13 +270,12 @@ class TipWindow extends JWindow implements ActionListener { } cp.add(panel, BorderLayout.SOUTH); } - + /** * Sets the listener for hyperlink events in this tip window. * - * @param listener - * The new listener. The old listener (if any) is - * removed. A value of null means "no listener." + * @param listener The new listener. The old listener (if any) is removed. A + * value of null means "no listener." */ public void setHyperlinkListener(HyperlinkListener listener) { // We've added a separate listener, so remove only the user's. @@ -290,19 +287,20 @@ class TipWindow extends JWindow implements ActionListener { textArea.addHyperlinkListener(userHyperlinkListener); } } - + /** * Listens for events in this window. */ private final class TipListener extends MouseAdapter { - - private TipListener() {} - + + private TipListener() { + } + @Override public void mousePressed(MouseEvent e) { actionPerformed(null); // Manually create "real" window } - + @Override public void mouseExited(MouseEvent e) { // Since we registered this listener on the child components of diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/CurlyFoldParser.java b/src/org/fife/ui/rsyntaxtextarea/folding/CurlyFoldParser.java index 41d8c79..28490f7 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/CurlyFoldParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/CurlyFoldParser.java @@ -15,24 +15,23 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; import org.fife.ui.rsyntaxtextarea.Token; /** - * A basic fold parser that can be used for languages such as C, that use - * curly braces to denote code blocks. This parser searches for curly brace - * pairs and creates code folds out of them. It can also optionally find - * C-style multi-line comments ("/* ... */") and make them - * foldable as well. + * A basic fold parser that can be used for languages such as C, that use curly + * braces to denote code blocks. This parser searches for curly brace pairs and + * creates code folds out of them. It can also optionally find C-style + * multi-line comments ("/* ... */") and make them foldable as + * well. *

      * * This parser knows nothing about language semantics; it uses - * RSyntaxTextArea's syntax highlighting tokens to identify - * curly braces. By default, it looks for single-char tokens of type + * RSyntaxTextArea's syntax highlighting tokens to identify curly + * braces. By default, it looks for single-char tokens of type * {@link Token#SEPARATOR}, with lexemes '{' or '}'. * If your {@link org.fife.ui.rsyntaxtextarea.TokenMaker} uses a different token * type for curly braces, you should override the {@link #isLeftCurly(Token)} - * and - * {@link #isRightCurly(Token)} methods with your own definitions. In theory, - * you could extend this fold parser to parse languages that use completely - * different tokens than curly braces to denote foldable regions by overriding - * those two methods. + * and {@link #isRightCurly(Token)} methods with your own definitions. In + * theory, you could extend this fold parser to parse languages that use + * completely different tokens than curly braces to denote foldable regions by + * overriding those two methods. *

      * * Note also that this class may impose somewhat of a performance penalty on @@ -43,7 +42,7 @@ import org.fife.ui.rsyntaxtextarea.Token; * @version 1.0 */ public class CurlyFoldParser implements FoldParser { - + /** * Whether to scan for C-style multi-line comments and make them foldable. */ @@ -60,31 +59,29 @@ public class CurlyFoldParser implements FoldParser { * Ending of a multi-line comment in C, C++, Java, etc. */ protected static final char[] C_MLC_END = "*/".toCharArray(); - + /** - * Creates a fold parser that identifies foldable regions via curly braces - * as well as C-style multi-line comments. + * Creates a fold parser that identifies foldable regions via curly braces as + * well as C-style multi-line comments. */ public CurlyFoldParser() { this(true, false); } - + /** * Constructor. * - * @param cStyleMultiLineComments - * Whether to scan for C-style multi-line - * comments and make them foldable. - * @param java - * Whether this parser is folding Java. This adds extra - * parsing rules, such as grouping all import statements into a - * fold section. + * @param cStyleMultiLineComments Whether to scan for C-style multi-line + * comments and make them foldable. + * @param java Whether this parser is folding Java. This adds + * extra parsing rules, such as grouping all + * import statements into a fold section. */ public CurlyFoldParser(boolean cStyleMultiLineComments, boolean java) { this.foldableMultiLineComments = cStyleMultiLineComments; this.java = java; } - + /** * Returns whether multi-line comments are foldable with this parser. * @@ -94,7 +91,7 @@ public class CurlyFoldParser implements FoldParser { public boolean getFoldableMultiLineComments() { return foldableMultiLineComments; } - + /** * {@inheritDoc} */ @@ -256,38 +253,35 @@ public class CurlyFoldParser implements FoldParser { } return folds; } - + /** - * Returns whether the token is a left curly brace. This method exists - * so subclasses can provide their own curly brace definition. + * Returns whether the token is a left curly brace. This method exists so + * subclasses can provide their own curly brace definition. * - * @param t - * The token. + * @param t The token. * @return Whether it is a left curly brace. * @see #isRightCurly(Token) */ public boolean isLeftCurly(Token t) { return t.isLeftCurly(); } - + /** - * Returns whether the token is a right curly brace. This method exists - * so subclasses can provide their own curly brace definition. + * Returns whether the token is a right curly brace. This method exists so + * subclasses can provide their own curly brace definition. * - * @param t - * The token. + * @param t The token. * @return Whether it is a right curly brace. * @see #isLeftCurly(Token) */ public boolean isRightCurly(Token t) { return t.isRightCurly(); } - + /** * Sets whether multi-line comments are foldable with this parser. * - * @param foldable - * Whether multi-line comments are foldable. + * @param foldable Whether multi-line comments are foldable. * @see #getFoldableMultiLineComments() */ public void setFoldableMultiLineComments(boolean foldable) { diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/DefaultFoldManager.java b/src/org/fife/ui/rsyntaxtextarea/folding/DefaultFoldManager.java index fe5f434..c93b6d9 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/DefaultFoldManager.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/DefaultFoldManager.java @@ -28,16 +28,16 @@ import org.fife.ui.rsyntaxtextarea.parser.Parser; import org.fife.ui.rtextarea.RDocument; /** - * The default implementation of a fold manager. Besides keeping track of - * folds, this class behaves as follows: + * The default implementation of a fold manager. Besides keeping track of folds, + * this class behaves as follows: * *

        - *
      • If text containing a newline is inserted in a collapsed fold, - * that fold, and any ancestor folds, are expanded. This ensures that - * modified text is always visible to the user. - *
      • If the text area's {@link RSyntaxTextArea#SYNTAX_STYLE_PROPERTY} - * changes, the current fold parser is uninstalled, and one appropriate - * for the new language, if any, is installed. + *
      • If text containing a newline is inserted in a collapsed fold, that fold, + * and any ancestor folds, are expanded. This ensures that modified text is + * always visible to the user. + *
      • If the text area's {@link RSyntaxTextArea#SYNTAX_STYLE_PROPERTY} changes, + * the current fold parser is uninstalled, and one appropriate for the new + * language, if any, is installed. *
      * * The folding strategy to use is retrieved from {@link FoldParserManager}. @@ -46,7 +46,7 @@ import org.fife.ui.rtextarea.RDocument; * @version 1.0 */ public class DefaultFoldManager implements FoldManager { - + private RSyntaxTextArea textArea; private Parser rstaParser; private FoldParser foldParser; @@ -54,12 +54,11 @@ public class DefaultFoldManager implements FoldManager { private boolean codeFoldingEnabled; private PropertyChangeSupport support; private Listener l; - + /** * Constructor. * - * @param textArea - * The text area whose folds we are managing. + * @param textArea The text area whose folds we are managing. */ public DefaultFoldManager(RSyntaxTextArea textArea) { this.textArea = textArea; @@ -71,17 +70,17 @@ public class DefaultFoldManager implements FoldManager { folds = new ArrayList(); updateFoldParser(); } - + @Override public void addPropertyChangeListener(PropertyChangeListener l) { support.addPropertyChangeListener(l); } - + @Override public void clear() { folds.clear(); } - + @Override public boolean ensureOffsetNotInClosedFold(int offs) { boolean foldsOpened = false; @@ -98,7 +97,7 @@ public class DefaultFoldManager implements FoldManager { } return foldsOpened; } - + @Override public Fold getDeepestFoldContaining(int offs) { Fold deepestFold = null; @@ -113,7 +112,7 @@ public class DefaultFoldManager implements FoldManager { } return deepestFold; } - + @Override public Fold getDeepestOpenFoldContaining(int offs) { Fold deepestFold = null; @@ -131,22 +130,22 @@ public class DefaultFoldManager implements FoldManager { } return deepestFold; } - + @Override public Fold getFold(int index) { return folds.get(index); } - + @Override public int getFoldCount() { return folds.size(); } - + @Override public Fold getFoldForLine(int line) { return getFoldForLineImpl(null, folds, line); } - + private Fold getFoldForLineImpl(Fold parent, List folds, int line) { int low = 0; int high = folds.size() - 1; @@ -170,7 +169,7 @@ public class DefaultFoldManager implements FoldManager { } return null; // No fold for this line } - + @Override public int getHiddenLineCount() { int count = 0; @@ -179,12 +178,12 @@ public class DefaultFoldManager implements FoldManager { } return count; } - + @Override public int getHiddenLineCountAbove(int line) { return getHiddenLineCountAbove(line, false); } - + @Override public int getHiddenLineCountAbove(int line, boolean physical) { int count = 0; @@ -197,27 +196,21 @@ public class DefaultFoldManager implements FoldManager { } return count; } - + /** - * Returns the number of lines "hidden" by collapsed folds above the - * specified line. + * Returns the number of lines "hidden" by collapsed folds above the specified + * line. * - * @param fold - * The current fold in the recursive algorithm. It and its - * children are examined. - * @param line - * The line. - * @param physical - * Whether line is the number of a physical - * line (i.e. visible, not code-folded), or a logical one (i.e. - * any - * line from the model). If line was determined by a - * raw line calculation (i.e. - * (visibleTopY / lineHeight)), - * this value should be true. It should be - * false when it was calculated from an offset in - * the - * document (for example). + * @param fold The current fold in the recursive algorithm. It and its + * children are examined. + * @param line The line. + * @param physical Whether line is the number of a physical line + * (i.e. visible, not code-folded), or a logical one (i.e. any + * line from the model). If line was determined by + * a raw line calculation (i.e. + * (visibleTopY / lineHeight)), this value should + * be true. It should be false when it + * was calculated from an offset in the document (for example). * @return The number of lines hidden in folds that are descendants of * fold, or fold itself, above * line. @@ -239,7 +232,7 @@ public class DefaultFoldManager implements FoldManager { } return count; } - + @Override public int getLastVisibleLine() { int lastLine = textArea.getLineCount() - 1; @@ -268,7 +261,7 @@ public class DefaultFoldManager implements FoldManager { } return lastLine; } - + @Override public int getVisibleLineAbove(int line) { if (line <= 0 || line >= textArea.getLineCount()) { @@ -279,7 +272,7 @@ public class DefaultFoldManager implements FoldManager { } while (line >= 0 && isLineHidden(line)); return line; } - + @Override public int getVisibleLineBelow(int line) { int lineCount = textArea.getLineCount(); @@ -291,7 +284,7 @@ public class DefaultFoldManager implements FoldManager { } while (line < lineCount && isLineHidden(line)); return line == lineCount ? -1 : line; } - + // private static int binaryFindFoldContainingLine(int line) { // // List allFolds; @@ -320,17 +313,17 @@ public class DefaultFoldManager implements FoldManager { public boolean isCodeFoldingEnabled() { return codeFoldingEnabled; } - + @Override public boolean isCodeFoldingSupportedAndEnabled() { return codeFoldingEnabled && foldParser != null; } - + @Override public boolean isFoldStartLine(int line) { return getFoldForLine(line) != null; } - + @Override public boolean isLineHidden(int line) { for (Fold fold : folds) { @@ -344,7 +337,7 @@ public class DefaultFoldManager implements FoldManager { } return false; } - + private boolean isLineHiddenImpl(Fold parent, int line) { for (int i = 0; i < parent.getChildCount(); i++) { Fold child = parent.getChild(i); @@ -358,7 +351,7 @@ public class DefaultFoldManager implements FoldManager { } return false; } - + private void keepFoldState(Fold newFold, List oldFolds) { int previousLoc = Collections.binarySearch(oldFolds, newFold); // System.out.println(newFold + " => " + previousLoc); @@ -379,7 +372,7 @@ public class DefaultFoldManager implements FoldManager { } } } - + private void keepFoldStates(List newFolds, List oldFolds) { for (Fold newFold : newFolds) { keepFoldState(newFold, folds); @@ -389,12 +382,12 @@ public class DefaultFoldManager implements FoldManager { } } } - + @Override public void removePropertyChangeListener(PropertyChangeListener l) { support.removePropertyChangeListener(l); } - + @Override public void reparse() { if (codeFoldingEnabled && foldParser != null) { @@ -414,7 +407,7 @@ public class DefaultFoldManager implements FoldManager { folds.clear(); } } - + @Override public void setCodeFoldingEnabled(boolean enabled) { if (enabled != codeFoldingEnabled) { @@ -424,7 +417,7 @@ public class DefaultFoldManager implements FoldManager { } if (enabled) { rstaParser = new AbstractParser() { - + @Override public ParseResult parse(RSyntaxDocument doc, String style) { reparse(); @@ -441,28 +434,29 @@ public class DefaultFoldManager implements FoldManager { } } } - + @Override public void setFolds(List folds) { this.folds = folds; } - + /** - * Updates the fold parser to be the one appropriate for the language - * currently being highlighted. + * Updates the fold parser to be the one appropriate for the language currently + * being highlighted. */ private void updateFoldParser() { foldParser = FoldParserManager.get().getFoldParser(textArea.getSyntaxEditingStyle()); } - + /** * Listens for events in the text editor. */ private class Listener implements DocumentListener, PropertyChangeListener { - + @Override - public void changedUpdate(DocumentEvent e) {} - + public void changedUpdate(DocumentEvent e) { + } + @Override public void insertUpdate(DocumentEvent e) { // Adding text containing a newline to the visible line of a folded @@ -481,7 +475,7 @@ public class DefaultFoldManager implements FoldManager { } } } - + @Override public void propertyChange(PropertyChangeEvent e) { String name = e.getPropertyName(); @@ -502,7 +496,7 @@ public class DefaultFoldManager implements FoldManager { reparse(); } } - + @Override public void removeUpdate(DocumentEvent e) { // Removing text from the visible line of a folded Fold causes that diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/Fold.java b/src/org/fife/ui/rsyntaxtextarea/folding/Fold.java index acfede2..dbcdb87 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/Fold.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/Fold.java @@ -34,7 +34,7 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; * @version 1.0 */ public class Fold implements Comparable { - + private int type; private RSyntaxTextArea textArea; private Position startOffs; @@ -47,23 +47,20 @@ public class Fold implements Comparable { private int cachedStartLine; private int lastEndOffs = -1; private int cachedEndLine; - + public Fold(int type, RSyntaxTextArea textArea, int startOffs) throws BadLocationException { this.type = type; this.textArea = textArea; this.startOffs = textArea.getDocument().createPosition(startOffs); } - + /** * Creates a fold that is a child of this one. * - * @param type - * The type of fold. - * @param startOffs - * The starting offset of the fold. + * @param type The type of fold. + * @param startOffs The starting offset of the fold. * @return The child fold. - * @throws BadLocationException - * If startOffs is invalid. + * @throws BadLocationException If startOffs is invalid. * @see FoldType */ public Fold createChild(int type, int startOffs) throws BadLocationException { @@ -75,12 +72,11 @@ public class Fold implements Comparable { children.add(child); return child; } - + /** * Two folds are considered equal if they start at the same offset. * - * @param otherFold - * Another fold to compare this one to. + * @param otherFold Another fold to compare this one to. * @return How this fold compares to the other. */ @Override @@ -92,15 +88,14 @@ public class Fold implements Comparable { } return result; } - + /** - * Returns whether the specified line would be hidden in this fold. Since - * RSTA displays the "first" line in a fold, this means that the line must - * must be between (getStartLine()+1) and - * getEndLine(), inclusive. + * Returns whether the specified line would be hidden in this fold. Since RSTA + * displays the "first" line in a fold, this means that the line must must be + * between (getStartLine()+1) and getEndLine(), + * inclusive. * - * @param line - * The line to check. + * @param line The line to check. * @return Whether the line would be hidden if this fold is collapsed. * @see #containsOffset(int) * @see #containsOrStartsOnLine(int) @@ -108,27 +103,25 @@ public class Fold implements Comparable { public boolean containsLine(int line) { return line > getStartLine() && line <= getEndLine(); } - + /** * Returns whether the given line is in the range * [getStartLine(), getEndLine()], inclusive. * - * @param line - * The line to check. + * @param line The line to check. * @return Whether this fold contains, or starts on, the line. * @see #containsLine(int) */ public boolean containsOrStartsOnLine(int line) { return line >= getStartLine() && line <= getEndLine(); } - + /** * Returns whether the specified offset is "inside" the fold. This method * returns true if the offset is greater than the fold start * offset, and no further than the last offset of the last folded line. * - * @param offs - * The offset to check. + * @param offs The offset to check. * @return Whether the offset is "inside" the fold. * @see #containsLine(int) */ @@ -142,12 +135,11 @@ public class Fold implements Comparable { } return contained; } - + /** * Two folds are considered equal if they have the same starting offset. * - * @param otherFold - * Another fold to compare this one to. + * @param otherFold Another fold to compare this one to. * @return Whether the two folds are equal. * @see #compareTo(Fold) */ @@ -155,19 +147,18 @@ public class Fold implements Comparable { public boolean equals(Object otherFold) { return otherFold instanceof Fold && compareTo((Fold) otherFold) == 0; } - + /** * Returns a specific child fold. * - * @param index - * The index of the child fold. + * @param index The index of the child fold. * @return The child fold. * @see #getChildCount() */ public Fold getChild(int index) { return children.get(index); } - + /** * Returns the number of child folds. * @@ -177,42 +168,39 @@ public class Fold implements Comparable { public int getChildCount() { return children == null ? 0 : children.size(); } - + /** * Returns the array of child folds. This is a shallow copy. * - * @return The array of child folds, or null if there are - * none. + * @return The array of child folds, or null if there are none. */ List getChildren() { return children; } - + /** - * Returns the number of collapsed lines under this fold. If this fold - * is collapsed, this method returns {@link #getLineCount()}, otherwise - * it returns the sum of all collapsed lines of all child folds of this - * one. + * Returns the number of collapsed lines under this fold. If this fold is + * collapsed, this method returns {@link #getLineCount()}, otherwise it returns + * the sum of all collapsed lines of all child folds of this one. *

      * - * The value returned is cached, so this method returns quickly and - * shouldn't affect performance. + * The value returned is cached, so this method returns quickly and shouldn't + * affect performance. * * @return The number of collapsed lines under this fold. */ public int getCollapsedLineCount() { return collapsed ? getLineCount() : childCollapsedLineCount; } - + /** - * Returns the "deepest" fold containing the specified offset. It is - * assumed that it's already been verified that offs is indeed - * contained in this fold. + * Returns the "deepest" fold containing the specified offset. It is assumed + * that it's already been verified that offs is indeed contained in + * this fold. * - * @param offs - * The offset. - * @return The fold, or null if no child fold also contains - * the offset. + * @param offs The offset. + * @return The fold, or null if no child fold also contains the + * offset. * @see FoldManager#getDeepestFoldContaining(int) */ Fold getDeepestFoldContaining(int offs) { @@ -226,16 +214,14 @@ public class Fold implements Comparable { } return deepestFold; } - + /** - * Returns the "deepest" open fold containing the specified offset. It - * is assumed that it's already been verified that offs is - * indeed contained in this fold. + * Returns the "deepest" open fold containing the specified offset. It is + * assumed that it's already been verified that offs is indeed + * contained in this fold. * - * @param offs - * The offset. - * @return The fold, or null if no open fold contains the - * offset. + * @param offs The offset. + * @return The fold, or null if no open fold contains the offset. * @see FoldManager#getDeepestOpenFoldContaining(int) */ Fold getDeepestOpenFoldContaining(int offs) { @@ -252,16 +238,15 @@ public class Fold implements Comparable { } return deepestFold; } - + /** - * Returns the end line of this fold. For example, in languages such as - * C and Java, this might be the line containing the closing curly brace of - * a code block. + * Returns the end line of this fold. For example, in languages such as C and + * Java, this might be the line containing the closing curly brace of a code + * block. *

      * - * The value returned by this method will automatically update as the - * text area's contents are modified, to track the ending line of the - * code block. + * The value returned by this method will automatically update as the text + * area's contents are modified, to track the ending line of the code block. * * @return The end line of this code block. * @see #getEndOffset() @@ -276,27 +261,25 @@ public class Fold implements Comparable { Element root = textArea.getDocument().getDefaultRootElement(); return cachedEndLine = root.getElementIndex(endOffs); } - + /** - * Returns the end offset of this fold. For example, in languages such as - * C and Java, this might be the offset of the closing curly brace of a - * code block. + * Returns the end offset of this fold. For example, in languages such as C and + * Java, this might be the offset of the closing curly brace of a code block. *

      * - * The value returned by this method will automatically update as the - * text area's contents are modified, to track the ending offset of the - * code block. + * The value returned by this method will automatically update as the text + * area's contents are modified, to track the ending offset of the code block. * - * @return The end offset of this code block, or {@link Integer#MAX_VALUE} - * if this fold region isn't closed properly. The latter causes - * this fold to collapsed all lines through the end of the file. + * @return The end offset of this code block, or {@link Integer#MAX_VALUE} if + * this fold region isn't closed properly. The latter causes this fold + * to collapsed all lines through the end of the file. * @see #getEndLine() * @see #getStartOffset() */ public int getEndOffset() { return endOffs != null ? endOffs.getOffset() : Integer.MAX_VALUE; } - + /** * Returns the type of fold this is. This will be one of the values in * {@link FoldType}, or a user-defined value. @@ -306,7 +289,7 @@ public class Fold implements Comparable { public int getFoldType() { return type; } - + /** * Returns whether this fold has any child folds. * @@ -316,12 +299,12 @@ public class Fold implements Comparable { public boolean getHasChildFolds() { return getChildCount() > 0; } - + /** * Returns the last child fold. * - * @return The last child fold, or null if this fold does not - * have any children. + * @return The last child fold, or null if this fold does not have + * any children. * @see #getChild(int) * @see #getHasChildFolds() */ @@ -329,10 +312,9 @@ public class Fold implements Comparable { int childCount = getChildCount(); return childCount == 0 ? null : getChild(childCount - 1); } - + /** - * Returns the number of lines that are hidden when this fold is - * collapsed. + * Returns the number of lines that are hidden when this fold is collapsed. * * @return The number of lines hidden. * @see #getStartLine() @@ -341,25 +323,23 @@ public class Fold implements Comparable { public int getLineCount() { return getEndLine() - getStartLine(); } - + /** * Returns the parent fold of this one. * - * @return The parent fold, or null if this is a top-level - * fold. + * @return The parent fold, or null if this is a top-level fold. */ public Fold getParent() { return parent; } - + /** - * Returns the starting line of this fold region. This is the only line - * in the fold region that is not hidden when a fold is collapsed. + * Returns the starting line of this fold region. This is the only line in the + * fold region that is not hidden when a fold is collapsed. *

      * - * The value returned by this method will automatically update as the - * text area's contents are modified, to track the starting line of the - * code block. + * The value returned by this method will automatically update as the text + * area's contents are modified, to track the starting line of the code block. * * @return The starting line of the code block. * @see #getEndLine() @@ -374,16 +354,15 @@ public class Fold implements Comparable { Element root = textArea.getDocument().getDefaultRootElement(); return cachedStartLine = root.getElementIndex(startOffs); } - + /** - * Returns the starting offset of this fold region. For example, for - * languages such as C and Java, this would be the offset of the opening - * curly brace of a code block. + * Returns the starting offset of this fold region. For example, for languages + * such as C and Java, this would be the offset of the opening curly brace of a + * code block. *

      * - * The value returned by this method will automatically update as the - * text area's contents are modified, to track the starting offset of the - * code block. + * The value returned by this method will automatically update as the text + * area's contents are modified, to track the starting offset of the code block. * * @return The start offset of this fold. * @see #getStartLine() @@ -392,12 +371,12 @@ public class Fold implements Comparable { public int getStartOffset() { return startOffs.getOffset(); } - + @Override public int hashCode() { return getStartLine(); } - + /** * Returns whether this fold is collapsed. * @@ -408,11 +387,11 @@ public class Fold implements Comparable { public boolean isCollapsed() { return collapsed; } - + /** - * Returns whether this fold is entirely on a single line. In general, - * a {@link FoldParser} should not remember fold regions all on a single - * line, since there's really nothing to fold. + * Returns whether this fold is entirely on a single line. In general, a + * {@link FoldParser} should not remember fold regions all on a single line, + * since there's really nothing to fold. * * @return Whether this fold is on a single line. * @see #removeFromParent() @@ -420,11 +399,11 @@ public class Fold implements Comparable { public boolean isOnSingleLine() { return getStartLine() == getEndLine(); } - + /** * Removes this fold from its parent. This should only be called by - * {@link FoldParser} implementations if they determine that a fold is all - * on a single line (and thus shouldn't be remembered) after creating it. + * {@link FoldParser} implementations if they determine that a fold is all on a + * single line (and thus shouldn't be remembered) after creating it. * * @return Whether this fold had a parent to be removed from. * @see #isOnSingleLine() @@ -437,17 +416,16 @@ public class Fold implements Comparable { } return false; } - + private void removeMostRecentChild() { children.remove(children.size() - 1); } - + /** - * Sets whether this Fold is collapsed. Calling this method - * will update both the text area and all Gutter components. + * Sets whether this Fold is collapsed. Calling this method will + * update both the text area and all Gutter components. * - * @param collapsed - * Whether this fold should be collapsed. + * @param collapsed Whether this fold should be collapsed. * @see #isCollapsed() * @see #toggleCollapsedState() */ @@ -487,24 +465,22 @@ public class Fold implements Comparable { textArea.foldToggled(this); } } - + /** - * Sets the ending offset of this fold, such as the closing curly brace - * of a code block in C or Java. {@link FoldParser} implementations should - * call this on an existing Fold upon finding its end. If - * this method isn't called, then this Fold is considered to - * have no end, i.e., it will collapse everything to the end of the file. + * Sets the ending offset of this fold, such as the closing curly brace of a + * code block in C or Java. {@link FoldParser} implementations should call this + * on an existing Fold upon finding its end. If this method isn't + * called, then this Fold is considered to have no end, i.e., it + * will collapse everything to the end of the file. * - * @param endOffs - * The end offset of this fold. - * @throws BadLocationException - * If endOffs is not a valid - * location in the text area. + * @param endOffs The end offset of this fold. + * @throws BadLocationException If endOffs is not a valid location + * in the text area. */ public void setEndOffset(int endOffs) throws BadLocationException { this.endOffs = textArea.getDocument().createPosition(endOffs); } - + /** * Toggles the collapsed state of this fold. * @@ -513,7 +489,7 @@ public class Fold implements Comparable { public void toggleCollapsedState() { setCollapsed(!collapsed); } - + private void updateChildCollapsedLineCount(int count) { childCollapsedLineCount += count; // if (childCollapsedLineCount>getLineCount()) { @@ -523,7 +499,7 @@ public class Fold implements Comparable { parent.updateChildCollapsedLineCount(count); } } - + /** * Overridden for debugging purposes. * @@ -531,6 +507,7 @@ public class Fold implements Comparable { */ @Override public String toString() { - return "[Fold: " + "startOffs=" + getStartOffset() + ", endOffs=" + getEndOffset() + ", collapsed=" + collapsed + "]"; + return "[Fold: " + "startOffs=" + getStartOffset() + ", endOffs=" + getEndOffset() + ", collapsed=" + collapsed + + "]"; } } diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/FoldCollapser.java b/src/org/fife/ui/rsyntaxtextarea/folding/FoldCollapser.java index ead5961..bfd9f30 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/FoldCollapser.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/FoldCollapser.java @@ -11,51 +11,47 @@ import java.util.ArrayList; import java.util.List; /** - * Collapses folds based on their type. You can create an instance of this - * class to collapse all comment blocks when opening a new file, for example. + * Collapses folds based on their type. You can create an instance of this class + * to collapse all comment blocks when opening a new file, for example. * * @author Robert Futrell * @version 1.0 */ public class FoldCollapser { - + private List typesToCollapse; - + /** * Creates an instance that collapses all comment blocks. */ public FoldCollapser() { this(FoldType.COMMENT); } - + /** - * Creates an instance that collapses all blocks of the specified - * type. + * Creates an instance that collapses all blocks of the specified type. * - * @param typeToCollapse - * The type to collapse. + * @param typeToCollapse The type to collapse. * @see FoldType */ public FoldCollapser(int typeToCollapse) { typesToCollapse = new ArrayList(3); addTypeToCollapse(typeToCollapse); } - + /** * Adds a type of fold to collapse. * - * @param typeToCollapse - * The type of fold to collapse. + * @param typeToCollapse The type of fold to collapse. */ public void addTypeToCollapse(int typeToCollapse) { typesToCollapse.add(Integer.valueOf(typeToCollapse)); } - + /** * Collapses any relevant folds known by the fold manager. * - * @param fm - * The fold manager. + * @param fm The fold manager. */ public void collapseFolds(FoldManager fm) { for (int i = 0; i < fm.getFoldCount(); i++) { @@ -63,13 +59,11 @@ public class FoldCollapser { collapseImpl(fold); } } - + /** - * Collapses the specified fold, and any of its child folds, as - * appropriate. + * Collapses the specified fold, and any of its child folds, as appropriate. * - * @param fold - * The fold to examine. + * @param fold The fold to examine. * @see #getShouldCollapse(Fold) */ protected void collapseImpl(Fold fold) { @@ -80,12 +74,11 @@ public class FoldCollapser { collapseImpl(fold.getChild(i)); } } - + /** * Returns whether a specific fold should be collapsed. * - * @param fold - * The fold to examine. + * @param fold The fold to examine. * @return Whether the fold should be collapsed. */ public boolean getShouldCollapse(Fold fold) { diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/FoldManager.java b/src/org/fife/ui/rsyntaxtextarea/folding/FoldManager.java index 2366308..54abbec 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/FoldManager.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/FoldManager.java @@ -21,67 +21,61 @@ import java.util.List; * @see DefaultFoldManager */ public interface FoldManager { - + /** * Property fired when folds have been updated. */ String PROPERTY_FOLDS_UPDATED = "FoldsUpdated"; - + /** * Adds a property change listener to this fold manager. * - * @param l - * The new listener. + * @param l The new listener. * @see #removePropertyChangeListener(PropertyChangeListener) */ void addPropertyChangeListener(PropertyChangeListener l); - + /** * Removes all folds. */ void clear(); - + /** - * Ensures that the specified offset is not hidden in a collapsed fold. - * Any folds containing this offset that are collapsed will be expanded. + * Ensures that the specified offset is not hidden in a collapsed fold. Any + * folds containing this offset that are collapsed will be expanded. * - * @param offs - * The offset. + * @param offs The offset. * @return Whether any folds had to be opened. * @see #getDeepestFoldContaining(int) */ boolean ensureOffsetNotInClosedFold(int offs); - + /** * Returns the "deepest" nested fold containing the specified offset. * - * @param offs - * The offset. - * @return The deepest fold containing the offset, or null if - * no fold contains the offset. + * @param offs The offset. + * @return The deepest fold containing the offset, or null if no + * fold contains the offset. */ Fold getDeepestFoldContaining(int offs); - + /** * Returns the "deepest" open fold containing the specified offset. * - * @param offs - * The offset. - * @return The fold, or null if no open fold contains the - * offset. + * @param offs The offset. + * @return The fold, or null if no open fold contains the offset. */ Fold getDeepestOpenFoldContaining(int offs); - + /** * Returns a specific top-level fold, which may have child folds. * - * @param index - * The index of the fold. + * @param index The index of the fold. * @return The fold. * @see #getFoldCount() */ Fold getFold(int index); - + /** * Returns the number of top-level folds. * @@ -89,18 +83,17 @@ public interface FoldManager { * @see #getFold(int) */ int getFoldCount(); - + /** * Returns the fold region that starts at the specified line. * - * @param line - * The line number. - * @return The fold, or null if the line is not the start - * of a fold region. + * @param line The line number. + * @return The fold, or null if the line is not the start of a fold + * region. * @see #isFoldStartLine(int) */ Fold getFoldForLine(int line); - + /** * Returns the total number of hidden (folded) lines. * @@ -108,127 +101,112 @@ public interface FoldManager { * @see #getHiddenLineCountAbove(int) */ int getHiddenLineCount(); - + /** - * Returns the number of lines "hidden" by collapsed folds above the - * specified line. + * Returns the number of lines "hidden" by collapsed folds above the specified + * line. * - * @param line - * The line. This is the line number for a logical line. - * For the line number of a physical line (i.e. visible, not - * folded), - * use getHiddenLineCountAbove(int, true). + * @param line The line. This is the line number for a logical line. For the + * line number of a physical line (i.e. visible, not folded), use + * getHiddenLineCountAbove(int, true). * @return The number of lines hidden in folds above line. * @see #getHiddenLineCountAbove(int, boolean) */ int getHiddenLineCountAbove(int line); - + /** - * Returns the number of lines "hidden" by collapsed folds above the - * specified line. + * Returns the number of lines "hidden" by collapsed folds above the specified + * line. * - * @param line - * The line. - * @param physical - * Whether line is the number of a physical - * line (i.e. visible, not code-folded), or a logical one (i.e. - * any - * line from the model). If line was determined by a - * raw line calculation (i.e. - * (visibleTopY / lineHeight)), - * this value should be true. It should be - * false when it was calculated from an offset in - * the - * document (for example). + * @param line The line. + * @param physical Whether line is the number of a physical line + * (i.e. visible, not code-folded), or a logical one (i.e. any + * line from the model). If line was determined by + * a raw line calculation (i.e. + * (visibleTopY / lineHeight)), this value should + * be true. It should be false when it + * was calculated from an offset in the document (for example). * @return The number of lines hidden in folds above line. */ int getHiddenLineCountAbove(int line, boolean physical); - + /** - * Returns the last visible line in the text area, taking into account - * folds. + * Returns the last visible line in the text area, taking into account folds. * * @return The last visible line. */ int getLastVisibleLine(); - + int getVisibleLineAbove(int line); - + int getVisibleLineBelow(int line); - + /** - * Returns whether code folding is enabled. Note that only certain - * languages support code folding; those that do not will ignore this - * property. + * Returns whether code folding is enabled. Note that only certain languages + * support code folding; those that do not will ignore this property. * * @return Whether code folding is enabled. * @see #setCodeFoldingEnabled(boolean) */ boolean isCodeFoldingEnabled(); - + /** - * Returns true if and only if code folding is enabled for - * this text area, AND folding is supported for the language it is editing. - * Whether or not folding is supported for a language depends on whether - * a fold parser is registered for that language with the - * FoldParserManager. + * Returns true if and only if code folding is enabled for this + * text area, AND folding is supported for the language it is editing. Whether + * or not folding is supported for a language depends on whether a fold parser + * is registered for that language with the FoldParserManager. * * @return Whether folding is supported and enabled for this text area. * @see FoldParserManager */ boolean isCodeFoldingSupportedAndEnabled(); - + /** * Returns whether the specified line contains the start of a fold region. * - * @param line - * The line. + * @param line The line. * @return Whether the line contains the start of a fold region. * @see #getFoldForLine(int) */ boolean isFoldStartLine(int line); - + /** * Returns whether a line is hidden in a collapsed fold. * - * @param line - * The line to check. + * @param line The line to check. * @return Whether the line is hidden in a collapsed fold. */ boolean isLineHidden(int line); - + /** * Removes a property change listener from this fold manager. * - * @param l - * The listener to remove. + * @param l The listener to remove. * @see #addPropertyChangeListener(PropertyChangeListener) */ void removePropertyChangeListener(PropertyChangeListener l); - + /** - * Forces an immediate reparsing for folds, if folding is enabled. This - * usually does not need to be called by the programmer, since fold - * parsing is done automatically by RSTA. + * Forces an immediate reparsing for folds, if folding is enabled. This usually + * does not need to be called by the programmer, since fold parsing is done + * automatically by RSTA. */ void reparse(); - + /** - * Sets whether code folding is enabled. Note that only certain - * languages will support code folding out of the box. Those languages - * which do not support folding will ignore this property. + * Sets whether code folding is enabled. Note that only certain languages will + * support code folding out of the box. Those languages which do not support + * folding will ignore this property. * - * @param enabled - * Whether code folding should be enabled. + * @param enabled Whether code folding should be enabled. * @see #isCodeFoldingEnabled() */ void setCodeFoldingEnabled(boolean enabled); - + /** * Sets the folds for this fold manager. * - * @param folds - * The new folds. This should not be null. + * @param folds The new folds. This should not be null. */ void setFolds(List folds); } diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/FoldParser.java b/src/org/fife/ui/rsyntaxtextarea/folding/FoldParser.java index 72deab8..96bb636 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/FoldParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/FoldParser.java @@ -13,9 +13,9 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; /** * Locates folds in a document. If you are implementing a language that has * sections of source code that can be logically "folded," you can create an - * instance of this interface that locates those regions and represents them - * as {@link Fold}s. RSyntaxTextArea knows how to take it from - * there and implement code folding in the editor. + * instance of this interface that locates those regions and represents them as + * {@link Fold}s. RSyntaxTextArea knows how to take it from there + * and implement code folding in the editor. * * @author Robert Futrell * @version 1.0 @@ -23,14 +23,13 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; * @see XmlFoldParser */ public interface FoldParser { - + /** * Returns a list of all folds in the text area. * - * @param textArea - * The text area whose contents should be analyzed. - * @return The list of folds. If this method returns null, - * it is treated as if no folds were found. + * @param textArea The text area whose contents should be analyzed. + * @return The list of folds. If this method returns null, it is + * treated as if no folds were found. */ List getFolds(RSyntaxTextArea textArea); } diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/FoldParserManager.java b/src/org/fife/ui/rsyntaxtextarea/folding/FoldParserManager.java index 5eb005e..c62e69e 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/FoldParserManager.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/FoldParserManager.java @@ -23,38 +23,35 @@ import org.fife.ui.rsyntaxtextarea.SyntaxConstants; * @version 1.0 */ public final class FoldParserManager implements SyntaxConstants { - + /** * Map from syntax styles to fold parsers. */ private Map foldParserMap; private static final FoldParserManager INSTANCE = new FoldParserManager(); - + /** * Private constructor to prevent instantiation. */ private FoldParserManager() { foldParserMap = createFoldParserMap(); } - + /** - * Adds a mapping from a syntax style to a fold parser. The parser - * specified will be shared among all RSTA instances editing that language, - * so it should be stateless (which should not be difficult for a fold - * parser). You can also override the fold parser for built-in languages, - * such as SYNTAX_STYLE_JAVA, with your own parser - * implementations. + * Adds a mapping from a syntax style to a fold parser. The parser specified + * will be shared among all RSTA instances editing that language, so it should + * be stateless (which should not be difficult for a fold parser). You can also + * override the fold parser for built-in languages, such as + * SYNTAX_STYLE_JAVA, with your own parser implementations. * - * @param syntaxStyle - * The syntax style. - * @param parser - * The parser. + * @param syntaxStyle The syntax style. + * @param parser The parser. * @see SyntaxConstants */ public void addFoldParserMapping(String syntaxStyle, FoldParser parser) { foldParserMap.put(syntaxStyle, parser); } - + /** * Creates the syntax style-to-fold parser mapping for built-in languages. * @@ -89,7 +86,7 @@ public final class FoldParserManager implements SyntaxConstants { map.put(SYNTAX_STYLE_XML, new XmlFoldParser()); return map; } - + /** * Returns the singleton instance of this class. * @@ -98,16 +95,15 @@ public final class FoldParserManager implements SyntaxConstants { public static FoldParserManager get() { return INSTANCE; } - + /** - * Returns a fold parser to use for an editor highlighting code of a - * specific language. + * Returns a fold parser to use for an editor highlighting code of a specific + * language. * - * @param syntaxStyle - * A value from {@link SyntaxConstants}, such as - * SYNTAX_STYLE_JAVA. - * @return A fold parser to use, or null if none is registered - * for the language. + * @param syntaxStyle A value from {@link SyntaxConstants}, such as + * SYNTAX_STYLE_JAVA. + * @return A fold parser to use, or null if none is registered for + * the language. */ public FoldParser getFoldParser(String syntaxStyle) { return foldParserMap.get(syntaxStyle); diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/FoldType.java b/src/org/fife/ui/rsyntaxtextarea/folding/FoldType.java index d442b13..9b8c956 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/FoldType.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/FoldType.java @@ -26,7 +26,7 @@ package org.fife.ui.rsyntaxtextarea.folding; * @see Fold */ public interface FoldType { - + /** * Denotes a Fold as being a region of code. */ @@ -36,17 +36,17 @@ public interface FoldType { */ int COMMENT = 1; /** - * Denotes a Fold as being a section of import statements - * (Java), include statements (C), etc. + * Denotes a Fold as being a section of import statements (Java), + * include statements (C), etc. */ int IMPORTS = 2; /** - * Users building advanced editors such as IDE's, that want to allow their - * users to auto-expand/collapse foldable regions of a specific type other - * than comments, should define their custom fold types using values - * FOLD_TYPE_USER_DEFINED_MIN + n. That way, if - * new default fold types are added to this interface in the future, your - * code won't suddenly break when upgrading to a new version of RSTA. + * Users building advanced editors such as IDE's, that want to allow their users + * to auto-expand/collapse foldable regions of a specific type other than + * comments, should define their custom fold types using values + * FOLD_TYPE_USER_DEFINED_MIN + n. That way, if new + * default fold types are added to this interface in the future, your code won't + * suddenly break when upgrading to a new version of RSTA. */ int FOLD_TYPE_USER_DEFINED_MIN = 1000; } diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/HtmlFoldParser.java b/src/org/fife/ui/rsyntaxtextarea/folding/HtmlFoldParser.java index 920a347..ae1dc21 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/HtmlFoldParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/HtmlFoldParser.java @@ -19,16 +19,16 @@ import org.fife.ui.rsyntaxtextarea.Token; /** * Fold parser for HTML 5, PHP and JSP. For HTML, we currently don't fold - * everything possible, just the "big" stuff. For PHP, we only fold - * the "big" HTML stuff and PHP regions, not code blocks in the actual PHP. - * For JSP we only fold the "big" HTML stuff and JSP blocks, not anything in - * the actual Java code. + * everything possible, just the "big" stuff. For PHP, we only fold the + * "big" HTML stuff and PHP regions, not code blocks in the actual PHP. For JSP + * we only fold the "big" HTML stuff and JSP blocks, not anything in the actual + * Java code. * * @author Robert Futrell * @version 1.0 */ public class HtmlFoldParser implements FoldParser { - + /** * Constant denoting we're folding HTML. */ @@ -46,8 +46,8 @@ public class HtmlFoldParser implements FoldParser { */ private final int language; /** - * The set of tags we allow to be folded. These are tags that must have - * explicit close tags in both HTML 4 and HTML 5. + * The set of tags we allow to be folded. These are tags that must have explicit + * close tags in both HTML 4 and HTML 5. */ private static final Set FOLDABLE_TAGS; private static final char[] MARKUP_CLOSING_TAG_START = " LANGUAGE_JSP) { @@ -96,7 +95,7 @@ public class HtmlFoldParser implements FoldParser { } this.language = language; } - + /** * {@inheritDoc} */ @@ -194,7 +193,8 @@ public class HtmlFoldParser implements FoldParser { } // Starting a JSP comment that ends on a later // line... - else if (language == LANGUAGE_JSP && t.startsWith(JSP_COMMENT_START) && !t.endsWith(JSP_COMMENT_END)) { + else if (language == LANGUAGE_JSP && t.startsWith(JSP_COMMENT_START) + && !t.endsWith(JSP_COMMENT_END)) { if (currentFold == null) { currentFold = new Fold(FoldType.COMMENT, textArea, t.getOffset()); folds.add(currentFold); @@ -258,22 +258,17 @@ public class HtmlFoldParser implements FoldParser { } return folds; } - + /** - * Grabs the token representing the closing of a tag (i.e. - * ">" or "/>"). This should only be - * called after a tag name has been parsed, to ensure the "closing" of - * other tags is not identified. + * Grabs the token representing the closing of a tag (i.e. ">" + * or "/>"). This should only be called after a tag name has + * been parsed, to ensure the "closing" of other tags is not identified. * - * @param tagNameToken - * The token denoting the name of the tag. - * @param textArea - * The text area whose contents are being parsed. - * @param line - * The line we're currently on. - * @param info - * On return, information about the closing of the tag is - * returned in this object. + * @param tagNameToken The token denoting the name of the tag. + * @param textArea The text area whose contents are being parsed. + * @param line The line we're currently on. + * @param info On return, information about the closing of the tag is + * returned in this object. * @return The line number of the closing tag token. */ private int getTagCloseInfo(Token tagNameToken, RSyntaxTextArea textArea, int line, TagCloseInfo info) { @@ -291,16 +286,13 @@ public class HtmlFoldParser implements FoldParser { } while (++line < textArea.getLineCount() && (t = textArea.getTokenListForLine(line)) != null); return line; } - + /** - * Returns whether a closing tag ("</...>") with a - * specific name is the closing tag of our current fold region. + * Returns whether a closing tag ("</...>") with a specific + * name is the closing tag of our current fold region. * - * @param tagNameStack - * The stack of fold regions. - * @param tagNameToken - * The tag name of the most recently parsed closing - * tag. + * @param tagNameStack The stack of fold regions. + * @param tagNameToken The tag name of the most recently parsed closing tag. * @return Whether it's the end of the current fold region. */ private static boolean isEndOfLastFold(Stack tagNameStack, Token tagNameToken) { @@ -309,48 +301,45 @@ public class HtmlFoldParser implements FoldParser { } return false; } - + /** * Returns whether a tag is one we allow as a foldable region. * - * @param tagNameToken - * The tag's name token. This may be null. + * @param tagNameToken The tag's name token. This may be null. * @return Whether this tag can be a foldable region. */ private static boolean isFoldableTag(Token tagNameToken) { return tagNameToken != null && FOLDABLE_TAGS.contains(tagNameToken.getLexeme().toLowerCase()); } - + /** * If this fold has a parent fold, this method removes it from its parent. * Otherwise, it's assumed to be the most recent (top-level) fold in the * folds list, and is removed from that. * - * @param fold - * The fold to remove. - * @param folds - * The list of top-level folds. + * @param fold The fold to remove. + * @param folds The list of top-level folds. */ private static void removeFold(Fold fold, List folds) { if (!fold.removeFromParent()) { folds.remove(folds.size() - 1); } } - + /** * A simple wrapper for the token denoting the closing of a tag (i.e. * ">" or "/>"). */ private static class TagCloseInfo { - + private Token closeToken; private int line; - + public void reset() { closeToken = null; line = -1; } - + @Override public String toString() { return "[TagCloseInfo: " + "closeToken=" + closeToken + ", line=" + line + "]"; diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/JsonFoldParser.java b/src/org/fife/ui/rsyntaxtextarea/folding/JsonFoldParser.java index 4d438c1..972f674 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/JsonFoldParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/JsonFoldParser.java @@ -25,10 +25,10 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * @version 1.0 */ public class JsonFoldParser implements FoldParser { - + private static final Object OBJECT_BLOCK = new Object(); private static final Object ARRAY_BLOCK = new Object(); - + /** * {@inheritDoc} */ @@ -95,39 +95,35 @@ public class JsonFoldParser implements FoldParser { } return folds; } - + /** * Returns whether a token is the left bracket token. * - * @param t - * The token. + * @param t The token. * @return Whether the token is the left bracket token. * @see #isRightBracket(Token) */ private static boolean isLeftBracket(Token t) { return t.getType() == TokenTypes.SEPARATOR && t.isSingleChar('['); } - + /** * Returns whether a token is the right bracket token. * - * @param t - * The token. + * @param t The token. * @return Whether the token is the right bracket token. * @see #isLeftBracket(Token) */ private static boolean isRightBracket(Token t) { return t.getType() == TokenTypes.SEPARATOR && t.isSingleChar(']'); } - + /** * If the specified value is on top of the stack, pop it off and return * true. Otherwise, return false. * - * @param stack - * The stack. - * @param value - * The value to check for. + * @param stack The stack. + * @param value The value to check for. * @return Whether the value was found on top of the stack. */ private static boolean popOffTop(Stack stack, Object value) { diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/LatexFoldParser.java b/src/org/fife/ui/rsyntaxtextarea/folding/LatexFoldParser.java index c5c2190..0ee6a51 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/LatexFoldParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/LatexFoldParser.java @@ -16,17 +16,17 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; import org.fife.ui.rsyntaxtextarea.Token; /** - * A fold parser for LaTeX documents. This is likely incomplete and/or not - * quite right; feedback is appreciated. + * A fold parser for LaTeX documents. This is likely incomplete and/or not quite + * right; feedback is appreciated. * * @author Robert Futrell * @version 1.0 */ public class LatexFoldParser implements FoldParser { - + private static final char[] BEGIN = "\\begin".toCharArray(); private static final char[] END = "\\end".toCharArray(); - + /** * {@inheritDoc} */ diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/LispFoldParser.java b/src/org/fife/ui/rsyntaxtextarea/folding/LispFoldParser.java index fc131d4..cd23044 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/LispFoldParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/LispFoldParser.java @@ -15,12 +15,12 @@ import org.fife.ui.rsyntaxtextarea.Token; * @version 1.0 */ public class LispFoldParser extends CurlyFoldParser { - + @Override public boolean isLeftCurly(Token t) { return t.isSingleChar(Token.SEPARATOR, '('); } - + @Override public boolean isRightCurly(Token t) { return t.isSingleChar(Token.SEPARATOR, ')'); diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/NsisFoldParser.java b/src/org/fife/ui/rsyntaxtextarea/folding/NsisFoldParser.java index 6e7f1c7..21277da 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/NsisFoldParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/NsisFoldParser.java @@ -27,17 +27,17 @@ import org.fife.ui.rsyntaxtextarea.Token; * @version 1.0 */ public class NsisFoldParser implements FoldParser { - + private static final char[] KEYWORD_FUNCTION = "Function".toCharArray(); private static final char[] KEYWORD_FUNCTION_END = "FunctionEnd".toCharArray(); private static final char[] KEYWORD_SECTION = "Section".toCharArray(); private static final char[] KEYWORD_SECTION_END = "SectionEnd".toCharArray(); protected static final char[] C_MLC_END = "*/".toCharArray(); - + private static boolean foundEndKeyword(char[] keyword, Token t, Stack endWordStack) { return t.is(Token.RESERVED_WORD, keyword) && !endWordStack.isEmpty() && keyword == endWordStack.peek(); } - + /** * {@inheritDoc} */ diff --git a/src/org/fife/ui/rsyntaxtextarea/folding/XmlFoldParser.java b/src/org/fife/ui/rsyntaxtextarea/folding/XmlFoldParser.java index 6d0e7eb..75742f2 100644 --- a/src/org/fife/ui/rsyntaxtextarea/folding/XmlFoldParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/folding/XmlFoldParser.java @@ -23,11 +23,11 @@ import org.fife.ui.rsyntaxtextarea.Token; * @version 1.0 */ public class XmlFoldParser implements FoldParser { - + private static final char[] MARKUP_CLOSING_TAG_START = { '<', '/' }; private static final char[] MARKUP_SHORT_TAG_END = { '/', '>' }; private static final char[] MLC_END = { '-', '-', '>' }; - + /** * {@inheritDoc} */ @@ -103,16 +103,14 @@ public class XmlFoldParser implements FoldParser { } return folds; } - + /** * If this fold has a parent fold, this method removes it from its parent. * Otherwise, it's assumed to be the most recent (top-level) fold in the * folds list, and is removed from that. * - * @param fold - * The fold to remove. - * @param folds - * The list of top-level folds. + * @param fold The fold to remove. + * @param folds The list of top-level folds. */ private static void removeFold(Fold fold, List folds) { if (!fold.removeFromParent()) { diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/AbstractMarkupTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/AbstractMarkupTokenMaker.java index 18a7f85..652cf5e 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/AbstractMarkupTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/AbstractMarkupTokenMaker.java @@ -16,14 +16,14 @@ import org.fife.ui.rsyntaxtextarea.AbstractJFlexTokenMaker; * @version 1.0 */ public abstract class AbstractMarkupTokenMaker extends AbstractJFlexTokenMaker { - + /** * Returns whether markup close tags should be completed. * * @return Whether closing markup tags are to be completed. */ public abstract boolean getCompleteCloseTags(); - + /** * {@inheritDoc} */ @@ -31,7 +31,7 @@ public abstract class AbstractMarkupTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "" }; } - + /** * Overridden to return true. * diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/ActionScriptTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/ActionScriptTokenMaker.java index e8ea149..e33aed3 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/ActionScriptTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/ActionScriptTokenMaker.java @@ -21,16 +21,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -40,17 +39,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated ActionScriptTokenMaker.java file will contain - * two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * two definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -70,10 +68,11 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\20\1\10\1\0\1\20\1\16\22\0\1\71\1\47\1\15" + "\1\17\1\1\1\47\1\51\1\7\2\54\1\22\1\42\1\41\1\30" + "\1\31\1\21\1\4\3\6\4\6\2\3\1\52\1\41\1\43\1\44" - + "\1\46\1\50\1\53\1\77\1\5\1\75\1\25\1\27\1\73\1\1" + "\1\113\1\112\1\1\1\100\1\24\1\101\1\102\1\103\1\107\1\114" - + "\1\111\1\105\1\76\1\110\1\106\1\1\1\23\2\1\1\54\1\11" + "\1\54\1\45\1\2\1\0\1\35\1\14\1\63\1\61\1\34\1\26" - + "\1\72\1\55\1\57\1\104\1\62\1\36\1\66\1\13\1\64\1\56" + "\1\67\1\33\1\37\1\32\1\12\1\74\1\60\1\70\1\65\1\1" - + "\1\40\1\45\1\40\1\50\uff81\0"; + + "\1\46\1\50\1\53\1\77\1\5\1\75\1\25\1\27\1\73\1\1" + + "\1\113\1\112\1\1\1\100\1\24\1\101\1\102\1\103\1\107\1\114" + + "\1\111\1\105\1\76\1\110\1\106\1\1\1\23\2\1\1\54\1\11" + + "\1\54\1\45\1\2\1\0\1\35\1\14\1\63\1\61\1\34\1\26" + "\1\72\1\55\1\57\1\104\1\62\1\36\1\66\1\13\1\64\1\56" + + "\1\67\1\33\1\37\1\32\1\12\1\74\1\60\1\70\1\65\1\1" + "\1\40\1\45\1\40\1\50\uff81\0"; /** * Translates characters to character classes */ @@ -82,21 +81,23 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\3\0\1\1\1\2\2\3\1\2\1\4\1\5\3\2" + "\1\6\2\1\1\7\2\10\3\2\1\10\7\2\1\11" - + "\1\2\5\10\22\2\1\12\1\13\5\12\1\14\3\12" + "\1\1\1\15\1\3\1\16\1\15\1\16\1\15\1\17" + "\1\15\1\2\1\20\1\4\5\2\1\21\3\2\2\6" - + "\1\22\1\1\1\23\1\24\21\2\1\21\12\2\1\0" + "\1\10\4\2\2\21\11\2\1\21\2\2\1\21\17\2" + "\1\25\10\0\1\1\1\16\1\0\2\17\1\2\3\4" - + "\6\2\1\21\4\2\1\6\1\26\1\6\1\1\1\0" + "\1\27\5\2\1\21\23\2\1\21\11\2\1\27\20\2" + "\1\21\4\2\1\27\12\2\10\0\1\1\1\2\1\30" - + "\2\4\10\2\1\6\1\1\1\31\5\2\1\0\1\32" + "\13\2\1\33\3\2\1\33\40\2\2\0\1\34\2\0" + "\1\35\1\1\1\2\1\4\7\2\1\6\1\1\4\2" - + "\1\21\1\0\17\2\1\33\23\2\4\0\1\1\1\2" + "\1\4\6\2\1\6\1\1\4\2\1\0\35\2\1\1" + "\2\2\1\0\24\2\1\33\1\2\1\21\25\2\1\33" - + "\40\2"; - + private static final String ZZ_ACTION_PACKED_0 = "\3\0\1\1\1\2\2\3\1\2\1\4\1\5\3\2" + + "\1\6\2\1\1\7\2\10\3\2\1\10\7\2\1\11" + "\1\2\5\10\22\2\1\12\1\13\5\12\1\14\3\12" + + "\1\1\1\15\1\3\1\16\1\15\1\16\1\15\1\17" + "\1\15\1\2\1\20\1\4\5\2\1\21\3\2\2\6" + + "\1\22\1\1\1\23\1\24\21\2\1\21\12\2\1\0" + "\1\10\4\2\2\21\11\2\1\21\2\2\1\21\17\2" + + "\1\25\10\0\1\1\1\16\1\0\2\17\1\2\3\4" + "\6\2\1\21\4\2\1\6\1\26\1\6\1\1\1\0" + + "\1\27\5\2\1\21\23\2\1\21\11\2\1\27\20\2" + "\1\21\4\2\1\27\12\2\10\0\1\1\1\2\1\30" + + "\2\4\10\2\1\6\1\1\1\31\5\2\1\0\1\32" + "\13\2\1\33\3\2\1\33\40\2\2\0\1\34\2\0" + + "\1\35\1\1\1\2\1\4\7\2\1\6\1\1\4\2" + "\1\21\1\0\17\2\1\33\23\2\4\0\1\1\1\2" + + "\1\4\6\2\1\6\1\1\4\2\1\0\35\2\1\1" + "\2\2\1\0\24\2\1\33\1\2\1\21\25\2\1\33" + "\40\2"; + private static int[] zzUnpackAction() { int[] result = new int[528]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -110,7 +111,7 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -181,14 +182,14 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\0\u9013\0\u9060\0\u90ad\0\u90fa\0\u9147\0\u9194\0\u91e1\0\u922e" + "\0\u927b\0\u92c8\0\u9315\0\u9362\0\u93af\0\u93fc\0\u9449\0\u9496" + "\0\u94e3\0\u9530\0\u957d\0\u95ca\0\u9617\0\u9664\0\u96b1\0\u96fe"; - + private static int[] zzUnpackRowMap() { int[] result = new int[528]; 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 */ @@ -199,56 +200,72 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\4\2\5\1\6\1\7\1\10\1\6\1\11\1\12" + "\1\4\1\13\1\14\1\15\1\16\1\17\1\20\1\21" - + "\1\22\1\23\1\24\1\5\1\25\1\26\1\5\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\23\1\43\1\23\1\44\1\45" + "\1\44\1\4\1\37\1\5\1\46\1\47\1\50\1\51" - + "\1\5\1\52\1\53\1\5\1\54\2\5\1\21\1\55" + "\1\56\1\57\1\60\1\5\1\61\1\62\1\63\1\64" - + "\1\65\1\5\1\66\1\67\6\5\10\70\1\71\11\70" + "\1\72\3\70\1\73\26\70\1\74\2\70\1\75\34\70" - + "\10\76\1\77\15\76\1\100\26\76\1\101\2\76\1\102" + "\34\76\7\4\2\0\4\4\2\0\1\4\3\0\5\4" - + "\2\0\6\4\13\0\1\4\1\0\14\4\1\0\24\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5" + private static final String ZZ_TRANS_PACKED_0 = "\1\4\2\5\1\6\1\7\1\10\1\6\1\11\1\12" + + "\1\4\1\13\1\14\1\15\1\16\1\17\1\20\1\21" + "\1\22\1\23\1\24\1\5\1\25\1\26\1\5\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\23\1\43\1\23\1\44\1\45" + + "\1\44\1\4\1\37\1\5\1\46\1\47\1\50\1\51" + "\1\5\1\52\1\53\1\5\1\54\2\5\1\21\1\55" + + "\1\56\1\57\1\60\1\5\1\61\1\62\1\63\1\64" + "\1\65\1\5\1\66\1\67\6\5\10\70\1\71\11\70" + + "\1\72\3\70\1\73\26\70\1\74\2\70\1\75\34\70" + "\10\76\1\77\15\76\1\100\26\76\1\101\2\76\1\102" + + "\34\76\7\4\2\0\4\4\2\0\1\4\3\0\5\4" + "\2\0\6\4\13\0\1\4\1\0\14\4\1\0\24\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\3\104\2\6\1\104\1\6\2\0\4\104\2\0\1\104" + "\3\0\1\104\1\105\2\106\1\107\1\0\1\110\2\104" + "\1\107\1\104\1\105\1\104\13\0\1\104\1\0\4\104" + "\1\106\7\104\1\0\1\104\1\106\24\104\1\111\1\112" + "\1\104\1\112\2\0\4\104\2\0\1\104\3\0\1\113" + "\1\105\2\106\1\107\1\0\1\110\2\104\1\107\1\104" + "\1\105\1\104\13\0\1\104\1\0\4\104\1\106\6\104" + "\1\113\1\0\1\104\1\106\21\104\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\7\5\1\114\4\5\1\0\23\5" + "\7\11\1\115\1\11\1\116\103\11\115\0\1\4\6\5" - + "\2\0\1\103\1\5\1\117\1\5\2\0\1\4\3\0" + "\5\5\2\0\5\5\1\120\13\0\1\4\1\0\1\5" + "\1\121\1\122\11\5\1\0\23\5\1\4\6\5\2\0" - + "\1\103\1\123\2\5\2\0\1\4\3\0\5\5\2\0" + "\2\5\1\124\1\125\2\5\13\0\1\4\1\0\7\5" + "\1\126\4\5\1\0\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\127" + "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\10\16" + "\1\130\1\131\3\16\1\132\77\16\7\4\2\0\4\4" - + "\2\0\1\4\3\0\5\4\2\0\6\4\13\0\1\4" + "\1\0\2\4\1\133\11\4\1\0\23\4\20\0\1\21" + "\50\0\1\21\44\0\1\134\1\135\21\0\1\44\114\0" - + "\1\44\50\0\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\7\5\1\136\13\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\3\5" + "\1\137\2\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\1\140\2\5\2\0\1\4" - + "\3\0\5\5\2\0\3\5\1\141\1\5\1\142\13\0" + "\1\4\1\0\2\5\1\143\4\5\1\144\4\5\1\0" + "\23\5\30\0\1\44\13\0\1\44\53\0\2\110\1\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\7\5\1\114\4\5\1\0\23\5" + + "\7\11\1\115\1\11\1\116\103\11\115\0\1\4\6\5" + "\2\0\1\103\1\5\1\117\1\5\2\0\1\4\3\0" + + "\5\5\2\0\5\5\1\120\13\0\1\4\1\0\1\5" + "\1\121\1\122\11\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\1\123\2\5\2\0\1\4\3\0\5\5\2\0" + "\2\5\1\124\1\125\2\5\13\0\1\4\1\0\7\5" + + "\1\126\4\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\127" + + "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\10\16" + "\1\130\1\131\3\16\1\132\77\16\7\4\2\0\4\4" + + "\2\0\1\4\3\0\5\4\2\0\6\4\13\0\1\4" + "\1\0\2\4\1\133\11\4\1\0\23\4\20\0\1\21" + + "\50\0\1\21\44\0\1\134\1\135\21\0\1\44\114\0" + "\1\44\50\0\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\7\5\1\136\13\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\3\5" + "\1\137\2\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\1\140\2\5\2\0\1\4" + "\3\0\5\5\2\0\3\5\1\141\1\5\1\142\13\0" + + "\1\4\1\0\2\5\1\143\4\5\1\144\4\5\1\0" + "\23\5\30\0\1\44\13\0\1\44\53\0\2\110\1\0" + "\1\110\106\0\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\5\1\145\1\146\1\147" - + "\2\5\13\0\1\4\1\0\1\150\6\5\1\151\1\152" + "\3\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\2\5\1\153\1\154" - + "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\4\5\1\155\1\156\13\0\1\4\1\0\12\5" - + "\1\157\1\160\1\0\2\5\1\161\20\5\1\4\6\5" + "\2\0\1\103\1\5\1\162\1\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\4\5\1\162" - + "\7\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\1\157\1\5\1\157" + "\1\163\2\5\13\0\1\4\1\0\7\5\1\164\4\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\1\165\2\5" + "\2\0\1\4\3\0\5\5\2\0\1\166\1\5\1\167" + "\3\5\13\0\1\4\1\0\3\5\1\170\2\5\1\171" - + "\5\5\1\0\23\5\42\0\1\44\1\0\1\44\113\0" + "\1\172\1\44\114\0\1\44\1\0\1\173\112\0\1\44" - + "\4\0\1\44\43\0\1\4\6\5\2\0\1\103\1\174" + "\2\5\2\0\1\4\3\0\5\5\2\0\1\5\1\175" + "\1\5\1\176\1\177\1\5\13\0\1\4\1\0\14\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\200" + "\1\5\2\0\1\4\3\0\3\5\1\201\1\5\2\0" + "\5\5\1\202\13\0\1\4\1\0\11\5\1\203\2\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\1\204\1\5\1\205\11\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\2\5\1\206\3\5\13\0\1\4\1\0\7\5\1\157" + "\1\207\3\5\1\0\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\210" + "\1\211\1\5\13\0\1\4\1\0\7\5\1\212\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\213" - + "\1\5\2\0\1\4\3\0\5\5\2\0\1\5\1\157" + "\4\5\13\0\1\4\1\0\14\5\1\0\2\5\1\214" + "\20\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\3\5\1\215\2\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\157\1\5" - + "\1\216\3\5\13\0\1\4\1\0\7\5\1\217\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\220\2\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\221" + "\2\5\13\0\1\4\1\0\7\5\1\222\4\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\7\5" + "\1\223\4\5\1\0\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\224" + "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\2\5\1\225\3\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\3\5\1\226\2\5\13\0" - + "\1\4\1\0\7\5\1\227\4\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\1\230\2\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\2\5\1\231\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\1\232\1\5\1\233" + "\3\5\13\0\1\4\1\0\7\5\1\234\4\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\2\5\1\235\3\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\10\70\1\0\11\70\1\0" + "\3\70\1\0\26\70\1\0\2\70\1\0\34\70\21\0" - + "\1\236\125\0\1\237\24\0\1\240\67\0\1\241\142\0" + "\1\242\34\0\10\76\1\0\15\76\1\0\26\76\1\0" - + "\2\76\1\0\34\76\32\0\1\243\24\0\1\244\67\0" + "\1\245\142\0\1\246\34\0\7\4\2\0\1\4\1\247" - + "\2\4\2\0\1\4\3\0\5\4\2\0\6\4\13\0" + "\1\4\1\0\14\4\1\0\23\4\7\104\2\0\4\104" + "\2\0\1\104\3\0\5\104\2\0\6\104\13\0\1\104" + + "\2\5\13\0\1\4\1\0\1\150\6\5\1\151\1\152" + "\3\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\2\5\1\153\1\154" + "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\4\5\1\155\1\156\13\0\1\4\1\0\12\5" + + "\1\157\1\160\1\0\2\5\1\161\20\5\1\4\6\5" + "\2\0\1\103\1\5\1\162\1\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\4\5\1\162" + "\7\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\1\157\1\5\1\157" + "\1\163\2\5\13\0\1\4\1\0\7\5\1\164\4\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\1\165\2\5" + "\2\0\1\4\3\0\5\5\2\0\1\166\1\5\1\167" + + "\3\5\13\0\1\4\1\0\3\5\1\170\2\5\1\171" + "\5\5\1\0\23\5\42\0\1\44\1\0\1\44\113\0" + + "\1\172\1\44\114\0\1\44\1\0\1\173\112\0\1\44" + "\4\0\1\44\43\0\1\4\6\5\2\0\1\103\1\174" + + "\2\5\2\0\1\4\3\0\5\5\2\0\1\5\1\175" + "\1\5\1\176\1\177\1\5\13\0\1\4\1\0\14\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\200" + "\1\5\2\0\1\4\3\0\3\5\1\201\1\5\2\0" + + "\5\5\1\202\13\0\1\4\1\0\11\5\1\203\2\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\1\204\1\5\1\205\11\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\2\5\1\206\3\5\13\0\1\4\1\0\7\5\1\157" + + "\1\207\3\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\210" + + "\1\211\1\5\13\0\1\4\1\0\7\5\1\212\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\213" + + "\1\5\2\0\1\4\3\0\5\5\2\0\1\5\1\157" + "\4\5\13\0\1\4\1\0\14\5\1\0\2\5\1\214" + + "\20\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\3\5\1\215\2\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\157\1\5" + + "\1\216\3\5\13\0\1\4\1\0\7\5\1\217\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\220\2\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\221" + "\2\5\13\0\1\4\1\0\7\5\1\222\4\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\7\5" + + "\1\223\4\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\224" + + "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\2\5\1\225\3\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\3\5\1\226\2\5\13\0" + "\1\4\1\0\7\5\1\227\4\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\1\230\2\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\2\5\1\231\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\1\232\1\5\1\233" + + "\3\5\13\0\1\4\1\0\7\5\1\234\4\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\2\5\1\235\3\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\10\70\1\0\11\70\1\0" + + "\3\70\1\0\26\70\1\0\2\70\1\0\34\70\21\0" + "\1\236\125\0\1\237\24\0\1\240\67\0\1\241\142\0" + + "\1\242\34\0\10\76\1\0\15\76\1\0\26\76\1\0" + "\2\76\1\0\34\76\32\0\1\243\24\0\1\244\67\0" + + "\1\245\142\0\1\246\34\0\7\4\2\0\1\4\1\247" + "\2\4\2\0\1\4\3\0\5\4\2\0\6\4\13\0" + + "\1\4\1\0\14\4\1\0\23\4\7\104\2\0\4\104" + "\2\0\1\104\3\0\5\104\2\0\6\104\13\0\1\104" + "\1\0\14\104\1\0\26\104\2\250\1\104\1\250\2\0" + "\4\104\2\0\1\104\3\0\5\104\1\251\1\0\6\104" + "\2\0\1\251\10\0\1\104\1\0\14\104\1\0\26\104" + "\2\110\1\104\1\110\2\0\4\104\2\0\1\104\3\0" + "\2\104\2\106\1\107\2\0\2\104\1\107\3\104\13\0" + "\1\104\1\0\4\104\1\106\7\104\1\0\1\104\1\106" @@ -257,67 +274,97 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\4\104\2\0\1\104\3\0\1\104\1\252\2\106\1\107" + "\1\0\1\110\2\104\1\107\1\104\1\252\1\104\13\0" + "\1\104\1\0\4\104\1\106\7\104\1\0\1\104\1\106" + "\24\104\4\253\2\0\3\104\1\253\2\0\1\104\3\0" + "\2\104\3\253\2\0\2\104\2\253\2\104\13\0\1\104" + "\1\0\4\104\1\253\1\104\1\253\5\104\1\0\1\104" - + "\1\253\1\104\1\253\1\104\1\253\15\104\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\7\5\1\254\4\5\1\0" - + "\23\5\4\255\1\11\1\255\2\11\1\256\1\11\1\257" + "\3\11\10\255\1\11\3\255\2\11\61\255\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\2\5\1\260\1\5\1\261\1\5\13\0\1\4\1\0" + "\4\5\1\262\7\5\1\0\23\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + "\1\157\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\6\5\13\0\1\4\1\0\4\5\1\263" + "\7\5\1\0\23\5\1\4\6\5\2\0\1\103\1\5" + "\1\264\1\5\2\0\1\4\3\0\5\5\2\0\6\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\4\5\1\265\1\5\13\0\1\4\1\0\14\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\3\5" + "\1\266\7\5\1\267\1\0\23\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\270" + "\5\5\13\0\1\4\1\0\11\5\1\271\2\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\1\157\5\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\2\5\1\272\3\5" + + "\1\253\1\104\1\253\1\104\1\253\15\104\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\7\5\1\254\4\5\1\0" + "\23\5\4\255\1\11\1\255\2\11\1\256\1\11\1\257" + + "\3\11\10\255\1\11\3\255\2\11\61\255\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\2\5\1\260\1\5\1\261\1\5\13\0\1\4\1\0" + "\4\5\1\262\7\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + "\1\157\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\4\5\1\263" + + "\7\5\1\0\23\5\1\4\6\5\2\0\1\103\1\5" + "\1\264\1\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\4\5\1\265\1\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\3\5" + "\1\266\7\5\1\267\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\270" + "\5\5\13\0\1\4\1\0\11\5\1\271\2\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\1\157\5\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\2\5\1\272\3\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\11\130\1\273" + "\3\130\1\274\103\130\1\16\1\130\2\16\1\0\1\16" - + "\1\275\3\16\10\130\1\16\3\130\2\16\61\130\7\4" + "\2\0\2\4\1\276\1\4\2\0\1\4\3\0\5\4" + "\2\0\6\4\13\0\1\4\1\0\14\4\1\0\23\4" - + "\22\0\1\277\72\0\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\1\5\1\300\3\5\2\0\6\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\301\5\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\1\5\1\302\1\5\2\0" - + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\4\5\1\303\1\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\6\5\1\304\5\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\1\5\1\305\1\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\306" + "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\1\307\2\5\2\0\1\4\3\0" - + "\5\5\2\0\3\5\1\310\2\5\13\0\1\4\1\0" + "\10\5\1\157\3\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\4\5" - + "\1\311\1\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\1\5\1\312\4\5\13\0\1\4\1\0" - + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\1\5\1\313\4\5" + "\13\0\1\4\1\0\2\5\1\314\11\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\1\315\22\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\1\5\1\316\12\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\317" - + "\5\5\13\0\1\4\1\0\11\5\1\320\2\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\1\5\1\321\1\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\5\5\1\120" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\6\5\1\322\5\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\1\323\5\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\3\5\1\324\2\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\4\5\1\157\7\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\2\5\1\325\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\3\5\1\326\2\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\6\5\13\0\1\4\1\0\1\5\1\327\12\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\3\5\1\330\2\5\13\0\1\4" - + "\1\0\7\5\1\331\4\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\332\5\5\13\0\1\4\1\0\14\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\2\5\1\333" + "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\1\5\1\334\4\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\44\0\1\44" + "\1\0\1\23\46\0\1\4\6\5\2\0\1\103\2\5" - + "\1\335\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" - + "\1\336\3\5\13\0\1\4\1\0\2\5\1\337\4\5" + "\1\340\4\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\341" - + "\4\5\13\0\1\4\1\0\6\5\1\342\5\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\3\5\1\343\2\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\344\5\5" + "\13\0\1\4\1\0\6\5\1\345\5\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\1\5\1\346\21\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\1\5\1\347\6\5\1\350\12\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\6\5\13\0\1\4\1\0\1\5\1\351" + "\12\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" - + "\1\0\2\5\1\352\11\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\353\5\5\13\0\1\4\1\0\14\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\3\5\1\354\1\5\2\0\4\5\1\355\1\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" - + "\1\103\1\5\1\356\1\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\1\357\3\5\1\324\1\120\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\360" - + "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\1\5\1\361\1\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\3\5\1\362\17\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + "\1\363\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\6\5\13\0\1\4\1\0\13\5\1\364" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\365\5\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\366\5\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\1\5\1\367\1\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\1\5\1\157\4\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" - + "\1\4\1\0\2\5\1\162\11\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\4\5\1\370\1\5\13\0\1\4\1\0\14\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\5\1\371\4\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\10\5\1\372\3\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\1\373\5\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\374\2\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" - + "\1\0\14\5\1\0\2\5\1\375\20\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\4\5\1\376\1\5\13\0\1\4\1\0\11\5\1\377" - + "\2\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\12\5\1\u0100\10\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\5\1\u0101\4\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\4\5\1\u0102\1\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\1\u0103\2\5\2\0\1\4\3\0\5\5\2\0\6\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\6\5\1\u0104\5\5\1\0" - + "\23\5\56\0\1\u0105\74\0\1\u0106\110\0\1\u0107\142\0" + "\1\u0108\112\0\1\u0109\74\0\1\u010a\110\0\1\u010b\142\0" + + "\1\275\3\16\10\130\1\16\3\130\2\16\61\130\7\4" + "\2\0\2\4\1\276\1\4\2\0\1\4\3\0\5\4" + + "\2\0\6\4\13\0\1\4\1\0\14\4\1\0\23\4" + "\22\0\1\277\72\0\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\1\5\1\300\3\5\2\0\6\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\301\5\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\1\5\1\302\1\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\4\5\1\303\1\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\6\5\1\304\5\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\1\5\1\305\1\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\306" + "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\1\307\2\5\2\0\1\4\3\0" + "\5\5\2\0\3\5\1\310\2\5\13\0\1\4\1\0" + + "\10\5\1\157\3\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\4\5" + + "\1\311\1\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\1\5\1\312\4\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\1\5\1\313\4\5" + "\13\0\1\4\1\0\2\5\1\314\11\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + + "\1\315\22\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + + "\1\5\1\316\12\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\317" + + "\5\5\13\0\1\4\1\0\11\5\1\320\2\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\1\5\1\321\1\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\5\5\1\120" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\6\5\1\322\5\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\1\323\5\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\3\5\1\324\2\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\4\5\1\157\7\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\2\5\1\325\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\3\5\1\326\2\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\1\5\1\327\12\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\3\5\1\330\2\5\13\0\1\4" + + "\1\0\7\5\1\331\4\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\1\332\5\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\2\5\1\333" + "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\1\5\1\334\4\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\44\0\1\44" + + "\1\0\1\23\46\0\1\4\6\5\2\0\1\103\2\5" + "\1\335\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + + "\1\336\3\5\13\0\1\4\1\0\2\5\1\337\4\5" + "\1\340\4\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\341" + "\4\5\13\0\1\4\1\0\6\5\1\342\5\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\3\5\1\343\2\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\344\5\5" + + "\13\0\1\4\1\0\6\5\1\345\5\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\1\5\1\346\21\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\1\5\1\347\6\5\1\350\12\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\1\5\1\351" + + "\12\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\2\5\1\352\11\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\1\353\5\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\3\5\1\354\1\5\2\0\4\5\1\355\1\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\1\5\1\356\1\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\1\357\3\5\1\324\1\120\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\360" + + "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\1\5\1\361\1\5\2\0\1\4" + + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\3\5\1\362\17\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + "\1\363\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\13\5\1\364" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\365\5\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\366\5\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\1\5\1\367\1\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\1\5\1\157\4\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\2\5\1\162\11\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\4\5\1\370\1\5\13\0\1\4\1\0\14\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\5\1\371\4\5\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\10\5\1\372\3\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\1\373\5\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\374\2\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\2\5\1\375\20\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\4\5\1\376\1\5\13\0\1\4\1\0\11\5\1\377" + + "\2\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\14\5\1\0\12\5\1\u0100\10\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\1\5\1\u0101\4\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\4\5\1\u0102\1\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\1\u0103\2\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\6\5\1\u0104\5\5\1\0" + + "\23\5\56\0\1\u0105\74\0\1\u0106\110\0\1\u0107\142\0" + + "\1\u0108\112\0\1\u0109\74\0\1\u010a\110\0\1\u010b\142\0" + "\1\u010c\34\0\3\4\4\u010d\2\0\3\4\1\u010d\2\0" + "\1\4\3\0\2\4\3\u010d\2\0\2\4\2\u010d\2\4" + "\13\0\1\4\1\0\4\4\1\u010d\1\4\1\u010d\5\4" + "\1\0\1\4\1\u010d\1\4\1\u010d\1\4\1\u010d\15\4" + "\3\104\2\250\1\104\1\250\2\0\4\104\2\0\1\104" + "\3\0\2\104\2\106\1\104\2\0\6\104\13\0\1\104" @@ -325,283 +372,412 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\3\104\1\253\2\0\1\104\3\0\1\104\1\252\3\253" + "\2\0\2\104\2\253\1\252\1\104\13\0\1\104\1\0" + "\4\104\1\253\1\104\1\253\5\104\1\0\1\104\1\253" + "\1\104\1\253\1\104\1\253\15\104\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\4\5" + "\1\u010e\1\5\13\0\1\4\1\0\14\5\1\0\23\5" - + "\7\255\1\u010f\1\255\1\u0110\103\255\7\256\1\u010f\105\256" + "\3\255\4\u0111\1\u010f\1\255\1\u0110\2\255\1\u0111\10\255" - + "\3\u0111\4\255\2\u0111\23\255\1\u0111\1\255\1\u0111\7\255" + "\1\u0111\1\255\1\u0111\1\255\1\u0111\15\255\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\5\5\1\156\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u0112" + "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u0113\3\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\3\5\1\u0114\2\5\13\0\1\4\1\0\14\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\1\372\5\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\4\5\1\157\1\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\4\5\1\u0115\1\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\1\u0116\5\5\13\0\1\4\1\0" - + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u0117\11\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\2\5\1\u0118\3\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\3\5\1\u0119\2\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\10\130\1\0\107\130\4\u011a" - + "\2\130\1\273\2\130\1\u011a\1\274\7\130\3\u011a\4\130" + "\2\u011a\23\130\1\u011a\1\130\1\u011a\7\130\1\u011a\1\130" + + "\7\255\1\u010f\1\255\1\u0110\103\255\7\256\1\u010f\105\256" + + "\3\255\4\u0111\1\u010f\1\255\1\u0110\2\255\1\u0111\10\255" + + "\3\u0111\4\255\2\u0111\23\255\1\u0111\1\255\1\u0111\7\255" + + "\1\u0111\1\255\1\u0111\1\255\1\u0111\15\255\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\5\5\1\156\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u0112" + "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u0113\3\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\3\5\1\u0114\2\5\13\0\1\4\1\0\14\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\1\372\5\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\4\5\1\157\1\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\4\5\1\u0115\1\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\1\u0116\5\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u0117\11\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\2\5\1\u0118\3\5\13\0\1\4\1\0\14\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\3\5\1\u0119\2\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\10\130\1\0\107\130\4\u011a" + "\2\130\1\273\2\130\1\u011a\1\274\7\130\3\u011a\4\130" + + "\2\u011a\23\130\1\u011a\1\130\1\u011a\7\130\1\u011a\1\130" + "\1\u011a\1\130\1\u011a\15\130\7\4\2\0\4\4\2\0" + "\1\4\3\0\5\4\2\0\6\4\13\0\1\4\1\0" - + "\6\4\1\u011b\5\4\1\0\23\4\21\0\1\u011c\73\0" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" - + "\10\5\1\u011d\2\5\1\u011e\7\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + "\1\372\3\5\13\0\1\4\1\0\14\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\u011f" + "\5\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\5\5\1\307\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" - + "\13\0\1\4\1\0\7\5\1\u0120\4\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\3\5\1\u0121\2\5\13\0\1\4\1\0" - + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\u0122\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u0123" + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\6\5\13\0\1\4\1\0\6\5\1\u0124\5\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\4\5\1\u0125\1\5\13\0" - + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\14\5\1\0\1\u0126\22\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\7\5\1\u0127\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\5\5\1\157\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" - + "\1\4\1\0\14\5\1\0\1\u0128\22\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\2\5\1\u0129\3\5\13\0\1\4\1\0\14\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\1\u012a\2\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\7\5\1\u012b\4\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\6\5\13\0\1\4\1\0\4\5\1\u012c\7\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\3\5\1\u012d\2\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u012e" + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\4\5\1\u012f\1\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\2\5\1\265\3\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" - + "\13\0\1\4\1\0\4\5\1\u0130\7\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\2\5\1\221\3\5\13\0\1\4\1\0" - + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\1\u0131\1\u0132\4\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\1\5\1\u0133\12\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\15\5\1\u0134\5\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\357\5\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\7\5\1\u0135\4\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\4\5\1\u0131\1\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\2\5\1\u0116\20\5\1\4" + "\6\5\2\0\1\103\1\5\1\u0136\1\5\2\0\1\4" - + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\2\5\1\u0137\20\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\u0138\5\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\5\5\1\u0139\13\0\1\4\1\0\14\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\5\5\1\u013a" + "\6\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\10\5\1\u012f\3\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\2\5\1\u013b\3\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\4\5\1\u013c\1\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\u013d" + "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\2\5\1\u013e\11\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\3\5\1\u013f\2\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\4\5" - + "\1\u0140\1\5\13\0\1\4\1\0\7\5\1\u0141\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\4\5\1\120\1\5\13\0" - + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\1\157\13\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\3\5\1\u0142\2\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\2\5\1\u0143\3\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\3\5" - + "\1\u0144\2\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\353" - + "\5\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\5\5\1\314\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\u0145" + "\4\5\1\126\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\4\5\1\u0146\1\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\1\5\1\u0147\4\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\5\5\1\u0148\13\0\1\4\1\0\14\5\1\0\23\5" + + "\6\4\1\u011b\5\4\1\0\23\4\21\0\1\u011c\73\0" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\10\5\1\u011d\2\5\1\u011e\7\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + "\1\372\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\u011f" + + "\5\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\5\5\1\307\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\7\5\1\u0120\4\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\3\5\1\u0121\2\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\u0122\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u0123" + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\6\5\1\u0124\5\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\4\5\1\u0125\1\5\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\14\5\1\0\1\u0126\22\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\7\5\1\u0127\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\5\5\1\157\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\1\u0128\22\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\2\5\1\u0129\3\5\13\0\1\4\1\0\14\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\1\u012a\2\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\7\5\1\u012b\4\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\4\5\1\u012c\7\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\3\5\1\u012d\2\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u012e" + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\4\5\1\u012f\1\5\13\0\1\4\1\0\14\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\2\5\1\265\3\5\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\4\5\1\u0130\7\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\2\5\1\221\3\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\1\u0131\1\u0132\4\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\1\5\1\u0133\12\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + + "\1\0\15\5\1\u0134\5\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\357\5\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\7\5\1\u0135\4\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\4\5\1\u0131\1\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\2\5\1\u0116\20\5\1\4" + + "\6\5\2\0\1\103\1\5\1\u0136\1\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + + "\1\0\2\5\1\u0137\20\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\u0138\5\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\5\5\1\u0139\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\5\5\1\u013a" + "\6\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\10\5\1\u012f\3\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\2\5\1\u013b\3\5\13\0\1\4\1\0\14\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\4\5\1\u013c\1\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\u013d" + + "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\2\5\1\u013e\11\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\3\5\1\u013f\2\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\4\5" + "\1\u0140\1\5\13\0\1\4\1\0\7\5\1\u0141\4\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\4\5\1\120\1\5\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\1\157\13\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\3\5\1\u0142\2\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\2\5\1\u0143\3\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\3\5" + "\1\u0144\2\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\353" + + "\5\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\5\5\1\314\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\u0145" + + "\4\5\1\126\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\4\5\1\u0146\1\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\1\5\1\u0147\4\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\5\5\1\u0148\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\4\5\1\u0149\7\5\1\u014a\1\u0134\1\u014b\4\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\6\5\13\0\1\4\1\0\7\5\1\u014c\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" - + "\6\5\1\u014d\5\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\7\5\1\u014e\4\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\3\5\1\225\2\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\1\372\13\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\5\5" - + "\1\301\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\2\5\1\u014f\11\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\4\5\1\372\1\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" - + "\1\103\2\5\1\u0150\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\2\5\1\u0151\3\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" - + "\2\5\1\u0152\11\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + "\1\367\3\5\13\0\1\4\1\0\14\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\1\5\1\u0153\1\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\6\5\13\0\1\4\1\0\7\5\1\u014c\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\6\5\1\u014d\5\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\7\5\1\u014e\4\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\3\5\1\225\2\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\1\372\13\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\5\5" + + "\1\301\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\2\5\1\u014f\11\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\4\5\1\372\1\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\2\5\1\u0150\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\2\5\1\u0151\3\5\13\0\1\4\1\0\14\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + + "\2\5\1\u0152\11\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + + "\1\367\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\1\5\1\u0153\1\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\1\370\5\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\52\0\1\u0154\76\0" - + "\1\u0105\136\0\1\u0155\67\0\1\u0156\135\0\1\u0157\76\0" + "\1\u0109\136\0\1\u0158\67\0\1\u0159\63\0\3\4\4\u015a" - + "\2\0\3\4\1\u015a\2\0\1\4\3\0\2\4\3\u015a" + "\2\0\2\4\2\u015a\2\4\13\0\1\4\1\0\4\4" - + "\1\u015a\1\4\1\u015a\5\4\1\0\1\4\1\u015a\1\4" + "\1\u015a\1\4\1\u015a\16\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u015b\3\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\10\255\1\256" - + "\107\255\4\u015c\1\u010f\1\255\1\u0110\2\255\1\u015c\10\255" + "\3\u015c\4\255\2\u015c\23\255\1\u015c\1\255\1\u015c\7\255" + + "\1\u0105\136\0\1\u0155\67\0\1\u0156\135\0\1\u0157\76\0" + + "\1\u0109\136\0\1\u0158\67\0\1\u0159\63\0\3\4\4\u015a" + "\2\0\3\4\1\u015a\2\0\1\4\3\0\2\4\3\u015a" + + "\2\0\2\4\2\u015a\2\4\13\0\1\4\1\0\4\4" + "\1\u015a\1\4\1\u015a\5\4\1\0\1\4\1\u015a\1\4" + + "\1\u015a\1\4\1\u015a\16\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u015b\3\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\10\255\1\256" + "\107\255\4\u015c\1\u010f\1\255\1\u0110\2\255\1\u015c\10\255" + + "\3\u015c\4\255\2\u015c\23\255\1\u015c\1\255\1\u015c\7\255" + "\1\u015c\1\255\1\u015c\1\255\1\u015c\15\255\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\3\5\1\u015d\2\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\3\5\1\u015e\1\5\2\0\6\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\u015f\5\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\2\5\1\u0160\11\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\1\5\1\u0161\11\5\1\u0162\7\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\6\5\13\0\1\4\1\0\14\5\1\0\2\5\1\120" + "\20\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\5\5\1\u0163\13\0\1\4\1\0" - + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\5\5\1\157\6\5\1\0\23\5\3\130\4\u0164" - + "\2\130\1\273\2\130\1\u0164\1\274\7\130\3\u0164\4\130" + "\2\u0164\23\130\1\u0164\1\130\1\u0164\7\130\1\u0164\1\130" + + "\3\5\1\u015d\2\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\3\5\1\u015e\1\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\1\u015f\5\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\2\5\1\u0160\11\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + + "\1\0\1\5\1\u0161\11\5\1\u0162\7\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\14\5\1\0\2\5\1\120" + "\20\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\5\5\1\u0163\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\5\5\1\157\6\5\1\0\23\5\3\130\4\u0164" + + "\2\130\1\273\2\130\1\u0164\1\274\7\130\3\u0164\4\130" + + "\2\u0164\23\130\1\u0164\1\130\1\u0164\7\130\1\u0164\1\130" + "\1\u0164\1\130\1\u0164\15\130\7\4\2\0\4\4\2\0" + "\1\4\3\0\5\4\2\0\4\4\1\u0165\1\4\13\0" - + "\1\4\1\0\14\4\1\0\24\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\7\5\1\u0166\4\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\7\5\1\u0167\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\1\u0168\5\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" - + "\1\4\1\0\11\5\1\u0169\2\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\4\5\1\u016a\1\5\13\0\1\4\1\0\14\5" - + "\1\0\23\5\34\0\1\u016b\60\0\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + "\1\u012f\3\5\13\0\1\4\1\0\14\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\4\5\1\u016c\16\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u016d\3\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\6\5\13\0\1\4\1\0\3\5\1\157\10\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\4\5\1\u016e\1\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\7\5\1\u016f\4\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\1\5\1\u0170\4\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\2\5\1\u0171\20\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" - + "\13\0\1\4\1\0\7\5\1\u0172\4\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\1\5\1\u0124" - + "\12\5\1\0\23\5\1\4\6\5\2\0\1\103\1\5" + "\1\u0173\1\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\7\5\1\u0174" + "\4\5\1\u0175\6\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u0176\11\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\1\u0177\5\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\2\5\1\u0178\2\5\2\0\6\5\13\0\1\4\1\0" - + "\14\5\1\0\5\5\1\u0179\15\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\5" + "\1\u017a\4\5\13\0\1\4\1\0\14\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\4\5\1\324\1\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\1\u017b\5\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\3\5" - + "\1\u0143\2\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\2\5\1\u017c\3\5\13\0\1\4\1\0" - + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u017d\3\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\3\5\1\u017e\2\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\1\5\1\u017f\4\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\1\u0180\2\5\2\0\1\4\3\0\5\5\2\0\6\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\3\5\1\u0181\2\5\13\0\1\4\1\0\14\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\1\5\1\u0182\1\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\10\5\1\u012f\12\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\2\5\1\u0183\3\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\5\1\126\4\5\13\0" - + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\1\u0184\2\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\1\120\5\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\11\5" + "\1\u0131\2\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" - + "\1\4\1\0\2\5\1\u0185\11\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\2\5\1\u0186\11\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\5\1\u0187\4\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\6\5\1\171\5\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\6\5\13\0\1\4\1\0\2\5\1\u0188" + "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u0189\3\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\17\5\1\u018a" - + "\3\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\5\5\1\u018b\15\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\1\u018c\5\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\1\5\1\372\4\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\2\5\1\u018d\3\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u014e" + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\6\5\1\264\5\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\u018e" - + "\1\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" - + "\13\0\1\4\1\0\4\5\1\372\7\5\1\0\23\5" + "\21\0\1\u018f\132\0\1\u0105\12\0\1\u0154\43\0\1\u0156" - + "\1\u0190\4\u0156\1\u0190\2\0\3\u0156\2\0\1\u0190\1\0" + "\1\u0156\1\u0190\5\u0156\2\u0190\6\u0156\1\0\2\u0190\1\0" - + "\1\u0190\2\0\6\u0190\14\u0156\1\0\23\u0156\21\0\1\u0191" + "\132\0\1\u0109\12\0\1\u0157\43\0\1\u0159\1\u0192\4\u0159" - + "\1\u0192\2\0\3\u0159\2\0\1\u0192\1\0\1\u0159\1\u0192" + "\5\u0159\2\u0192\6\u0159\1\0\2\u0192\1\0\1\u0192\2\0" + + "\1\4\1\0\14\4\1\0\24\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\7\5\1\u0166\4\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\7\5\1\u0167\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\1\u0168\5\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\11\5\1\u0169\2\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\4\5\1\u016a\1\5\13\0\1\4\1\0\14\5" + + "\1\0\23\5\34\0\1\u016b\60\0\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + + "\1\u012f\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\4\5\1\u016c\16\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u016d\3\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\3\5\1\157\10\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\4\5\1\u016e\1\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\7\5\1\u016f\4\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\1\5\1\u0170\4\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\2\5\1\u0171\20\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\7\5\1\u0172\4\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\1\5\1\u0124" + + "\12\5\1\0\23\5\1\4\6\5\2\0\1\103\1\5" + "\1\u0173\1\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\14\5\1\0\7\5\1\u0174" + "\4\5\1\u0175\6\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u0176\11\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\u0177\5\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\2\5\1\u0178\2\5\2\0\6\5\13\0\1\4\1\0" + + "\14\5\1\0\5\5\1\u0179\15\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\5" + + "\1\u017a\4\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\4\5\1\324\1\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\1\u017b\5\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\3\5" + "\1\u0143\2\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\2\5\1\u017c\3\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u017d\3\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\3\5\1\u017e\2\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\1\5\1\u017f\4\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\1\u0180\2\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\3\5\1\u0181\2\5\13\0\1\4\1\0\14\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\1\5\1\u0182\1\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\14\5\1\0\10\5\1\u012f\12\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\2\5\1\u0183\3\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\1\5\1\126\4\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\1\u0184\2\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\1\120\5\5\13\0\1\4\1\0\14\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\11\5" + + "\1\u0131\2\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\2\5\1\u0185\11\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\2\5\1\u0186\11\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\1\5\1\u0187\4\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\6\5\1\171\5\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\2\5\1\u0188" + + "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u0189\3\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\14\5\1\0\17\5\1\u018a" + "\3\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\5\5\1\u018b\15\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\1\u018c\5\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\5\1\372\4\5\13\0\1\4\1\0\14\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\2\5\1\u018d\3\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u014e" + + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\6\5\1\264\5\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\u018e" + + "\1\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\4\5\1\372\7\5\1\0\23\5" + + "\21\0\1\u018f\132\0\1\u0105\12\0\1\u0154\43\0\1\u0156" + + "\1\u0190\4\u0156\1\u0190\2\0\3\u0156\2\0\1\u0190\1\0" + + "\1\u0156\1\u0190\5\u0156\2\u0190\6\u0156\1\0\2\u0190\1\0" + + "\1\u0190\2\0\6\u0190\14\u0156\1\0\23\u0156\21\0\1\u0191" + + "\132\0\1\u0109\12\0\1\u0157\43\0\1\u0159\1\u0192\4\u0159" + + "\1\u0192\2\0\3\u0159\2\0\1\u0192\1\0\1\u0159\1\u0192" + + "\5\u0159\2\u0192\6\u0159\1\0\2\u0192\1\0\1\u0192\2\0" + "\6\u0192\14\u0159\1\0\23\u0159\3\4\4\u0193\2\0\3\4" + "\1\u0193\2\0\1\4\3\0\2\4\3\u0193\2\0\2\4" + "\2\u0193\2\4\13\0\1\4\1\0\4\4\1\u0193\1\4" + "\1\u0193\5\4\1\0\1\4\1\u0193\1\4\1\u0193\1\4" + "\1\u0193\16\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\3\5\1\u0194\2\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\3\255\4\u0195\1\u010f\1\255" + "\1\u0110\2\255\1\u0195\10\255\3\u0195\4\255\2\u0195\23\255" + + "\1\0\14\5\1\0\23\5\3\255\4\u0195\1\u010f\1\255" + + "\1\u0110\2\255\1\u0195\10\255\3\u0195\4\255\2\u0195\23\255" + "\1\u0195\1\255\1\u0195\7\255\1\u0195\1\255\1\u0195\1\255" + "\1\u0195\15\255\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\4\5\1\u0196\7\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" - + "\13\0\1\4\1\0\2\5\1\u0197\11\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\2\5\1\u0198\3\5\13\0\1\4\1\0" - + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\1\5" + "\1\u0124\1\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\5\1\u0199\4\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\6\5" + "\1\u019a\5\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" - + "\1\4\1\0\1\5\1\u019b\12\5\1\0\23\5\3\130" + "\4\u019c\2\130\1\273\2\130\1\u019c\1\274\7\130\3\u019c" - + "\4\130\2\u019c\23\130\1\u019c\1\130\1\u019c\7\130\1\u019c" + "\1\130\1\u019c\1\130\1\u019c\15\130\7\4\2\0\1\4" - + "\1\u019d\2\4\2\0\1\4\3\0\5\4\2\0\6\4" + "\13\0\1\4\1\0\14\4\1\0\24\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" - + "\13\0\1\4\1\0\4\5\1\301\7\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\u019e" - + "\5\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u019f\11\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\11\5\1\u01a0\2\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\4\5\1\u01a1\1\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\35\0\1\u01a2\57\0\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\3\5\1\u01a3\2\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\u01a4\5\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u01a5" + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\3\5" + "\1\157\1\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\157" - + "\1\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" - + "\1\u01a6\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\11\5\1\u012f" - + "\2\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\4\5\1\314\7\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\7\5\1\u01a7\4\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\3\5\1\u01a8\2\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" - + "\1\4\1\0\6\5\1\157\5\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\2\5" + "\1\u0178\2\5\2\0\6\5\13\0\1\4\1\0\14\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\5\1\u01a9\4\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\4\5" + "\1\u01aa\1\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u01ab" + "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" - + "\1\0\14\5\1\0\5\5\1\u01ac\2\5\1\u01ad\12\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\u01ae" - + "\5\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\1\5\1\u01af\16\5\1\u01b0\2\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\1\120\22\5\1\4\6\5\2\0\1\103\1\5\1\u01b1" - + "\1\5\2\0\1\4\3\0\3\5\1\u019b\1\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\6\5\13\0\1\4\1\0\4\5\1\120\7\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" - + "\11\5\1\u01b2\2\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\2\5\1\u01b3\11\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\11\5\1\u01b4" + "\2\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\4\5\1\126\1\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\1\5\1\u01b5\1\5\2\0\1\4\3\0" - + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\1\5" - + "\1\u01b6\12\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\2\5\1\u0180\11\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\11\5\1\u01b7\2\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\1\5\1\u01b8\4\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\1\5\1\u012f\3\5" - + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\1\5\1\u01b9\1\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" - + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u01ba\11\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\3\5\1\u01bb" + "\17\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\1\372\22\5\21\0\1\u0156\114\0\1\u0159\73\0" + "\3\4\4\5\2\0\3\4\1\5\2\0\1\4\3\0" - + "\2\4\3\5\2\0\2\4\2\5\2\4\13\0\1\4" + "\1\0\4\4\1\5\1\4\1\5\5\4\1\0\1\4" + "\1\5\1\4\1\5\1\4\1\5\16\4\6\5\2\0" - + "\1\103\1\5\1\372\1\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5" - + "\3\255\4\11\1\u010f\1\255\1\u0110\2\255\1\11\10\255" + "\3\11\4\255\2\11\23\255\1\11\1\255\1\11\7\255" - + "\1\11\1\255\1\11\1\255\1\11\15\255\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\7\5\1\u0174" - + "\13\5\1\4\6\5\2\0\1\103\1\5\1\u01bc\1\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\5\5\1\u01bd\15\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\3\5\1\u01be\2\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\2\5\1\u0160\3\5\13\0" - + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\3\5" + "\1\u01bf\2\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\4\5\1\u0196\7\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\2\5\1\u0197\11\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\2\5\1\u0198\3\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\1\5" + "\1\u0124\1\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\1\5\1\u0199\4\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\6\5" + "\1\u019a\5\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\1\5\1\u019b\12\5\1\0\23\5\3\130" + + "\4\u019c\2\130\1\273\2\130\1\u019c\1\274\7\130\3\u019c" + + "\4\130\2\u019c\23\130\1\u019c\1\130\1\u019c\7\130\1\u019c" + + "\1\130\1\u019c\1\130\1\u019c\15\130\7\4\2\0\1\4" + "\1\u019d\2\4\2\0\1\4\3\0\5\4\2\0\6\4" + + "\13\0\1\4\1\0\14\4\1\0\24\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\4\5\1\301\7\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\u019e" + "\5\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u019f\11\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\11\5\1\u01a0\2\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\4\5\1\u01a1\1\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\35\0\1\u01a2\57\0\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\3\5\1\u01a3\2\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\1\u01a4\5\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u01a5" + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\3\5" + "\1\157\1\5\2\0\6\5\13\0\1\4\1\0\14\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\157" + "\1\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + + "\1\u01a6\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\11\5\1\u012f" + "\2\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\4\5\1\314\7\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\7\5\1\u01a7\4\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\3\5\1\u01a8\2\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\6\5\1\157\5\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\2\5" + + "\1\u0178\2\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\1\5\1\u01a9\4\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\4\5" + "\1\u01aa\1\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u01ab" + + "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\14\5\1\0\5\5\1\u01ac\2\5\1\u01ad\12\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\u01ae" + "\5\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\1\5\1\u01af\16\5\1\u01b0\2\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + + "\1\120\22\5\1\4\6\5\2\0\1\103\1\5\1\u01b1" + "\1\5\2\0\1\4\3\0\3\5\1\u019b\1\5\2\0" + + "\6\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\4\5\1\120\7\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\11\5\1\u01b2\2\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\2\5\1\u01b3\11\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\11\5\1\u01b4" + + "\2\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\4\5\1\126\1\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\1\5\1\u01b5\1\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\1\5" + "\1\u01b6\12\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\2\5\1\u0180\11\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\11\5\1\u01b7\2\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\5\1\u01b8\4\5\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\1\5\1\u012f\3\5" + + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\1\5\1\u01b9\1\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u01ba\11\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\3\5\1\u01bb" + + "\17\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + + "\1\0\1\372\22\5\21\0\1\u0156\114\0\1\u0159\73\0" + "\3\4\4\5\2\0\3\4\1\5\2\0\1\4\3\0" + + "\2\4\3\5\2\0\2\4\2\5\2\4\13\0\1\4" + "\1\0\4\4\1\5\1\4\1\5\5\4\1\0\1\4" + + "\1\5\1\4\1\5\1\4\1\5\16\4\6\5\2\0" + "\1\103\1\5\1\372\1\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\3\255\4\11\1\u010f\1\255\1\u0110\2\255\1\11\10\255" + + "\3\11\4\255\2\11\23\255\1\11\1\255\1\11\7\255" + "\1\11\1\255\1\11\1\255\1\11\15\255\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\7\5\1\u0174" + + "\13\5\1\4\6\5\2\0\1\103\1\5\1\u01bc\1\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\14\5\1\0\5\5\1\u01bd\15\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\3\5\1\u01be\2\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\2\5\1\u0160\3\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\3\5" + "\1\u01bf\2\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\3\130\4\16\2\130\1\273\2\130\1\16\1\274\7\130" + "\3\16\4\130\2\16\23\130\1\16\1\130\1\16\7\130" - + "\1\16\1\130\1\16\1\130\1\16\15\130\7\4\2\0" + "\4\4\2\0\1\4\3\0\5\4\2\0\6\4\13\0" + "\1\4\1\0\4\4\1\u01c0\7\4\1\0\24\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\5\5\1\u01c1\6\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\7\5" + "\1\u0170\4\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\u01c2" - + "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\10\5\1\157\3\5" - + "\1\0\23\5\63\0\1\u01c3\31\0\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\5" + "\1\u01c4\4\5\13\0\1\4\1\0\14\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\15\5\1\u01c5\5\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\21\5\1\u01c6\1\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\6\5\13\0\1\4\1\0\14\5\1\0\7\5\1\u01c7" + "\13\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" - + "\1\0\2\5\1\u01c8\20\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\u01c9" + "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\3\5\1\u01ca\2\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\4\5\1\u01cb\1\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" - + "\13\0\1\4\1\0\1\5\1\u01cc\12\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\5\5\1\u01cd\13\0\1\4\1\0\14\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\1\u0172\2\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\1\u01bc\5\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\4\5\1\u01ce\1\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\1\5\1\u01cf\1\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\265" + "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\2\5\1\u01d0\3\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\1\u0124\5\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u01d1" - + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\1\120\2\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\4\5\1\u01d2\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u01d3\3\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\5\5\1\u01d4\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\4\5\1\u01d5" - + "\7\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\7\5\1\u0194\4\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\4\5\1\u01d6\1\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\2\5\1\162\3\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\3\5\1\u01d7\1\5\2\0" - + "\6\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\11\5\1\u0124\2\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\6\5\1\120\5\5\1\0\23\5\7\4\2\0\4\4" - + "\2\0\1\4\3\0\5\4\2\0\2\4\1\u01d8\3\4" + "\13\0\1\4\1\0\14\4\1\0\24\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" - + "\1\264\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\1\5\1\u01d9\1\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" - + "\14\5\1\0\23\5\55\0\1\u01da\37\0\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\1\u01db\22\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\3\5\1\u01dc\2\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u01dd\11\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\6\5\13\0\1\4\1\0\7\5\1\u01de\4\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\2\5" - + "\1\u01df\11\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\2\5\1\u01e0\11\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\1\u012f" + "\22\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\13\5\1\u01e1\7\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u01e2" - + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\4\5\1\u01e3\1\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\7\5\1\u01e4\4\5\1\0\23\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\u012f" + "\5\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\1\5" - + "\1\u01e5\3\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\u01e6" + "\1\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" - + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\14\5\1\0\2\5\1\u01e7\20\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\1\5\1\u012f\4\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u01e8\11\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\6\5\13\0\1\4\1\0\14\5\1\0\13\5\1\u01e9" + "\1\5\1\u01ea\5\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" - + "\1\0\2\5\1\u01eb\11\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\u01ec\5\5\13\0\1\4\1\0\14\5\1\0\23\5" - + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\4\5\1\u012f" + "\7\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" - + "\2\0\1\4\3\0\5\5\2\0\2\5\1\126\3\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" - + "\1\u01ed\5\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" - + "\1\u01ee\22\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\2\5\1\u01ef\20\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + "\1\u01f0\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\3\5\1\u01f1\2\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" - + "\1\0\7\5\1\u01f2\4\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\5\1\u01f3\4\5\13\0\1\4\1\0\14\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\2\5" + "\1\u01f4\11\5\1\0\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\u01cf" + "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\6\5\13\0\1\4\1\0\7\5\1\u01f5\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\314\5\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u01f6" + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\7\5\1\u01f7\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\1\u01f8\5\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\4\5\1\177" - + "\1\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\1\5\1\372\12\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\2\5\1\u01f9\3\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\1\u012f\13\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\6\5\13\0\1\4\1\0\1\u01fa\13\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\2\5" - + "\1\u01fb\11\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\10\5\1\u01ad\12\5\1\4" - + "\6\5\2\0\1\103\2\5\1\u01fc\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\1\u01fd\2\5\2\0" - + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\1\343\5\5\13\0" - + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\u01fe" + "\5\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\3\5\1\u01ff\2\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\126" - + "\1\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\1\5\1\u012f\1\5\2\0\1\4\3\0\5\5" - + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u0200" - + "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\1\5\1\u0201\4\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\22\5\1\u0202" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\2\5\1\u0203\3\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\4\5\1\u0204\1\5" - + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\1\5\1\u0205\1\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" - + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\11\5" + "\1\u0206\2\5\1\0\23\5\1\4\6\5\2\0\1\103" - + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\4\5\1\u01bc\7\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" - + "\2\0\6\5\13\0\1\4\1\0\1\5\1\u012f\12\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\4\5\1\u0207\2\0\6\5\13\0\1\4" - + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\1\u0208\2\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" - + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\3\5\1\u0209" + "\17\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" - + "\3\0\5\5\2\0\2\5\1\u020a\3\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" - + "\1\4\1\0\4\5\1\u020b\7\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\3\5\1\u020c\2\5\13\0\1\4\1\0\14\5" - + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\2\5\1\u020d\20\5\1\4\6\5\2\0" - + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\3\5" + "\1\u020e\2\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" - + "\5\5\2\0\4\5\1\u020f\1\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\5\5\1\u01f0\13\0" - + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\5\5" + "\1\u012f\13\0\1\4\1\0\14\5\1\0\23\5\1\4" - + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\1\5\1\u01f0\12\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" - + "\1\4\3\0\5\5\2\0\2\5\1\u01b0\3\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\4\5" - + "\1\u0210\1\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\2\5\1\u0200" - + "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u01f3\11\5\1\0\23\5"; - + + "\1\16\1\130\1\16\1\130\1\16\15\130\7\4\2\0" + "\4\4\2\0\1\4\3\0\5\4\2\0\6\4\13\0" + + "\1\4\1\0\4\4\1\u01c0\7\4\1\0\24\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\5\5\1\u01c1\6\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\7\5" + "\1\u0170\4\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\u01c2" + "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\10\5\1\157\3\5" + + "\1\0\23\5\63\0\1\u01c3\31\0\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\5" + + "\1\u01c4\4\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\15\5\1\u01c5\5\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\21\5\1\u01c6\1\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\7\5\1\u01c7" + + "\13\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + + "\1\0\2\5\1\u01c8\20\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\5\1\u01c9" + + "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\3\5\1\u01ca\2\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\4\5\1\u01cb\1\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\1\5\1\u01cc\12\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\5\5\1\u01cd\13\0\1\4\1\0\14\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\1\u0172\2\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\1\u01bc\5\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\4\5\1\u01ce\1\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\1\5\1\u01cf\1\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\265" + "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\2\5\1\u01d0\3\5\13\0\1\4\1\0\14\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\u0124\5\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u01d1" + + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\1\120\2\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\4\5\1\u01d2\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\2\5\1\u01d3\3\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\5\5\1\u01d4\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\4\5\1\u01d5" + + "\7\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\7\5\1\u0194\4\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\4\5\1\u01d6\1\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\2\5\1\162\3\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\3\5\1\u01d7\1\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\11\5\1\u0124\2\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + + "\6\5\1\120\5\5\1\0\23\5\7\4\2\0\4\4" + "\2\0\1\4\3\0\5\4\2\0\2\4\1\u01d8\3\4" + + "\13\0\1\4\1\0\14\4\1\0\24\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + + "\1\264\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\1\5\1\u01d9\1\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\55\0\1\u01da\37\0\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\1\u01db\22\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\3\5\1\u01dc\2\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\2\5\1\u01dd\11\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\7\5\1\u01de\4\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\2\5" + "\1\u01df\11\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\2\5\1\u01e0\11\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\1\u012f" + + "\22\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + + "\1\0\13\5\1\u01e1\7\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u01e2" + + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\4\5\1\u01e3\1\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\7\5\1\u01e4\4\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\u012f" + "\5\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\1\5" + "\1\u01e5\3\5\2\0\6\5\13\0\1\4\1\0\14\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\u01e6" + "\1\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\14\5\1\0\2\5\1\u01e7\20\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\1\5\1\u012f\4\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u01e8\11\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\13\5\1\u01e9" + + "\1\5\1\u01ea\5\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + + "\1\0\2\5\1\u01eb\11\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\1\u01ec\5\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\4\5\1\u012f" + "\7\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\2\5\1\126\3\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\u01ed\5\5\13\0\1\4\1\0\14\5\1\0\23\5" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + + "\1\u01ee\22\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + + "\14\5\1\0\2\5\1\u01ef\20\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\2\5" + + "\1\u01f0\3\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\3\5\1\u01f1\2\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\7\5\1\u01f2\4\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\1\5\1\u01f3\4\5\13\0\1\4\1\0\14\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\2\5" + + "\1\u01f4\11\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\3\5\1\u01cf" + + "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\7\5\1\u01f5\4\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\1\314\5\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\2\5\1\u01f6" + "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\7\5\1\u01f7\4\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\1\u01f8\5\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\4\5\1\177" + + "\1\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\1\5\1\372\12\5" + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + + "\1\4\3\0\5\5\2\0\2\5\1\u01f9\3\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\6\5" + "\13\0\1\4\1\0\1\u012f\13\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\1\u01fa\13\5\1\0" + + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\2\5" + + "\1\u01fb\11\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\14\5\1\0\10\5\1\u01ad\12\5\1\4" + "\6\5\2\0\1\103\2\5\1\u01fc\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\1\u01fd\2\5\2\0" + + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\1\343\5\5\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\1\u01fe" + "\5\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\3\5\1\u01ff\2\5\13\0\1\4\1\0\14\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\1\5\1\126" + "\1\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\1\5\1\u012f\1\5\2\0\1\4\3\0\5\5" + + "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u0200" + "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\1\5\1\u0201\4\5" + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + "\6\5\13\0\1\4\1\0\14\5\1\0\22\5\1\u0202" + + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + "\5\5\2\0\2\5\1\u0203\3\5\13\0\1\4\1\0" + + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + "\2\0\1\4\3\0\5\5\2\0\4\5\1\u0204\1\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\1\5\1\u0205\1\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0" + "\23\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\11\5" + "\1\u0206\2\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\4\5\1\u01bc\7\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\1\5\1\u012f\12\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\4\5\1\u0207\2\0\6\5\13\0\1\4" + + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + "\1\u0208\2\5\2\0\1\4\3\0\5\5\2\0\6\5" + + "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5" + "\2\0\1\103\3\5\2\0\1\4\3\0\5\5\2\0" + + "\6\5\13\0\1\4\1\0\14\5\1\0\3\5\1\u0209" + "\17\5\1\4\6\5\2\0\1\103\3\5\2\0\1\4" + + "\3\0\5\5\2\0\2\5\1\u020a\3\5\13\0\1\4" + "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103" + + "\3\5\2\0\1\4\3\0\5\5\2\0\6\5\13\0" + "\1\4\1\0\4\5\1\u020b\7\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\3\5\1\u020c\2\5\13\0\1\4\1\0\14\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0" + + "\14\5\1\0\2\5\1\u020d\20\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\3\5" + + "\1\u020e\2\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\4\5\1\u020f\1\5\13\0\1\4\1\0" + "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\5\5\1\u01f0\13\0" + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\5\5" + "\1\u012f\13\0\1\4\1\0\14\5\1\0\23\5\1\4" + + "\6\5\2\0\1\103\3\5\2\0\1\4\3\0\5\5" + "\2\0\6\5\13\0\1\4\1\0\1\5\1\u01f0\12\5" + + "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\2\0" + "\1\4\3\0\5\5\2\0\2\5\1\u01b0\3\5\13\0" + + "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0" + "\1\103\3\5\2\0\1\4\3\0\5\5\2\0\4\5" + + "\1\u0210\1\5\13\0\1\4\1\0\14\5\1\0\23\5" + "\1\4\6\5\2\0\1\103\3\5\2\0\1\4\3\0" + + "\5\5\2\0\6\5\13\0\1\4\1\0\2\5\1\u0200" + "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5" + + "\2\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4" + "\1\0\2\5\1\u01f3\11\5\1\0\23\5"; + private static int[] zzUnpackTrans() { int[] result = new int[38731]; 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 */ @@ -616,7 +792,7 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -628,17 +804,18 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\6\1\1\11\4\1\1\11\17\1\2\11\3\1" + "\1\11\24\1\1\11\5\1\1\11\15\1\1\11\14\1" - + "\1\11\1\1\1\11\35\1\1\0\43\1\1\11\10\0" + "\2\1\1\0\22\1\1\11\2\1\1\0\105\1\10\0" + "\2\1\1\11\14\1\1\11\5\1\1\0\61\1\2\0" + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\6\1\1\11\4\1\1\11\17\1\2\11\3\1" + + "\1\11\24\1\1\11\5\1\1\11\15\1\1\11\14\1" + "\1\11\1\1\1\11\35\1\1\0\43\1\1\11\10\0" + + "\2\1\1\0\22\1\1\11\2\1\1\0\105\1\10\0" + "\2\1\1\11\14\1\1\11\5\1\1\0\61\1\2\0" + "\1\1\2\0\22\1\1\0\43\1\4\0\17\1\1\0" + "\40\1\1\0\26\1\1\11\66\1"; - + private static int[] zzUnpackAttribute() { int[] result = new int[528]; 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 */ @@ -652,7 +829,7 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -660,8 +837,8 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -671,77 +848,67 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public ActionScriptTokenMaker() {} - + public ActionScriptTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addHyperlinkToken(int, int, int) */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -749,21 +916,18 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -772,12 +936,12 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.COMMENT_MULTILINE: - state = MLC; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.COMMENT_MULTILINE: + state = MLC; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -789,36 +953,34 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -828,34 +990,31 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public ActionScriptTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public ActionScriptTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -871,7 +1030,7 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -881,69 +1040,64 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -954,29 +1108,27 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -995,8 +1147,7 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1036,195 +1187,196 @@ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 5: { - addNullToken(); - return firstToken; - } - case 30: - break; - case 16: { - addToken(Token.LITERAL_CHAR); - } - case 31: - break; - case 21: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 32: - break; - case 25: { - addToken(Token.COMMENT_MULTILINE); - } - case 33: - break; - case 20: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 34: - break; - case 7: { - addToken(Token.WHITESPACE); - } - case 35: - break; - case 15: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 36: - break; - case 22: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 37: - break; - case 14: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 38: - break; - case 17: { - addToken(Token.RESERVED_WORD); - } - case 39: - break; - case 9: { - addToken(Token.SEPARATOR); - } - case 40: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 41: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 42: - break; - case 19: { - start = zzMarkedPos - 2; - yybegin(EOL_COMMENT); - } - case 43: - break; - case 27: { - addToken(Token.FUNCTION); - } - case 44: - break; - case 4: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 45: - break; - case 6: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 46: - break; - case 23: { - addToken(Token.DATA_TYPE); - } - case 47: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 48: - break; - case 24: { - addToken(Token.ERROR_CHAR); - } - case 49: - break; - case 26: { - addToken(Token.LITERAL_BOOLEAN); - } - case 50: - break; - case 18: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 51: - break; - case 29: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 52: - break; - case 28: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 53: - break; - case 13: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 54: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 55: - break; - case 8: { - addToken(Token.OPERATOR); - } - case 56: - break; - case 10: {} - case 57: - break; - case 11: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 58: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 529: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 530: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 531: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 5: { + addNullToken(); + return firstToken; + } + case 30: + break; + case 16: { + addToken(Token.LITERAL_CHAR); + } + case 31: + break; + case 21: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 32: + break; + case 25: { + addToken(Token.COMMENT_MULTILINE); + } + case 33: + break; + case 20: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 34: + break; + case 7: { + addToken(Token.WHITESPACE); + } + case 35: + break; + case 15: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 36: + break; + case 22: { + addToken(Token.ERROR_STRING_DOUBLE); + } + case 37: + break; + case 14: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 38: + break; + case 17: { + addToken(Token.RESERVED_WORD); + } + case 39: + break; + case 9: { + addToken(Token.SEPARATOR); + } + case 40: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 41: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 42: + break; + case 19: { + start = zzMarkedPos - 2; + yybegin(EOL_COMMENT); + } + case 43: + break; + case 27: { + addToken(Token.FUNCTION); + } + case 44: + break; + case 4: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 45: + break; + case 6: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 46: + break; + case 23: { + addToken(Token.DATA_TYPE); + } + case 47: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 48: + break; + case 24: { + addToken(Token.ERROR_CHAR); + } + case 49: + break; + case 26: { + addToken(Token.LITERAL_BOOLEAN); + } + case 50: + break; + case 18: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 51: + break; + case 29: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 52: + break; + case 28: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 53: + break; + case 13: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 54: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 55: + break; + case 8: { + addToken(Token.OPERATOR); + } + case 56: + break; + case 10: { + } + case 57: + break; + case 11: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 58: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 529: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 530: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 531: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/AssemblerX86TokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/AssemblerX86TokenMaker.java index 76fb2e6..8fb7355 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/AssemblerX86TokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/AssemblerX86TokenMaker.java @@ -18,22 +18,20 @@ import org.fife.ui.rsyntaxtextarea.Token; import org.fife.ui.rsyntaxtextarea.TokenImpl; /** - * This class takes plain text and returns tokens representing x86 - * assembler. + * This class takes plain text and returns tokens representing x86 assembler. *

      * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -43,17 +41,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated AssemblerX86TokenMaker.java file will contain - * two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * two definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -61,16 +58,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** 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 + * 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, 1 }; /** @@ -90,22 +86,25 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\2\0\2\1\1\2\1\3\1\4\1\5\1\6\1\7" + "\1\10\32\1\1\11\1\1\1\12\5\13\2\1\1\14" - + "\1\15\25\0\16\1\2\16\23\1\1\13\11\1\1\16" + "\14\1\2\16\7\1\1\16\10\1\1\13\4\1\1\11" - + "\3\1\1\16\1\1\1\11\15\1\1\13\1\12\13\1" + "\1\16\42\1\31\0\1\12\11\0\20\1\1\13\1\12" - + "\14\1\2\13\3\1\1\13\4\1\1\12\6\1\1\13" + "\3\1\1\13\5\1\1\12\5\1\1\13\4\1\1\12" + "\1\1\1\13\2\1\1\13\10\1\1\13\4\1\1\13" - + "\4\1\1\13\5\1\1\12\3\1\3\13\24\1\1\13" + "\37\1\1\13\3\1\1\13\3\1\1\0\1\12\10\0" + "\1\12\17\0\3\1\1\13\11\1\1\13\14\1\2\13" - + "\1\1\1\17\1\13\3\1\2\12\10\1\1\12\7\1" + "\1\12\1\13\12\1\1\12\15\1\1\13\5\1\2\13" + "\1\1\1\13\14\1\1\13\3\1\1\13\4\1\1\0" - + "\1\12\3\0\1\12\5\0\1\12\5\0\16\1\1\12" + "\5\1\1\12\16\1\1\12\1\1\1\13\4\1\1\13" + "\1\1\1\13\4\1\7\0\1\12\7\1\2\12\10\1" - + "\1\0\1\12\2\0\1\12\1\0\4\1\1\12\1\1" + "\3\0\2\1\2\0\1\1\1\12\2\0"; - + private static final String ZZ_ACTION_PACKED_0 = "\2\0\2\1\1\2\1\3\1\4\1\5\1\6\1\7" + + "\1\10\32\1\1\11\1\1\1\12\5\13\2\1\1\14" + "\1\15\25\0\16\1\2\16\23\1\1\13\11\1\1\16" + + "\14\1\2\16\7\1\1\16\10\1\1\13\4\1\1\11" + "\3\1\1\16\1\1\1\11\15\1\1\13\1\12\13\1" + + "\1\16\42\1\31\0\1\12\11\0\20\1\1\13\1\12" + "\14\1\2\13\3\1\1\13\4\1\1\12\6\1\1\13" + + "\3\1\1\13\5\1\1\12\5\1\1\13\4\1\1\12" + "\1\1\1\13\2\1\1\13\10\1\1\13\4\1\1\13" + + "\4\1\1\13\5\1\1\12\3\1\3\13\24\1\1\13" + "\37\1\1\13\3\1\1\13\3\1\1\0\1\12\10\0" + + "\1\12\17\0\3\1\1\13\11\1\1\13\14\1\2\13" + "\1\1\1\17\1\13\3\1\2\12\10\1\1\12\7\1" + + "\1\12\1\13\12\1\1\12\15\1\1\13\5\1\2\13" + "\1\1\1\13\14\1\1\13\3\1\1\13\4\1\1\0" + + "\1\12\3\0\1\12\5\0\1\12\5\0\16\1\1\12" + "\5\1\1\12\16\1\1\12\1\1\1\13\4\1\1\13" + + "\1\1\1\13\4\1\7\0\1\12\7\1\2\12\10\1" + "\1\0\1\12\2\0\1\12\1\0\4\1\1\12\1\1" + + "\3\0\2\1\2\0\1\1\1\12\2\0"; + private static int[] zzUnpackAction() { int[] result = new int[668]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -119,7 +118,7 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -207,14 +206,14 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { + "\0\u7756\0\u7788\0\u77ba\0\u77ec\0\u781e\0\u7850\0\u7882\0\u4ee8" + "\0\u78b4\0\u78e6\0\u7918\0\u794a\0\u797c\0\u79ae\0\u79e0\0\u7a12" + "\0\u7a44\0\u7a76\0\u7aa8\0\u7ada\0\u7b0c\0\u7b3e\0\u7b70\0\u7ba2" + "\0\u6d60\0\u7bd4\0\u7c06\0\u7c38"; - + private static int[] zzUnpackRowMap() { int[] result = new int[668]; 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 */ @@ -225,61 +224,63 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\5\1\3\1\6\1\7\1\10\1\11" + "\1\12\1\3\3\13\1\14\4\5\1\15\5\5\1\16" - + "\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26" + "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\3" - + "\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\24" + "\1\45\1\3\1\4\1\5\1\3\1\6\1\7\1\10" + "\1\11\1\12\1\3\1\13\1\46\1\13\1\14\4\5" + private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\5\1\3\1\6\1\7\1\10\1\11" + + "\1\12\1\3\3\13\1\14\4\5\1\15\5\5\1\16" + "\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26" + + "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\3" + "\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\24" + + "\1\45\1\3\1\4\1\5\1\3\1\6\1\7\1\10" + "\1\11\1\12\1\3\1\13\1\46\1\13\1\14\4\5" + "\1\15\5\5\1\16\1\17\1\20\1\21\1\22\1\23" + "\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33" + "\1\34\1\35\1\3\1\36\1\37\1\40\1\41\1\42" + "\1\43\1\44\1\24\1\45\62\0\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\4\24\1\51" + "\5\24\2\52\1\24\1\52\1\24\1\53\1\24\1\54" - + "\1\55\1\54\1\24\1\56\4\24\1\47\1\52\1\24" + "\1\54\1\24\1\57\4\24\1\47\1\24\1\5\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\4\5\1\24" - + "\5\5\20\24\1\47\11\24\4\6\1\60\55\6\5\7" + "\1\61\54\7\7\10\1\0\52\10\10\0\1\12\67\0" - + "\1\62\1\63\1\64\1\65\2\0\1\65\2\64\1\0" + "\1\66\1\67\1\0\1\70\1\71\1\72\1\73\1\74" - + "\1\75\1\0\1\76\1\77\1\100\1\101\1\102\1\103" + "\2\0\1\104\1\0\1\105\1\106\4\0\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\12\24" + "\1\107\3\24\1\110\1\111\1\24\1\112\1\113\1\114" - + "\2\24\1\115\1\116\1\117\1\24\1\47\3\24\1\120" + "\1\121\4\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\1\122\5\24\1\123\3\24\1\124" + "\1\125\1\126\1\24\1\127\2\24\1\130\2\24\1\131" - + "\1\132\4\24\1\47\3\24\1\126\5\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\12\24" - + "\1\133\1\134\2\24\1\135\1\136\1\24\1\137\1\24" + "\1\140\1\141\1\24\1\142\1\134\1\24\1\143\1\47" - + "\1\144\3\24\1\145\4\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\13\24\1\146\13\24" - + "\1\147\2\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\4\24\1\126\6\24" - + "\2\126\4\24\1\150\1\24\1\151\2\24\1\152\1\153" + "\2\24\1\47\3\24\1\126\3\24\1\154\1\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\17\24\1\155\1\24\1\156\2\157\1\160\5\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\12\24\1\161\1\162\1\24\1\163\3\24" - + "\1\164\1\165\1\24\1\166\1\167\4\24\1\47\3\24" + "\1\170\1\171\1\172\2\24\1\173\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\4\24\1\126\5\24\1\174\1\134\1\175" + "\1\176\1\24\1\177\1\24\1\126\1\200\1\24\1\43" - + "\1\24\1\201\1\202\1\203\1\204\1\47\1\134\1\205" + "\2\24\1\145\1\206\1\24\1\207\1\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\4\24" + "\1\210\5\24\1\211\1\212\1\126\1\213\1\214\2\24" - + "\1\126\1\24\1\215\1\216\5\24\1\47\1\24\1\217" + "\1\24\1\126\1\220\3\24\1\221\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\1\122\3\24" + "\1\222\1\24\1\123\7\24\1\223\11\24\1\224\1\225" - + "\1\47\10\24\1\226\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\12\24\1\227\2\126\1\230" - + "\1\231\1\232\1\24\1\126\1\24\1\233\1\230\1\24" + "\1\230\1\234\1\235\1\230\1\47\1\24\1\236\1\24" - + "\1\126\1\24\1\230\3\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\12\24\1\237\4\24" - + "\1\240\3\24\1\241\6\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\14\24" - + "\1\242\1\243\1\244\1\245\7\24\1\246\2\24\1\47" + "\1\24\1\205\5\24\1\247\1\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\16\24\1\250" + "\1\251\1\24\1\252\2\24\1\253\1\254\3\24\1\255" - + "\1\47\4\24\1\256\4\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\15\24\1\257\3\24" - + "\1\260\1\261\2\24\1\262\4\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\3\24\1\263\1\264\5\24\1\265\1\266\1\24\1\267" + "\1\270\2\24\1\271\1\272\1\273\1\274\1\275\1\276" - + "\1\277\1\300\1\301\1\47\1\24\1\302\1\24\1\303" + "\1\304\2\24\1\305\1\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\13\24\1\306\2\24" + "\1\307\2\24\1\126\1\24\1\310\6\24\1\47\11\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\12\24\1\311\1\24\1\312\1\313\1\314\4\24" - + "\1\315\6\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\17\24\1\316\12\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\12\24\1\317\1\320\6\24\1\321" - + "\1\322\6\24\1\47\4\24\1\323\4\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\12\24" - + "\1\324\10\24\1\325\3\24\1\326\1\327\1\24\1\47" + "\4\24\1\231\4\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\32\24\1\47\1\24\1\205" + "\7\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\32\24\1\47\6\24\1\330\2\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\17\24\1\331\12\24\1\47\11\24\1\0\2\46\13\0" + "\32\46\1\0\11\46\3\47\1\0\3\47\2\0\1\47" - + "\2\0\1\47\1\0\45\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\17\24\1\54\3\24\1\54" - + "\6\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\17\24\1\54\12\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\22\24\1\332\7\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\32\24\1\47\3\24\1\333\5\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\4\24\1\54" + + "\1\55\1\54\1\24\1\56\4\24\1\47\1\52\1\24" + "\1\54\1\24\1\57\4\24\1\47\1\24\1\5\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\4\5\1\24" + "\5\5\20\24\1\47\11\24\4\6\1\60\55\6\5\7" + + "\1\61\54\7\7\10\1\0\52\10\10\0\1\12\67\0" + "\1\62\1\63\1\64\1\65\2\0\1\65\2\64\1\0" + + "\1\66\1\67\1\0\1\70\1\71\1\72\1\73\1\74" + "\1\75\1\0\1\76\1\77\1\100\1\101\1\102\1\103" + + "\2\0\1\104\1\0\1\105\1\106\4\0\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\12\24" + + "\1\107\3\24\1\110\1\111\1\24\1\112\1\113\1\114" + "\2\24\1\115\1\116\1\117\1\24\1\47\3\24\1\120" + + "\1\121\4\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\1\122\5\24\1\123\3\24\1\124" + + "\1\125\1\126\1\24\1\127\2\24\1\130\2\24\1\131" + "\1\132\4\24\1\47\3\24\1\126\5\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\12\24" + "\1\133\1\134\2\24\1\135\1\136\1\24\1\137\1\24" + + "\1\140\1\141\1\24\1\142\1\134\1\24\1\143\1\47" + "\1\144\3\24\1\145\4\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\13\24\1\146\13\24" + "\1\147\2\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\4\24\1\126\6\24" + "\2\126\4\24\1\150\1\24\1\151\2\24\1\152\1\153" + + "\2\24\1\47\3\24\1\126\3\24\1\154\1\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\17\24\1\155\1\24\1\156\2\157\1\160\5\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\12\24\1\161\1\162\1\24\1\163\3\24" + "\1\164\1\165\1\24\1\166\1\167\4\24\1\47\3\24" + + "\1\170\1\171\1\172\2\24\1\173\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\4\24\1\126\5\24\1\174\1\134\1\175" + + "\1\176\1\24\1\177\1\24\1\126\1\200\1\24\1\43" + "\1\24\1\201\1\202\1\203\1\204\1\47\1\134\1\205" + + "\2\24\1\145\1\206\1\24\1\207\1\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\4\24" + + "\1\210\5\24\1\211\1\212\1\126\1\213\1\214\2\24" + "\1\126\1\24\1\215\1\216\5\24\1\47\1\24\1\217" + + "\1\24\1\126\1\220\3\24\1\221\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\1\122\3\24" + + "\1\222\1\24\1\123\7\24\1\223\11\24\1\224\1\225" + "\1\47\10\24\1\226\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\12\24\1\227\2\126\1\230" + "\1\231\1\232\1\24\1\126\1\24\1\233\1\230\1\24" + + "\1\230\1\234\1\235\1\230\1\47\1\24\1\236\1\24" + "\1\126\1\24\1\230\3\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\12\24\1\237\4\24" + "\1\240\3\24\1\241\6\24\1\47\11\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\14\24" + "\1\242\1\243\1\244\1\245\7\24\1\246\2\24\1\47" + + "\1\24\1\205\5\24\1\247\1\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\16\24\1\250" + + "\1\251\1\24\1\252\2\24\1\253\1\254\3\24\1\255" + "\1\47\4\24\1\256\4\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\15\24\1\257\3\24" + "\1\260\1\261\2\24\1\262\4\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\3\24\1\263\1\264\5\24\1\265\1\266\1\24\1\267" + + "\1\270\2\24\1\271\1\272\1\273\1\274\1\275\1\276" + "\1\277\1\300\1\301\1\47\1\24\1\302\1\24\1\303" + + "\1\304\2\24\1\305\1\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\13\24\1\306\2\24" + + "\1\307\2\24\1\126\1\24\1\310\6\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\12\24\1\311\1\24\1\312\1\313\1\314\4\24" + "\1\315\6\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\17\24\1\316\12\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\12\24\1\317\1\320\6\24\1\321" + "\1\322\6\24\1\47\4\24\1\323\4\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\12\24" + "\1\324\10\24\1\325\3\24\1\326\1\327\1\24\1\47" + + "\4\24\1\231\4\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\32\24\1\47\1\24\1\205" + + "\7\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\32\24\1\47\6\24\1\330\2\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\17\24\1\331\12\24\1\47\11\24\1\0\2\46\13\0" + + "\32\46\1\0\11\46\3\47\1\0\3\47\2\0\1\47" + "\2\0\1\47\1\0\45\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\17\24\1\54\3\24\1\54" + "\6\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\17\24\1\54\12\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\22\24\1\332\7\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\32\24\1\47\3\24\1\333\5\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\4\24\1\54" + "\5\24\2\52\1\24\1\52\1\24\1\54\1\24\3\54" + "\6\24\1\47\1\52\1\24\1\54\6\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\4\24" + "\1\54\25\24\1\47\11\24\17\0\1\334\71\0\1\335" + "\51\0\1\336\61\0\1\337\73\0\1\340\60\0\1\341" + "\14\0\1\342\1\0\1\343\46\0\1\344\2\0\1\345" @@ -324,113 +325,115 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { + "\3\47\2\0\1\50\2\0\1\47\1\0\26\24\1\u012c" + "\3\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\26\24\1\u012d\3\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\4\24\1\u012e\5\24\1\u012f\6\24\1\u0130" + "\1\u0131\3\24\1\u0132\3\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\32\24" + "\1\47\4\24\1\54\4\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\13\24\1\54\2\24" - + "\1\54\13\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\4\24\1\u0133\21\24" - + "\1\u0134\3\24\1\47\4\24\1\u0135\4\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\32\24" - + "\1\47\3\24\1\126\5\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\21\24\1\u0136\10\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\4\24\1\126\25\24\1\47\3\24" - + "\1\126\5\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\4\24\1\126\22\24\1\126\2\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\14\24\1\u0137\15\24\1\47\3\24" - + "\1\126\5\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\27\24\1\126\2\24\1\47\3\24" - + "\1\126\5\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\24\24\1\u0138\1\24\1\u0139\3\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\4\24\1\u013a\21\24\1\u013b\1\u013c" - + "\2\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\32\24\1\47\4\24\1\143" - + "\4\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\30\24\1\230\1\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\17\24\1\u013d\12\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\13\24\1\54" + "\1\u011f\1\24\1\54\13\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\13\24" + "\1\u013e\2\24\1\u013e\4\24\1\u013f\4\24\1\u0140\1\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\15\24\1\54\14\24\1\47\7\24" - + "\1\154\1\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\22\24\1\u0141\3\24\1\u0142\3\24" - + "\1\47\1\u0143\10\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\12\24\1\u0126\17\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\1\126\1\24\2\126\1\24\5\126\1\u0144" - + "\3\24\1\u0145\3\24\1\54\1\u0126\1\54\2\24\1\54" + "\2\24\1\47\4\24\1\u0128\4\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\24\24\1\146" + "\5\24\1\47\1\u0146\1\24\1\u0147\6\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\15\24" + "\1\u0148\14\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\17\24\1\u0149\12\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\23\24\1\315\6\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" - + "\1\0\16\24\1\u014a\13\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\21\24" - + "\1\u014b\10\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\30\24\1\u014c\1\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\13\24\1\u011b\2\24\1\u014d\7\24" - + "\1\u014e\3\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\22\24\1\54\1\24" - + "\1\54\1\24\1\143\1\54\2\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\32\24\1\47\1\24\1\54\7\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\3\24\1\126" - + "\2\24\2\126\1\24\1\126\20\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\24\24\1\u014f\5\24\1\47\4\24\1\u0150\4\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\32\24\1\47\5\24\1\54\3\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\24\24\1\52" - + "\5\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\4\24\1\u0151\15\24\1\54" - + "\1\u0152\6\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\26\24\1\u0153\3\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\12\24\1\u0154\13\24\1\u0155\3\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\4\24\1\143\25\24\1\47\1\u0110" - + "\10\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\26\24\1\u0156\3\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\31\24\1\u0157\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\17\24\1\u0158\12\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\12\24\1\54\6\24\1\54\4\24" + "\1\u0159\3\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\1\126\1\24\2\126" + "\1\24\5\126\20\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\22\24\1\54" + "\7\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\21\24\1\u015a\10\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\32\24\1\47\10\24\1\u015b\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\4\24" - + "\1\230\25\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\4\24" - + "\1\u0103\4\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\12\24\1\115\17\24\1\47\1\54" - + "\10\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\4\24\1\54\14\24\1\u015c\4\24\1\54" - + "\3\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\27\24\1\u012c\2\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\32\24\1\47\7\24\1\154\1\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\2\24\1\126\2\24\4\126\21\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\21\24\1\146\10\24\1\47\3\24\1\u015d\5\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\26\24\1\u015e\3\24\1\47\4\24\1\u015f\4\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\4\24\1\u0160\25\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\4\24\1\u0161" + "\12\24\1\146\12\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\25\24\1\u0162" + "\4\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\26\24\1\u0163\3\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\27\24\1\u0164\2\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\21\24\1\u0165\1\u0166\3\24\1\u0167\3\24\1\47\10\24" + "\1\u0168\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\1\u0110\2\24\1\u0110\11\24\1\u0110\1\24" + "\1\u0110\4\24\1\u0169\1\u016a\1\24\1\u016b\2\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\4\24\1\u013a\23\24\1\u011b\1\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\3\24\1\54\26\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\17\24\1\u016c\12\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\23\24\1\u016d" + "\6\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\4\24\1\u016e\22\24\1\u016f" + "\2\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\32\24\1\47\3\24\1\u0170" + "\5\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\12\24\1\u0171\3\24\1\u0172\7\24\1\u0173" + "\3\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\15\24\1\143\1\u0110\5\24" + "\1\u0174\5\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\24\24\1\u0175\5\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\13\24\1\u0176\5\24\1\u0177\10\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\21\24\1\u0178\3\24\1\u0179\4\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\12\24\1\u017a\7\24\1\u017b\3\24" + "\1\u017c\1\u017d\1\u017e\1\24\1\47\5\24\1\u017f\3\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\13\24\1\u0180\1\143\6\24\1\u0181\6\24\1\47" - + "\4\24\1\u0182\4\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\16\24\1\u0161\13\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\17\24\1\u0183\7\24\1\u0184\2\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\21\24\1\u0185\1\u0186\1\57\3\24\1\u0187" - + "\2\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\21\24\1\146\10\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\12\24\1\317\1\u0176\5\24\1\u0188\1\u0189" - + "\1\24\1\u018a\1\u018b\4\24\1\47\4\24\1\u018c\4\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" - + "\1\0\22\24\1\u018d\7\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\16\24" - + "\1\u018e\13\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\12\24\1\311\10\24" - + "\1\315\6\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\12\24\1\156\3\24" - + "\1\u018f\2\24\1\u0190\1\u0191\3\24\1\u0192\3\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\30\24\1\u0193\1\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\13\24\1\u0194\16\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\23\24\1\u0195" - + "\6\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\23\24\1\u0196\6\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\26\24\1\u0137\3\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\27\24\1\146\2\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\27\24\1\u015e" + "\2\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\27\24\1\u0197\2\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\26\24\1\u0110\3\24\1\47\4\24\1\u0135" + "\4\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\16\24\1\u0198\13\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\16\24\1\u0199\13\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\24\24\1\u0176" - + "\5\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\12\24\1\u019a\17\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\14\24\1\u019b\15\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\16\24\1\u019c\13\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" + "\4\24\1\231\4\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\21\24\1\u019d\1\u019e\7\24" + "\1\47\3\24\1\u019f\5\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\10\24" + "\1\u01a0\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\25\24\1\u019f\4\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\13\24\1\u015b\16\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\13\24\1\u01a1" - + "\15\24\1\u01a2\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\16\24\1\u01a3\13\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\32\24\1\47\2\24\1\54\6\24" - + "\20\0\1\365\60\0\1\u01a4\62\0\1\u01a5\61\0\1\u01a5" + "\2\0\1\365\60\0\1\u01a6\70\0\1\u01a7\67\0\1\u01a8" - + "\62\0\1\u01a9\56\0\1\u01aa\63\0\1\365\64\0\1\u01ab" + "\41\0\1\u01ac\76\0\1\u01ad\56\0\1\u01ae\67\0\1\u01af" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\32\24" + "\1\47\4\24\1\54\4\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\13\24\1\54\2\24" + "\1\54\13\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\4\24\1\u0133\21\24" + "\1\u0134\3\24\1\47\4\24\1\u0135\4\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\32\24" + "\1\47\3\24\1\126\5\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\21\24\1\u0136\10\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\4\24\1\126\25\24\1\47\3\24" + "\1\126\5\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\4\24\1\126\22\24\1\126\2\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\14\24\1\u0137\15\24\1\47\3\24" + "\1\126\5\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\27\24\1\126\2\24\1\47\3\24" + "\1\126\5\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\24\24\1\u0138\1\24\1\u0139\3\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\4\24\1\u013a\21\24\1\u013b\1\u013c" + "\2\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\32\24\1\47\4\24\1\143" + "\4\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\30\24\1\230\1\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\17\24\1\u013d\12\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\13\24\1\54" + + "\1\u011f\1\24\1\54\13\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\13\24" + + "\1\u013e\2\24\1\u013e\4\24\1\u013f\4\24\1\u0140\1\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\15\24\1\54\14\24\1\47\7\24" + "\1\154\1\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\22\24\1\u0141\3\24\1\u0142\3\24" + "\1\47\1\u0143\10\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\12\24\1\u0126\17\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\1\126\1\24\2\126\1\24\5\126\1\u0144" + "\3\24\1\u0145\3\24\1\54\1\u0126\1\54\2\24\1\54" + + "\2\24\1\47\4\24\1\u0128\4\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\24\24\1\146" + + "\5\24\1\47\1\u0146\1\24\1\u0147\6\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\15\24" + + "\1\u0148\14\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\17\24\1\u0149\12\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\23\24\1\315\6\24\1\47\11\24" + + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\16\24\1\u014a\13\24\1\47\11\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\21\24" + "\1\u014b\10\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\30\24\1\u014c\1\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\13\24\1\u011b\2\24\1\u014d\7\24" + "\1\u014e\3\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\22\24\1\54\1\24" + "\1\54\1\24\1\143\1\54\2\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\32\24\1\47\1\24\1\54\7\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\3\24\1\126" + "\2\24\2\126\1\24\1\126\20\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\24\24\1\u014f\5\24\1\47\4\24\1\u0150\4\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\32\24\1\47\5\24\1\54\3\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\24\24\1\52" + "\5\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\4\24\1\u0151\15\24\1\54" + "\1\u0152\6\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\26\24\1\u0153\3\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\12\24\1\u0154\13\24\1\u0155\3\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\4\24\1\143\25\24\1\47\1\u0110" + "\10\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\26\24\1\u0156\3\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\31\24\1\u0157\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\17\24\1\u0158\12\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\12\24\1\54\6\24\1\54\4\24" + + "\1\u0159\3\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\1\126\1\24\2\126" + + "\1\24\5\126\20\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\22\24\1\54" + + "\7\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\21\24\1\u015a\10\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\32\24\1\47\10\24\1\u015b\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\4\24" + "\1\230\25\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\4\24" + "\1\u0103\4\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\12\24\1\115\17\24\1\47\1\54" + "\10\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\4\24\1\54\14\24\1\u015c\4\24\1\54" + "\3\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\27\24\1\u012c\2\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\32\24\1\47\7\24\1\154\1\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\2\24\1\126\2\24\4\126\21\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\21\24\1\146\10\24\1\47\3\24\1\u015d\5\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\26\24\1\u015e\3\24\1\47\4\24\1\u015f\4\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\4\24\1\u0160\25\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\4\24\1\u0161" + + "\12\24\1\146\12\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\25\24\1\u0162" + + "\4\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\26\24\1\u0163\3\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\27\24\1\u0164\2\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\21\24\1\u0165\1\u0166\3\24\1\u0167\3\24\1\47\10\24" + + "\1\u0168\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\1\u0110\2\24\1\u0110\11\24\1\u0110\1\24" + + "\1\u0110\4\24\1\u0169\1\u016a\1\24\1\u016b\2\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\4\24\1\u013a\23\24\1\u011b\1\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\3\24\1\54\26\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\17\24\1\u016c\12\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\23\24\1\u016d" + + "\6\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\4\24\1\u016e\22\24\1\u016f" + + "\2\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\32\24\1\47\3\24\1\u0170" + + "\5\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\12\24\1\u0171\3\24\1\u0172\7\24\1\u0173" + + "\3\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\15\24\1\143\1\u0110\5\24" + + "\1\u0174\5\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\24\24\1\u0175\5\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\13\24\1\u0176\5\24\1\u0177\10\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\21\24\1\u0178\3\24\1\u0179\4\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\12\24\1\u017a\7\24\1\u017b\3\24" + + "\1\u017c\1\u017d\1\u017e\1\24\1\47\5\24\1\u017f\3\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\13\24\1\u0180\1\143\6\24\1\u0181\6\24\1\47" + "\4\24\1\u0182\4\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\16\24\1\u0161\13\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\17\24\1\u0183\7\24\1\u0184\2\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\21\24\1\u0185\1\u0186\1\57\3\24\1\u0187" + "\2\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\21\24\1\146\10\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\12\24\1\317\1\u0176\5\24\1\u0188\1\u0189" + "\1\24\1\u018a\1\u018b\4\24\1\47\4\24\1\u018c\4\24" + + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\22\24\1\u018d\7\24\1\47\11\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\16\24" + "\1\u018e\13\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\12\24\1\311\10\24" + "\1\315\6\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\12\24\1\156\3\24" + "\1\u018f\2\24\1\u0190\1\u0191\3\24\1\u0192\3\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\30\24\1\u0193\1\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\13\24\1\u0194\16\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\23\24\1\u0195" + "\6\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\23\24\1\u0196\6\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\26\24\1\u0137\3\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\27\24\1\146\2\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\27\24\1\u015e" + + "\2\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\27\24\1\u0197\2\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\26\24\1\u0110\3\24\1\47\4\24\1\u0135" + + "\4\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\16\24\1\u0198\13\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\16\24\1\u0199\13\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\24\24\1\u0176" + "\5\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\12\24\1\u019a\17\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\14\24\1\u019b\15\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\16\24\1\u019c\13\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" + + "\4\24\1\231\4\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\21\24\1\u019d\1\u019e\7\24" + + "\1\47\3\24\1\u019f\5\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\10\24" + + "\1\u01a0\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\25\24\1\u019f\4\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\13\24\1\u015b\16\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\13\24\1\u01a1" + "\15\24\1\u01a2\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\16\24\1\u01a3\13\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\32\24\1\47\2\24\1\54\6\24" + "\20\0\1\365\60\0\1\u01a4\62\0\1\u01a5\61\0\1\u01a5" + + "\2\0\1\365\60\0\1\u01a6\70\0\1\u01a7\67\0\1\u01a8" + "\62\0\1\u01a9\56\0\1\u01aa\63\0\1\365\64\0\1\u01ab" + + "\41\0\1\u01ac\76\0\1\u01ad\56\0\1\u01ae\67\0\1\u01af" + "\64\0\1\u01b0\56\0\1\365\75\0\1\365\33\0\1\u01b1" + "\66\0\1\101\66\0\1\u01b2\1\u01b3\62\0\1\u01b4\54\0" - + "\1\u01b5\41\0\1\u01b6\11\0\1\u01b7\6\0\1\372\75\0" + "\1\u01b0\51\0\1\u01b8\51\0\1\u01b9\72\0\1\u01ba\61\0" + + "\1\u01b5\41\0\1\u01b6\11\0\1\u01b7\6\0\1\372\75\0" + + "\1\u01b0\51\0\1\u01b8\51\0\1\u01b9\72\0\1\u01ba\61\0" + "\1\u01bb\50\0\1\357\102\0\1\365\53\0\1\u01bc\54\0" + "\1\u01bd\73\0\1\365\5\0\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\27\24\1\u01be\2\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\20\24\1\u01bf\11\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" @@ -582,176 +585,176 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { + "\74\0\1\u022c\56\0\1\u022d\50\0\1\u022e\76\0\1\376" + "\51\0\1\u022f\61\0\1\u0230\42\0\1\365\2\0\1\365" + "\11\0\1\365\1\0\1\365\4\0\1\u0231\1\u0232\1\0" + "\1\u0233\61\0\1\101\4\0\1\365\53\0\1\365\51\0" + "\1\u0234\3\0\1\u022e\56\0\1\365\63\0\1\u01b0\4\0" + "\1\u0235\45\0\1\u0236\70\0\1\u0237\45\0\1\365\103\0" - + "\1\u0238\61\0\1\u0239\56\0\1\u023a\50\0\1\u01b2\67\0" + "\1\u01b0\53\0\1\u023b\65\0\1\u01a7\24\0\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\26\24" + "\1\u01ef\3\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\21\24\1\u023c\6\24" + "\1\u023d\1\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\15\24\1\54\3\24" + "\1\u01c2\2\24\1\54\3\24\1\u023e\1\24\1\47\1\24" - + "\1\54\7\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\25\24\1\54\4\24\1\47\11\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\15\24\1\54\14\24\1\47\1\24\1\54\7\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\17\24\1\u023f\12\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\12\24" + "\1\u0240\17\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\16\24\1\213\13\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\15\24\1\213\14\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" - + "\1\0\24\24\1\54\5\24\1\47\1\24\1\54\3\24" + "\1\54\3\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\31\24\1\213\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\24\24\1\54\5\24\1\47\1\24\1\54\7\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\17\24\1\u0241\12\24\1\47\1\u0242\10\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\23\24" - + "\1\u0243\6\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\27\24\1\u0244\2\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\22\24\1\u0245\7\24\1\47\11\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\24\24\1\u0246\5\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\21\24" + "\1\213\6\24\1\u0247\1\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\32\24" + "\1\47\4\24\1\u0248\4\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\13\24\1\213\1\u0249" + "\15\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\25\24\1\u024a\4\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\13\24\1\u0110\16\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\26\24\1\u024b\3\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\17\24\1\54" - + "\5\24\1\u01dd\4\24\1\47\2\24\1\54\6\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\15\24\1\54\6\24\1\54\5\24\1\47\1\24\1\54" + "\7\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\22\24\1\u0135\7\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\12\24\1\u01e5\17\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\17\24\1\54" - + "\12\24\1\47\2\24\1\54\6\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\1\u024c\1\u01db" - + "\5\24\1\u01db\22\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\16\24\1\u0162" - + "\13\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\27\24\1\u024d\2\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\31\24\1\u0110\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\16\24" + "\1\u024e\13\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\4\24" + "\1\u0110\4\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\26\24\1\u0110\3\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" - + "\1\0\17\24\1\u024f\12\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\20\24" - + "\1\u0110\11\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\22\24\1\u0250\7\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\32\24\1\50\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\21\24" + "\1\u01f0\1\24\1\u01e2\6\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\21\24" + "\1\54\4\24\1\115\3\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\26\24" + "\1\u01d5\1\u0251\2\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\22\24\1\u01d6" + "\7\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\25\24\1\u0252\4\24\1\47" + "\3\24\1\311\5\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\32\24\1\47\7\24\1\u01e9" + "\1\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\26\24\1\115\3\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\21\24\1\143\10\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\17\24\1\u024f" - + "\3\24\1\u013d\6\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\15\24\1\54" - + "\3\24\1\54\2\24\1\54\5\24\1\47\1\24\1\54" + "\7\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\22\24\1\u0253\7\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\21\24\1\u0254\5\24\1\u0255\2\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\21\24\1\u0256\5\24\1\u0257\2\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\4\24\1\u0258\14\24\1\u0259\10\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\17\24\1\u01e5\12\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\31\24\1\u025a" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\17\24\1\u025b\12\24\1\47\11\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\13\24\1\u025c\16\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\17\24" + "\1\u025d\12\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\21\24\1\230\10\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\24\24\1\u0205\5\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" - + "\1\0\30\24\1\u0244\1\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\30\24" - + "\1\u025e\1\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\27\24\1\u013d\2\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\4\24\1\u019b\25\24\1\47\11\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\20\24\1\u0103\11\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\31\24" + "\1\u025f\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\17\24\1\u01e2\12\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\25\24\1\u025f\4\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\27\24\1\u01f1\2\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\20\24\1\u0260" - + "\11\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\1\54\31\24\1\47\11\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\32\24\1\47\4\24\1\u0261\4\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\27\24" + "\1\54\2\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\3\24\1\u0262\21\24" + "\1\257\4\24\1\47\1\257\10\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\25\24\1\u0164" + "\4\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\27\24\1\u0263\2\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\13\24\1\u01d6\16\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\22\24\1\u0264\7\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\4\24\1\54" - + "\11\24\1\u020c\13\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" - + "\3\24\1\54\5\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\4\24\1\u020c\22\24\1\u020c" - + "\2\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\32\24\1\47\10\24\1\u0265" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\21\24\1\u0177\10\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\17\24" + "\1\u020f\1\24\2\213\7\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\15\24" + "\1\u0266\14\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\4\24" + "\1\u020c\4\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\32\24\1\47\10\24\1\u0266\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\32\24\1\47\4\24\1\u0215\4\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\12\24\1\u0267" - + "\17\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\32\24\1\47\3\24\1\u0268" - + "\5\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\12\24\1\u01d5\17\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\4\24\1\u0110\25\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" + "\10\24\1\u0176\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\15\24\1\54\14\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" - + "\1\0\32\24\1\47\4\24\1\u0269\4\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\4\24" - + "\1\143\7\24\1\u01d4\15\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\4\24" - + "\1\143\6\24\1\u01d4\16\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\15\24" - + "\1\54\3\24\1\54\2\24\1\54\5\24\1\47\1\24" + "\1\54\1\24\1\54\5\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\26\24\1\u026a\3\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\21\24\1\u026b\10\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" - + "\1\0\25\24\1\u026c\4\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\13\24" - + "\1\u026c\16\24\1\47\11\24\30\0\1\365\61\0\1\341" + "\14\0\1\101\7\0\1\u026d\47\0\1\354\54\0\1\365" - + "\53\0\1\u01b0\76\0\1\101\51\0\1\101\7\0\1\u026e" + "\47\0\1\365\6\0\1\357\10\0\1\365\50\0\1\u026f" - + "\63\0\1\u0270\62\0\1\u0271\64\0\1\365\46\0\1\u0272" + "\63\0\1\u0273\53\0\1\u0274\60\0\1\361\72\0\1\u022f" - + "\20\0\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\21\24\1\u0275\10\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\21\24\1\u0276\10\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\21\24\1\u01c2" + "\10\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\26\24\1\u0277\3\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\26\24\1\u0103\3\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\32\24\1\47\5\24\1\u0278\3\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\26\24\1\u0278" - + "\3\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\25\24\1\u0279\4\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\20\24\1\u027a\11\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\32\24\1\47\1\24\1\u0176\7\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\21\24\1\u027b" + "\10\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\30\24\1\213\1\24\1\47" + "\1\24\1\54\7\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\15\24\1\u0110\14\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\14\24\1\u027c\15\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\11\24\1\u01db\20\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\31\24\1\u027d" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\25\24\1\u01fe\4\24\1\47\11\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\25\24\1\u01e5\4\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\26\24" + "\1\u015e\3\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\26\24\1\u0139\3\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\14\24\1\u027e\15\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" - + "\1\0\3\24\1\u027f\26\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\3\24" - + "\1\u01d4\26\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\3\24\1\u0280\26\24" - + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\3\24\1\u01f1\26\24\1\47\11\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\21\24\1\u0254\10\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\21\24" + "\1\u0256\10\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\13\24\1\u0281\16\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\32\24\1\47\1\u0110\10\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\27\24\1\u01e5\2\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" - + "\5\24\1\172\3\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\24\24\1\u0282\5\24\1\47" - + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\27\24\1\u0110\2\24\1\47\11\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\13\24\2\u01d4\15\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\17\24\1\54" + "\6\24\1\54\3\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\25\24\1\146" + "\4\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\23\24\1\143\6\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\15\24\1\52\1\24\1\54\5\24\1\u0283" + "\2\24\1\54\1\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\22\24\1\146" + "\7\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\4\24\1\u0209\25\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\23\24\1\u0284\6\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\4\24\1\143\25\24\1\47\5\24\1\54\3\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\20\24\1\u01d4\11\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\17\24\1\u0285" - + "\12\24\1\47\11\24\30\0\1\u0286\100\0\1\u0287\55\0" + "\1\u0287\64\0\1\u0288\56\0\1\u0289\67\0\1\365\54\0" - + "\1\u028a\55\0\1\u028b\21\0\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\24\24\1\213\5\24" - + "\1\47\1\24\1\u0247\7\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\1\24" - + "\1\u0247\7\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\22\24\1\u0191\7\24\1\47\11\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\26\24\1\u028c\3\24\1\47\11\24\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\13\24" + "\2\u028d\15\24\1\47\11\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\20\24\1\u0247\11\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" - + "\2\0\1\47\1\0\23\24\1\u01e2\6\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" - + "\1\0\1\u0110\2\24\1\u0110\11\24\1\u0110\1\24\1\u0110" + "\4\24\1\u0205\1\u016a\1\24\1\u028e\2\24\1\47\11\24" - + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\32\24\1\47\1\u0222\10\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\4\24\1\u020d" + "\25\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\21\24\1\u020d\10\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\23\24\1\u028f\6\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\17\24\1\u0290\12\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\15\24\1\52" - + "\1\24\1\54\10\24\1\54\1\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" - + "\32\24\1\47\10\24\1\216\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\6\24" - + "\1\u0291\2\24\40\0\1\u0292\66\0\1\365\62\0\1\u01b2" + "\60\0\1\101\7\0\1\u0293\60\0\1\u0294\5\0\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\17\24\1\u0295\12\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\15\24\1\213" + "\6\24\1\216\5\24\1\47\1\24\1\u0176\7\24\1\47" - + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\24\24\1\u013d\5\24\1\47\11\24\1\47\2\24\1\0" - + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" + "\1\24\1\u01e9\7\24\1\47\2\24\1\0\3\47\2\0" - + "\1\50\2\0\1\47\1\0\13\24\1\u0296\16\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" - + "\1\47\1\0\32\24\1\47\6\24\1\u0110\2\24\34\0" + "\1\u0297\55\0\1\u0298\104\0\1\365\6\0\1\47\2\24" - + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\32\24" + "\1\47\3\24\1\u01e5\5\24\1\47\2\24\1\0\3\47" - + "\2\0\1\50\2\0\1\47\1\0\27\24\1\u0299\2\24" + "\1\47\11\24\41\0\1\u029a\60\0\1\u029b\51\0\1\341" - + "\65\0\1\u029c\66\0\1\365\20\0"; - + + "\1\u0238\61\0\1\u0239\56\0\1\u023a\50\0\1\u01b2\67\0" + + "\1\u01b0\53\0\1\u023b\65\0\1\u01a7\24\0\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\26\24" + + "\1\u01ef\3\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\21\24\1\u023c\6\24" + + "\1\u023d\1\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\15\24\1\54\3\24" + + "\1\u01c2\2\24\1\54\3\24\1\u023e\1\24\1\47\1\24" + "\1\54\7\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\25\24\1\54\4\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\15\24\1\54\14\24\1\47\1\24\1\54\7\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\17\24\1\u023f\12\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\12\24" + + "\1\u0240\17\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\16\24\1\213\13\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\15\24\1\213\14\24\1\47\11\24" + + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\24\24\1\54\5\24\1\47\1\24\1\54\3\24" + + "\1\54\3\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\31\24\1\213\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\24\24\1\54\5\24\1\47\1\24\1\54\7\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\17\24\1\u0241\12\24\1\47\1\u0242\10\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\23\24" + "\1\u0243\6\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\27\24\1\u0244\2\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\22\24\1\u0245\7\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\24\24\1\u0246\5\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\21\24" + + "\1\213\6\24\1\u0247\1\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\32\24" + + "\1\47\4\24\1\u0248\4\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\13\24\1\213\1\u0249" + + "\15\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\25\24\1\u024a\4\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\13\24\1\u0110\16\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\26\24\1\u024b\3\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\17\24\1\54" + "\5\24\1\u01dd\4\24\1\47\2\24\1\54\6\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\15\24\1\54\6\24\1\54\5\24\1\47\1\24\1\54" + + "\7\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\22\24\1\u0135\7\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\12\24\1\u01e5\17\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\17\24\1\54" + "\12\24\1\47\2\24\1\54\6\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\1\u024c\1\u01db" + "\5\24\1\u01db\22\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\16\24\1\u0162" + "\13\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\27\24\1\u024d\2\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\31\24\1\u0110\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\16\24" + + "\1\u024e\13\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\4\24" + + "\1\u0110\4\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\26\24\1\u0110\3\24\1\47\11\24" + + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\17\24\1\u024f\12\24\1\47\11\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\20\24" + "\1\u0110\11\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\22\24\1\u0250\7\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\32\24\1\50\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\21\24" + + "\1\u01f0\1\24\1\u01e2\6\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\21\24" + + "\1\54\4\24\1\115\3\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\26\24" + + "\1\u01d5\1\u0251\2\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\22\24\1\u01d6" + + "\7\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\25\24\1\u0252\4\24\1\47" + + "\3\24\1\311\5\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\32\24\1\47\7\24\1\u01e9" + + "\1\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\26\24\1\115\3\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\21\24\1\143\10\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\17\24\1\u024f" + "\3\24\1\u013d\6\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\15\24\1\54" + "\3\24\1\54\2\24\1\54\5\24\1\47\1\24\1\54" + + "\7\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\22\24\1\u0253\7\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\21\24\1\u0254\5\24\1\u0255\2\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\21\24\1\u0256\5\24\1\u0257\2\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\4\24\1\u0258\14\24\1\u0259\10\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\17\24\1\u01e5\12\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\31\24\1\u025a" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\17\24\1\u025b\12\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\13\24\1\u025c\16\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\17\24" + + "\1\u025d\12\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\21\24\1\230\10\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\24\24\1\u0205\5\24\1\47\11\24" + + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\30\24\1\u0244\1\24\1\47\11\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\30\24" + "\1\u025e\1\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\27\24\1\u013d\2\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\4\24\1\u019b\25\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\20\24\1\u0103\11\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\31\24" + + "\1\u025f\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\17\24\1\u01e2\12\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\25\24\1\u025f\4\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\27\24\1\u01f1\2\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\20\24\1\u0260" + "\11\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\1\54\31\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\32\24\1\47\4\24\1\u0261\4\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\27\24" + + "\1\54\2\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\3\24\1\u0262\21\24" + + "\1\257\4\24\1\47\1\257\10\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\25\24\1\u0164" + + "\4\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\27\24\1\u0263\2\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\13\24\1\u01d6\16\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\22\24\1\u0264\7\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\4\24\1\54" + "\11\24\1\u020c\13\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" + "\3\24\1\54\5\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\4\24\1\u020c\22\24\1\u020c" + "\2\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\32\24\1\47\10\24\1\u0265" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\21\24\1\u0177\10\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\17\24" + + "\1\u020f\1\24\2\213\7\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\15\24" + + "\1\u0266\14\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\4\24" + + "\1\u020c\4\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\32\24\1\47\10\24\1\u0266\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\32\24\1\47\4\24\1\u0215\4\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\12\24\1\u0267" + "\17\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\32\24\1\47\3\24\1\u0268" + "\5\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\12\24\1\u01d5\17\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\4\24\1\u0110\25\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" + + "\10\24\1\u0176\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\15\24\1\54\14\24\1\47\11\24" + + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\32\24\1\47\4\24\1\u0269\4\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\4\24" + "\1\143\7\24\1\u01d4\15\24\1\47\11\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\4\24" + "\1\143\6\24\1\u01d4\16\24\1\47\11\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\15\24" + "\1\54\3\24\1\54\2\24\1\54\5\24\1\47\1\24" + + "\1\54\1\24\1\54\5\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\26\24\1\u026a\3\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\21\24\1\u026b\10\24\1\47\11\24" + + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\25\24\1\u026c\4\24\1\47\11\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\13\24" + "\1\u026c\16\24\1\47\11\24\30\0\1\365\61\0\1\341" + + "\14\0\1\101\7\0\1\u026d\47\0\1\354\54\0\1\365" + "\53\0\1\u01b0\76\0\1\101\51\0\1\101\7\0\1\u026e" + + "\47\0\1\365\6\0\1\357\10\0\1\365\50\0\1\u026f" + "\63\0\1\u0270\62\0\1\u0271\64\0\1\365\46\0\1\u0272" + + "\63\0\1\u0273\53\0\1\u0274\60\0\1\361\72\0\1\u022f" + "\20\0\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\21\24\1\u0275\10\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\21\24\1\u0276\10\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\21\24\1\u01c2" + + "\10\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\26\24\1\u0277\3\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\26\24\1\u0103\3\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\32\24\1\47\5\24\1\u0278\3\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\26\24\1\u0278" + "\3\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\25\24\1\u0279\4\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\20\24\1\u027a\11\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\32\24\1\47\1\24\1\u0176\7\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\21\24\1\u027b" + + "\10\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\30\24\1\213\1\24\1\47" + + "\1\24\1\54\7\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\15\24\1\u0110\14\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\14\24\1\u027c\15\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\11\24\1\u01db\20\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\31\24\1\u027d" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\25\24\1\u01fe\4\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\25\24\1\u01e5\4\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\26\24" + + "\1\u015e\3\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\26\24\1\u0139\3\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\14\24\1\u027e\15\24\1\47\11\24" + + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\3\24\1\u027f\26\24\1\47\11\24\1\47\2\24" + + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\3\24" + "\1\u01d4\26\24\1\47\11\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\3\24\1\u0280\26\24" + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\3\24\1\u01f1\26\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\21\24\1\u0254\10\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\21\24" + + "\1\u0256\10\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\13\24\1\u0281\16\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\32\24\1\47\1\u0110\10\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\27\24\1\u01e5\2\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" + "\5\24\1\172\3\24\1\47\2\24\1\0\3\47\2\0" + + "\1\50\2\0\1\47\1\0\24\24\1\u0282\5\24\1\47" + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + + "\1\47\1\0\27\24\1\u0110\2\24\1\47\11\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\13\24\2\u01d4\15\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\17\24\1\54" + + "\6\24\1\54\3\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\25\24\1\146" + + "\4\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\23\24\1\143\6\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\15\24\1\52\1\24\1\54\5\24\1\u0283" + + "\2\24\1\54\1\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\22\24\1\146" + + "\7\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\4\24\1\u0209\25\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\23\24\1\u0284\6\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\4\24\1\143\25\24\1\47\5\24\1\54\3\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\20\24\1\u01d4\11\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\17\24\1\u0285" + "\12\24\1\47\11\24\30\0\1\u0286\100\0\1\u0287\55\0" + + "\1\u0287\64\0\1\u0288\56\0\1\u0289\67\0\1\365\54\0" + "\1\u028a\55\0\1\u028b\21\0\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\24\24\1\213\5\24" + "\1\47\1\24\1\u0247\7\24\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\1\24" + "\1\u0247\7\24\1\47\2\24\1\0\3\47\2\0\1\50" + + "\2\0\1\47\1\0\22\24\1\u0191\7\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\26\24\1\u028c\3\24\1\47\11\24\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\13\24" + + "\2\u028d\15\24\1\47\11\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\20\24\1\u0247\11\24" + + "\1\47\11\24\1\47\2\24\1\0\3\47\2\0\1\50" + "\2\0\1\47\1\0\23\24\1\u01e2\6\24\1\47\11\24" + + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + "\1\0\1\u0110\2\24\1\u0110\11\24\1\u0110\1\24\1\u0110" + + "\4\24\1\u0205\1\u016a\1\24\1\u028e\2\24\1\47\11\24" + "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47" + + "\1\0\32\24\1\47\1\u0222\10\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\4\24\1\u020d" + + "\25\24\1\47\11\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\21\24\1\u020d\10\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\23\24\1\u028f\6\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\17\24\1\u0290\12\24\1\47\11\24\1\47\2\24\1\0" + + "\3\47\2\0\1\50\2\0\1\47\1\0\15\24\1\52" + "\1\24\1\54\10\24\1\54\1\24\1\47\11\24\1\47" + + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + "\32\24\1\47\10\24\1\216\1\47\2\24\1\0\3\47" + + "\2\0\1\50\2\0\1\47\1\0\32\24\1\47\6\24" + "\1\u0291\2\24\40\0\1\u0292\66\0\1\365\62\0\1\u01b2" + + "\60\0\1\101\7\0\1\u0293\60\0\1\u0294\5\0\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\17\24\1\u0295\12\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\15\24\1\213" + + "\6\24\1\216\5\24\1\47\1\24\1\u0176\7\24\1\47" + "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0" + + "\24\24\1\u013d\5\24\1\47\11\24\1\47\2\24\1\0" + "\3\47\2\0\1\50\2\0\1\47\1\0\32\24\1\47" + + "\1\24\1\u01e9\7\24\1\47\2\24\1\0\3\47\2\0" + "\1\50\2\0\1\47\1\0\13\24\1\u0296\16\24\1\47" + + "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0" + "\1\47\1\0\32\24\1\47\6\24\1\u0110\2\24\34\0" + + "\1\u0297\55\0\1\u0298\104\0\1\365\6\0\1\47\2\24" + "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\32\24" + + "\1\47\3\24\1\u01e5\5\24\1\47\2\24\1\0\3\47" + "\2\0\1\50\2\0\1\47\1\0\27\24\1\u0299\2\24" + + "\1\47\11\24\41\0\1\u029a\60\0\1\u029b\51\0\1\341" + "\65\0\1\u029c\66\0\1\365\20\0"; + private static int[] zzUnpackTrans() { int[] result = new int[31850]; 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 */ @@ -766,7 +769,7 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -778,16 +781,17 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\11\5\1\1\11\1\1\1\11\44\1\2\11" + "\25\0\225\1\31\0\1\11\11\0\245\1\1\0\1\1" - + "\10\0\1\1\17\0\155\1\1\0\1\1\3\0\1\1" + "\5\0\1\1\5\0\61\1\7\0\22\1\1\0\1\1" + "\2\0\1\1\1\0\6\1\3\0\2\1\2\0\2\1" + "\2\0"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\11\5\1\1\11\1\1\1\11\44\1\2\11" + + "\25\0\225\1\31\0\1\11\11\0\245\1\1\0\1\1" + "\10\0\1\1\17\0\155\1\1\0\1\1\3\0\1\1" + + "\5\0\1\1\5\0\61\1\7\0\22\1\1\0\1\1" + "\2\0\1\1\1\0\6\1\3\0\2\1\2\0\2\1" + "\2\0"; + private static int[] zzUnpackAttribute() { int[] result = new int[668]; 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 */ @@ -801,7 +805,7 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -809,8 +813,8 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -820,8 +824,7 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** @@ -831,57 +834,49 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. We must have this here as JFLex does not generate a - * no parameter constructor. + * Constructor. We must have this here as JFLex does not generate a no parameter + * constructor. */ public AssemblerX86TokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -889,21 +884,18 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { ";", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -912,8 +904,8 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - default: - state = Token.NULL; + default: + state = Token.NULL; } s = text; try { @@ -925,36 +917,34 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -965,34 +955,31 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { zzAtBOL = true; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public AssemblerX86TokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public AssemblerX86TokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -1008,7 +995,7 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1018,69 +1005,64 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1091,29 +1073,27 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1131,32 +1111,32 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { zzMarkedPosL = zzMarkedPos; if (zzMarkedPosL > zzStartRead) { switch (zzBufferL[zzMarkedPosL - 1]) { - case '\n': - case '\u000B': - case '\u000C': - case '\u0085': - case '\u2028': - case '\u2029': - zzAtBOL = true; - break; - case '\r': - if (zzMarkedPosL < zzEndReadL) - zzAtBOL = zzBufferL[zzMarkedPosL] != '\n'; - else if (zzAtEOF) - zzAtBOL = false; - else { - boolean eof = zzRefill(); - zzMarkedPosL = zzMarkedPos; - zzEndReadL = zzEndRead; - zzBufferL = zzBuffer; - if (eof) - zzAtBOL = false; - else - zzAtBOL = zzBufferL[zzMarkedPosL] != '\n'; - } - break; - default: + case '\n': + case '\u000B': + case '\u000C': + case '\u0085': + case '\u2028': + case '\u2029': + zzAtBOL = true; + break; + case '\r': + if (zzMarkedPosL < zzEndReadL) + zzAtBOL = zzBufferL[zzMarkedPosL] != '\n'; + else if (zzAtEOF) zzAtBOL = false; + else { + boolean eof = zzRefill(); + zzMarkedPosL = zzMarkedPos; + zzEndReadL = zzEndRead; + zzBufferL = zzBuffer; + if (eof) + zzAtBOL = false; + else + zzAtBOL = zzBufferL[zzMarkedPosL] != '\n'; + } + break; + default: + zzAtBOL = false; } } zzAction = -1; @@ -1165,8 +1145,7 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { zzState = ZZ_LEXSTATE[zzLexicalState + 1]; else zzState = ZZ_LEXSTATE[zzLexicalState]; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1206,105 +1185,104 @@ public class AssemblerX86TokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 11: { - addToken(Token.RESERVED_WORD); - } - case 16: - break; - case 1: { - addToken(Token.IDENTIFIER); - } - case 17: - break; - case 12: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 18: - break; - case 9: { - addToken(Token.FUNCTION); - } - case 19: - break; - case 5: { - addToken(Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 20: - break; - case 14: { - addToken(Token.VARIABLE); - } - case 21: - break; - case 7: { - addToken(Token.WHITESPACE); - } - case 22: - break; - case 10: { - addToken(Token.PREPROCESSOR); - } - case 23: - break; - case 15: { - addToken(Token.DATA_TYPE); - } - case 24: - break; - case 4: { - addToken(Token.ERROR_CHAR); /* - * addNullToken(); return - * firstToken; - */ - } - case 25: - break; - case 8: { - addToken(Token.OPERATOR); - } - case 26: - break; - case 2: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 27: - break; - case 13: { - addToken(Token.LITERAL_CHAR); - } - case 28: - break; - case 3: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 29: - break; - case 6: { - addNullToken(); - return firstToken; - } - case 30: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 669: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 11: { + addToken(Token.RESERVED_WORD); + } + case 16: + break; + case 1: { + addToken(Token.IDENTIFIER); + } + case 17: + break; + case 12: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 18: + break; + case 9: { + addToken(Token.FUNCTION); + } + case 19: + break; + case 5: { + addToken(Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 20: + break; + case 14: { + addToken(Token.VARIABLE); + } + case 21: + break; + case 7: { + addToken(Token.WHITESPACE); + } + case 22: + break; + case 10: { + addToken(Token.PREPROCESSOR); + } + case 23: + break; + case 15: { + addToken(Token.DATA_TYPE); + } + case 24: + break; + case 4: { + addToken(Token.ERROR_CHAR); /* + * addNullToken(); return firstToken; + */ + } + case 25: + break; + case 8: { + addToken(Token.OPERATOR); + } + case 26: + break; + case 2: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 27: + break; + case 13: { + addToken(Token.LITERAL_CHAR); + } + case 28: + break; + case 3: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 29: + break; + case 6: { + addNullToken(); + return firstToken; + } + case 30: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case YYINITIAL: { + addNullToken(); + return firstToken; } + case 669: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/BBCodeTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/BBCodeTokenMaker.java index ae4f1c6..959c5d2 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/BBCodeTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/BBCodeTokenMaker.java @@ -19,16 +19,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -38,16 +37,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated BBCodeTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -55,7 +54,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -75,15 +74,16 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\2\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7" + "\4\10\6\5\1\11\1\12\1\4\23\5"; - + private static final String ZZ_ACTION_PACKED_0 = "\2\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7" + + "\4\10\6\5\1\11\1\12\1\4\23\5"; + private static int[] zzUnpackAction() { int[] result = new int[41]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -97,23 +97,24 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\31\0\62\0\113\0\144\0\175\0\226\0\144" - + "\0\144\0\226\0\257\0\310\0\341\0\372\0\u0113\0\u012c" + "\0\u0145\0\u015e\0\u0177\0\u0190\0\144\0\144\0\u01a9\0\u01c2" + + "\0\144\0\226\0\257\0\310\0\341\0\372\0\u0113\0\u012c" + + "\0\u0145\0\u015e\0\u0177\0\u0190\0\144\0\144\0\u01a9\0\u01c2" + "\0\u01db\0\u01f4\0\u020d\0\u0226\0\u023f\0\u0258\0\u0271\0\u028a" + "\0\u02a3\0\u02bc\0\u02d5\0\u02ee\0\u0307\0\u0320\0\u0339\0\u0352" + "\0\u036b"; - + private static int[] zzUnpackRowMap() { int[] result = new int[41]; 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 */ @@ -124,29 +125,33 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\5\1\6\25\3\1\7\1\4\1\0" + "\1\10\1\11\1\12\1\13\1\14\1\15\2\7\1\16" - + "\1\17\1\20\3\7\1\21\1\7\1\22\1\23\2\7" + "\1\24\1\25\1\3\3\0\25\3\1\0\1\4\107\0" + "\1\26\1\0\1\7\4\0\22\7\2\0\1\7\4\0" - + "\15\7\1\27\4\7\2\0\1\7\4\0\10\7\1\12" + "\1\17\10\7\2\0\1\7\4\0\1\7\1\30\20\7" + "\2\0\1\7\4\0\5\7\1\31\1\7\1\32\12\7" - + "\2\0\1\7\4\0\10\7\1\12\11\7\2\0\1\7" + "\4\0\1\7\1\12\20\7\2\0\1\7\4\0\2\7" + "\1\33\17\7\2\0\1\7\4\0\20\7\1\34\1\7" - + "\2\0\1\7\4\0\7\7\1\35\12\7\6\0\1\11" + "\24\0\1\7\4\0\16\7\1\12\3\7\2\0\1\7" + "\4\0\4\7\1\36\15\7\2\0\1\7\4\0\12\7" - + "\1\37\7\7\2\0\1\7\4\0\10\7\1\40\11\7" + "\2\0\1\7\4\0\7\7\1\41\12\7\2\0\1\7" + "\4\0\1\7\1\42\20\7\2\0\1\7\4\0\2\7" - + "\1\43\17\7\2\0\1\7\4\0\5\7\1\12\14\7" + "\2\0\1\7\4\0\13\7\1\44\6\7\2\0\1\7" + "\4\0\7\7\1\45\12\7\2\0\1\7\4\0\13\7" - + "\1\36\6\7\2\0\1\7\4\0\21\7\1\46\2\0" + "\1\7\4\0\13\7\1\47\6\7\2\0\1\7\4\0" + "\5\7\1\45\14\7\2\0\1\7\4\0\11\7\1\12" - + "\10\7\2\0\1\7\4\0\5\7\1\50\14\7\2\0" + "\1\7\4\0\2\7\1\51\17\7\2\0\1\7\4\0" + "\7\7\1\12\12\7\2\0\1\7\4\0\1\36\21\7" - + "\2\0"; - + private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\5\1\6\25\3\1\7\1\4\1\0" + + "\1\10\1\11\1\12\1\13\1\14\1\15\2\7\1\16" + "\1\17\1\20\3\7\1\21\1\7\1\22\1\23\2\7" + + "\1\24\1\25\1\3\3\0\25\3\1\0\1\4\107\0" + "\1\26\1\0\1\7\4\0\22\7\2\0\1\7\4\0" + + "\15\7\1\27\4\7\2\0\1\7\4\0\10\7\1\12" + "\1\17\10\7\2\0\1\7\4\0\1\7\1\30\20\7" + + "\2\0\1\7\4\0\5\7\1\31\1\7\1\32\12\7" + "\2\0\1\7\4\0\10\7\1\12\11\7\2\0\1\7" + + "\4\0\1\7\1\12\20\7\2\0\1\7\4\0\2\7" + "\1\33\17\7\2\0\1\7\4\0\20\7\1\34\1\7" + + "\2\0\1\7\4\0\7\7\1\35\12\7\6\0\1\11" + "\24\0\1\7\4\0\16\7\1\12\3\7\2\0\1\7" + + "\4\0\4\7\1\36\15\7\2\0\1\7\4\0\12\7" + "\1\37\7\7\2\0\1\7\4\0\10\7\1\40\11\7" + + "\2\0\1\7\4\0\7\7\1\41\12\7\2\0\1\7" + "\4\0\1\7\1\42\20\7\2\0\1\7\4\0\2\7" + + "\1\43\17\7\2\0\1\7\4\0\5\7\1\12\14\7" + "\2\0\1\7\4\0\13\7\1\44\6\7\2\0\1\7" + + "\4\0\7\7\1\45\12\7\2\0\1\7\4\0\13\7" + "\1\36\6\7\2\0\1\7\4\0\21\7\1\46\2\0" + + "\1\7\4\0\13\7\1\47\6\7\2\0\1\7\4\0" + "\5\7\1\45\14\7\2\0\1\7\4\0\11\7\1\12" + + "\10\7\2\0\1\7\4\0\5\7\1\50\14\7\2\0" + "\1\7\4\0\2\7\1\51\17\7\2\0\1\7\4\0" + + "\7\7\1\12\12\7\2\0\1\7\4\0\1\36\21\7" + "\2\0"; + private static int[] zzUnpackTrans() { int[] result = new int[900]; 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 */ @@ -161,7 +166,7 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -174,14 +179,14 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\2\1\1\11\2\1\2\11\13\1\2\11\23\1"; - + private static int[] zzUnpackAttribute() { int[] result = new int[41]; 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 */ @@ -195,7 +200,7 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -203,8 +208,8 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -214,75 +219,67 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** - * Token type specific to BBCodeTokenMaker; this signals that the user has - * ended a line with an unclosed tag; thus a new line is beginning - * still inside of the tag. + * Token type specific to BBCodeTokenMaker; this signals that the user has ended + * a line with an unclosed tag; thus a new line is beginning still inside of the + * tag. */ public static final int INTERNAL_INTAG = -1; /** * Whether closing markup tags are automatically completed for BBCode. */ private static boolean completeCloseTags = true; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public BBCodeTokenMaker() {} - + public BBCodeTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** - * Sets whether markup close tags should be completed. The default value - * for BBCode is true. + * Sets whether markup close tags should be completed. The default value for + * BBCode is true. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) @@ -291,7 +288,7 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { public boolean getCompleteCloseTags() { return completeCloseTags; } - + /** * Returns null since BBCode has no comments. * @@ -301,21 +298,18 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return null; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -324,12 +318,12 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case INTERNAL_INTAG: - state = INTAG; - start = text.offset; - break; - default: - state = Token.NULL; + case INTERNAL_INTAG: + state = INTAG; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -341,47 +335,44 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { return new TokenImpl(); } } - + /** * Sets whether markup close tags should be completed. * - * @param complete - * Whether closing markup tags are completed. + * @param complete Whether closing markup tags are completed. * @see #getCompleteCloseTags() */ public static void setCompleteCloseTags(boolean complete) { completeCloseTags = complete; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -391,34 +382,31 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public BBCodeTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public BBCodeTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -434,7 +422,7 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -444,69 +432,64 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -517,29 +500,27 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -558,8 +539,7 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -599,82 +579,81 @@ public class BBCodeTokenMaker extends AbstractMarkupTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 1: { - addToken(Token.IDENTIFIER); - } - case 11: - break; - case 9: { - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 12: - break; - case 2: { - addToken(Token.WHITESPACE); - } - case 13: - break; - case 10: { - addToken(Token.OPERATOR); - } - case 14: - break; - case 8: { - addToken(Token.MARKUP_TAG_NAME); - } - case 15: - break; - case 4: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(INTAG); - } - case 16: - break; - case 6: { - addToken( - Token.IDENTIFIER); /* Unhandled chars, not likely */ - } - case 17: - break; - case 5: { - addToken(Token.MARKUP_TAG_ATTRIBUTE); - } - case 18: - break; - case 3: { - addNullToken(); - return firstToken; - } - case 19: - break; - case 7: { - yybegin(YYINITIAL); - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 20: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case INTAG: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); - return firstToken; - } - case 42: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 43: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 1: { + addToken(Token.IDENTIFIER); + } + case 11: + break; + case 9: { + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 12: + break; + case 2: { + addToken(Token.WHITESPACE); + } + case 13: + break; + case 10: { + addToken(Token.OPERATOR); + } + case 14: + break; + case 8: { + addToken(Token.MARKUP_TAG_NAME); + } + case 15: + break; + case 4: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(INTAG); + } + case 16: + break; + case 6: { + addToken(Token.IDENTIFIER); /* Unhandled chars, not likely */ + } + case 17: + break; + case 5: { + addToken(Token.MARKUP_TAG_ATTRIBUTE); + } + case 18: + break; + case 3: { + addNullToken(); + return firstToken; + } + case 19: + break; + case 7: { + yybegin(YYINITIAL); + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 20: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case INTAG: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); + return firstToken; } + case 42: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 43: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/CPlusPlusTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/CPlusPlusTokenMaker.java index d856e56..2c889b0 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/CPlusPlusTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/CPlusPlusTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated CPlusPlusTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** initial size of the lookahead buffer */ @@ -72,10 +71,11 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\50\1\43\1\0\1\50\1\56\22\0\1\50\1\36\1\44" + "\1\57\1\60\1\65\1\113\1\33\1\31\1\31\1\51\1\7\1\64" + "\1\37\1\54\1\32\1\47\1\77\1\76\1\41\4\5\2\3\1\70" - + "\1\63\1\34\1\30\1\35\1\27\1\61\1\103\1\4\1\111\1\102" + "\1\6\1\55\2\1\1\105\2\1\1\53\1\106\1\107\4\1\1\110" - + "\1\104\1\52\2\1\1\42\2\1\1\62\1\40\1\62\1\115\1\2" + "\1\0\1\24\1\46\1\21\1\10\1\11\1\12\1\25\1\66\1\13" - + "\1\100\1\72\1\15\1\26\1\14\1\20\1\23\1\101\1\17\1\16" + "\1\67\1\22\1\45\1\71\1\74\1\73\1\75\1\112\1\114\1\112" - + "\1\64\uff81\0"; + + "\1\63\1\34\1\30\1\35\1\27\1\61\1\103\1\4\1\111\1\102" + + "\1\6\1\55\2\1\1\105\2\1\1\53\1\106\1\107\4\1\1\110" + "\1\104\1\52\2\1\1\42\2\1\1\62\1\40\1\62\1\115\1\2" + + "\1\0\1\24\1\46\1\21\1\10\1\11\1\12\1\25\1\66\1\13" + + "\1\100\1\72\1\15\1\26\1\14\1\20\1\23\1\101\1\17\1\16" + + "\1\67\1\22\1\45\1\71\1\74\1\73\1\75\1\112\1\114\1\112" + "\1\64\uff81\0"; /** * Translates characters to character classes */ @@ -84,20 +84,23 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\3\0\1\1\2\2\1\3\1\4\17\2\2\4\1\5" + "\1\4\1\6\3\4\1\2\1\7\1\10\2\2\1\3" - + "\1\11\1\4\2\1\1\2\1\4\3\2\2\4\2\12" + "\1\13\5\12\1\14\1\15\2\12\1\2\2\16\2\3" + "\1\17\2\2\1\20\22\2\1\20\56\2\1\0\1\21" - + "\1\22\2\23\1\24\1\6\2\10\1\25\10\2\1\16" + "\6\1\1\0\14\2\2\0\1\26\4\0\1\27\2\0" + "\5\2\1\3\1\0\1\3\1\16\1\17\3\2\1\30" - + "\6\2\1\30\23\2\1\31\16\2\1\30\1\2\1\30" + "\40\2\1\30\15\2\1\6\1\32\1\6\3\23\1\6" + "\2\10\1\33\7\2\1\34\4\1\1\35\4\1\6\0" - + "\14\2\10\0\5\2\1\17\1\0\37\2\1\31\45\2" + "\1\30\2\2\1\30\7\2\1\6\1\10\7\2\2\34" + "\7\1\4\0\1\35\4\0\11\2\2\0\1\36\2\0" - + "\1\37\44\2\1\20\14\2\1\34\1\35\3\1\7\0" + "\10\2\4\0\11\2\1\40\11\2\2\1\1\35\3\0" + "\12\2\2\0\1\35\4\2"; - + private static final String ZZ_ACTION_PACKED_0 = "\3\0\1\1\2\2\1\3\1\4\17\2\2\4\1\5" + + "\1\4\1\6\3\4\1\2\1\7\1\10\2\2\1\3" + "\1\11\1\4\2\1\1\2\1\4\3\2\2\4\2\12" + + "\1\13\5\12\1\14\1\15\2\12\1\2\2\16\2\3" + "\1\17\2\2\1\20\22\2\1\20\56\2\1\0\1\21" + + "\1\22\2\23\1\24\1\6\2\10\1\25\10\2\1\16" + "\6\1\1\0\14\2\2\0\1\26\4\0\1\27\2\0" + + "\5\2\1\3\1\0\1\3\1\16\1\17\3\2\1\30" + "\6\2\1\30\23\2\1\31\16\2\1\30\1\2\1\30" + + "\40\2\1\30\15\2\1\6\1\32\1\6\3\23\1\6" + "\2\10\1\33\7\2\1\34\4\1\1\35\4\1\6\0" + + "\14\2\10\0\5\2\1\17\1\0\37\2\1\31\45\2" + "\1\30\2\2\1\30\7\2\1\6\1\10\7\2\2\34" + + "\7\1\4\0\1\35\4\0\11\2\2\0\1\36\2\0" + "\1\37\44\2\1\20\14\2\1\34\1\35\3\1\7\0" + + "\10\2\4\0\11\2\1\40\11\2\2\1\1\35\3\0" + "\12\2\2\0\1\35\4\2"; + private static int[] zzUnpackAction() { int[] result = new int[583]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -111,7 +114,7 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -189,14 +192,14 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { + "\0\ua266\0\ua2b4\0\u079e\0\ua302\0\ua350\0\ua39e\0\ua3ec\0\ua43a" + "\0\ua488\0\u932a\0\ua4d6\0\ua524\0\ua572\0\ua5c0\0\ua60e\0\ua65c" + "\0\ua6aa\0\ua6f8\0\u0138\0\ua746\0\ua794\0\ua7e2\0\ua830"; - + private static int[] zzUnpackRowMap() { int[] result = new int[583]; 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 */ @@ -207,533 +210,767 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\4\1\5\1\6\1\7\1\5\1\7\1\5\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\24\1\25\1\26\1\27\1\30" + "\1\31\1\32\1\33\1\34\1\35\1\36\1\31\1\37" - + "\1\40\1\7\1\5\1\41\1\42\1\43\1\44\1\45" + "\1\46\1\31\2\5\1\47\1\5\1\50\1\51\2\4" + "\1\32\1\52\1\53\1\31\1\5\1\54\1\53\1\55" + private static final String ZZ_TRANS_PACKED_0 = "\1\4\1\5\1\6\1\7\1\5\1\7\1\5\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\24\1\25\1\26\1\27\1\30" + + "\1\31\1\32\1\33\1\34\1\35\1\36\1\31\1\37" + "\1\40\1\7\1\5\1\41\1\42\1\43\1\44\1\45" + + "\1\46\1\31\2\5\1\47\1\5\1\50\1\51\2\4" + "\1\32\1\52\1\53\1\31\1\5\1\54\1\53\1\55" + "\4\5\2\7\1\5\1\56\10\5\1\32\1\57\1\60" + "\1\31\12\61\1\62\30\61\1\63\5\61\1\64\14\61" + "\1\65\2\61\1\66\24\61\12\67\1\70\25\67\1\71" + "\2\67\1\72\22\67\1\73\2\67\1\74\24\67\7\4" - + "\1\0\17\4\11\0\3\4\2\0\3\4\2\0\2\4" + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\1\5\1\75\4\5\1\0\17\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\3\76" + "\1\7\1\76\1\7\1\77\1\0\1\76\1\77\3\76" - + "\1\100\4\76\1\101\4\76\11\0\1\76\1\7\1\76" + "\2\0\2\76\1\7\2\0\1\101\1\100\1\102\1\76" - + "\1\0\3\76\4\0\2\76\1\0\5\76\2\7\12\76" + "\13\0\1\53\20\0\1\53\65\0\1\4\6\5\1\0" + "\1\5\1\103\1\5\1\104\4\5\1\105\6\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\2\5" + "\1\106\16\5\4\0\1\4\6\5\1\0\4\5\1\107" - + "\1\110\1\5\1\111\7\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\3\5\1\112\15\5\4\0" + + "\1\0\17\4\11\0\3\4\2\0\3\4\2\0\2\4" + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" + + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\1\5\1\75\4\5\1\0\17\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\3\76" + + "\1\7\1\76\1\7\1\77\1\0\1\76\1\77\3\76" + "\1\100\4\76\1\101\4\76\11\0\1\76\1\7\1\76" + + "\2\0\2\76\1\7\2\0\1\101\1\100\1\102\1\76" + "\1\0\3\76\4\0\2\76\1\0\5\76\2\7\12\76" + + "\13\0\1\53\20\0\1\53\65\0\1\4\6\5\1\0" + "\1\5\1\103\1\5\1\104\4\5\1\105\6\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\2\5" + + "\1\106\16\5\4\0\1\4\6\5\1\0\4\5\1\107" + "\1\110\1\5\1\111\7\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\3\5\1\112\15\5\4\0" + "\1\4\6\5\1\0\1\5\1\113\1\114\2\5\1\115" + "\1\116\1\117\1\120\1\121\1\5\1\122\1\123\1\124" - + "\1\125\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + "\1\126\1\0\1\127\20\5\4\0\1\4\6\5\1\0" - + "\2\5\1\130\1\5\1\131\1\5\1\132\10\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\1\5\1\133\12\5\1\134" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\1\135\7\5" + "\1\136\3\5\1\137\2\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\1\5\1\140\1\5\1\141\2\5\1\142\1\143" + "\1\5\1\144\1\5\1\145\3\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\146\1\147\1\0\1\150\1\5" + "\1\151\5\5\1\152\10\5\4\0\1\4\6\5\1\0" - + "\1\5\1\153\12\5\1\154\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\2\5\1\155\10\5\1\156\3\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\1\5\1\157\3\5\1\160" + "\2\5\1\161\3\5\1\162\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\1\163\1\164\1\0\21\5\4\0" + "\1\4\6\5\1\0\4\5\1\165\1\5\1\166\10\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\167\5\5" + "\1\170\1\171\1\5\1\172\4\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\6\5\1\173\2\5\1\174\1\175\4\5" - + "\11\0\1\4\2\5\2\0\1\5\1\176\1\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\177\1\0\21\5\4\0\1\4\6\5\1\0" - + "\1\5\1\200\6\5\1\175\5\5\1\201\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\1\5\1\202\6\5\1\203\1\5" + "\1\204\1\5\1\205\2\5\11\0\1\4\2\5\2\0" + "\1\5\1\206\1\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\1\5\1\201" + "\17\5\33\0\1\207\116\0\1\53\233\0\1\53\1\0" - + "\1\210\16\0\1\211\44\0\27\212\1\213\3\212\1\214" + "\4\212\1\215\2\212\1\0\52\212\30\0\1\53\3\0" - + "\1\31\111\0\1\53\4\0\1\31\110\0\1\53\6\0" + "\1\53\56\0\40\42\1\216\2\42\1\217\1\220\51\42" - + "\1\4\6\5\1\0\2\5\1\221\1\222\2\5\1\221" + "\1\5\1\223\2\5\1\145\1\224\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\1\225\20\5" + "\4\0\1\4\6\5\1\0\6\5\1\226\1\227\7\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\230" + "\1\0\21\5\4\0\3\76\1\7\1\76\1\7\1\77" + "\1\0\1\76\1\77\3\76\1\100\4\76\1\101\4\76" + + "\1\125\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + + "\1\126\1\0\1\127\20\5\4\0\1\4\6\5\1\0" + "\2\5\1\130\1\5\1\131\1\5\1\132\10\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\5\1\133\12\5\1\134" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\1\135\7\5" + + "\1\136\3\5\1\137\2\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\1\5\1\140\1\5\1\141\2\5\1\142\1\143" + + "\1\5\1\144\1\5\1\145\3\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\1\146\1\147\1\0\1\150\1\5" + "\1\151\5\5\1\152\10\5\4\0\1\4\6\5\1\0" + + "\1\5\1\153\12\5\1\154\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\2\5\1\155\10\5\1\156\3\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\5\1\157\3\5\1\160" + "\2\5\1\161\3\5\1\162\2\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\163\1\164\1\0\21\5\4\0" + + "\1\4\6\5\1\0\4\5\1\165\1\5\1\166\10\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\167\5\5" + + "\1\170\1\171\1\5\1\172\4\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\6\5\1\173\2\5\1\174\1\175\4\5" + + "\11\0\1\4\2\5\2\0\1\5\1\176\1\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\1\5\1\177\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\200\6\5\1\175\5\5\1\201\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\1\5\1\202\6\5\1\203\1\5" + "\1\204\1\5\1\205\2\5\11\0\1\4\2\5\2\0" + + "\1\5\1\206\1\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\1\5\1\201" + + "\17\5\33\0\1\207\116\0\1\53\233\0\1\53\1\0" + "\1\210\16\0\1\211\44\0\27\212\1\213\3\212\1\214" + + "\4\212\1\215\2\212\1\0\52\212\30\0\1\53\3\0" + "\1\31\111\0\1\53\4\0\1\31\110\0\1\53\6\0" + + "\1\53\56\0\40\42\1\216\2\42\1\217\1\220\51\42" + "\1\4\6\5\1\0\2\5\1\221\1\222\2\5\1\221" + + "\1\5\1\223\2\5\1\145\1\224\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\1\225\20\5" + "\4\0\1\4\6\5\1\0\6\5\1\226\1\227\7\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\230" + + "\1\0\21\5\4\0\3\76\1\7\1\76\1\7\1\77" + "\1\0\1\76\1\77\3\76\1\100\4\76\1\101\4\76" + "\11\0\1\76\1\7\1\231\2\0\2\76\1\7\2\0" + "\1\101\1\100\1\102\1\76\1\0\3\76\4\0\2\76" + "\1\0\3\76\1\231\1\76\2\7\12\76\54\0\1\46" + "\50\0\1\102\1\0\1\102\33\0\1\102\5\0\1\102" + "\26\0\2\102\16\0\7\4\1\0\1\232\1\233\1\4" + "\1\234\1\4\1\235\4\4\1\236\1\237\3\4\11\0" - + "\3\4\2\0\3\4\1\240\1\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\1\4" + "\6\5\1\0\1\5\1\241\1\5\1\242\3\5\1\243" - + "\1\244\3\5\1\245\1\5\1\246\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\247\1\5\1\0\2\5\1\250" - + "\16\5\4\0\1\4\6\5\1\0\6\5\1\142\2\5" + "\1\251\1\5\1\145\2\5\1\252\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\1\253\1\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\6\5\1\254\10\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\34\0" + "\1\53\62\0\1\53\32\0\1\53\63\0\1\53\1\0" + "\12\61\1\0\30\61\1\0\5\61\1\0\14\61\1\0" - + "\2\61\1\0\24\61\13\0\1\255\53\0\1\256\60\0" + "\1\257\152\0\1\260\117\0\1\261\24\0\12\67\1\0" - + "\25\67\1\0\2\67\1\0\22\67\1\0\2\67\1\0" + "\24\67\13\0\1\262\53\0\1\263\26\0\43\264\1\0" - + "\52\264\67\0\1\265\117\0\1\266\24\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\1\5\1\267\1\0\1\270\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\11\5\1\271\1\5\1\272\3\5" + "\1\273\1\5\4\0\7\76\1\0\17\76\11\0\3\76" + "\2\0\3\76\2\0\2\76\1\0\1\76\1\0\3\76" - + "\4\0\2\76\1\0\21\76\4\0\3\76\1\274\1\76" + "\1\274\1\76\1\275\17\76\10\0\1\275\1\76\1\274" - + "\1\76\2\0\2\76\1\274\2\0\2\76\1\0\1\76" + "\1\0\3\76\4\0\2\76\1\0\5\76\2\274\12\76" - + "\4\0\7\76\1\0\12\76\1\276\4\76\11\0\3\76" + "\2\0\3\76\2\0\1\276\1\76\1\0\1\76\1\0" + "\3\76\4\0\2\76\1\0\21\76\4\0\7\76\1\0" + + "\3\4\2\0\3\4\1\240\1\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\1\4" + + "\6\5\1\0\1\5\1\241\1\5\1\242\3\5\1\243" + "\1\244\3\5\1\245\1\5\1\246\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\247\1\5\1\0\2\5\1\250" + + "\16\5\4\0\1\4\6\5\1\0\6\5\1\142\2\5" + "\1\251\1\5\1\145\2\5\1\252\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\253\1\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\6\5\1\254\10\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\34\0" + "\1\53\62\0\1\53\32\0\1\53\63\0\1\53\1\0" + + "\12\61\1\0\30\61\1\0\5\61\1\0\14\61\1\0" + "\2\61\1\0\24\61\13\0\1\255\53\0\1\256\60\0" + + "\1\257\152\0\1\260\117\0\1\261\24\0\12\67\1\0" + "\25\67\1\0\2\67\1\0\22\67\1\0\2\67\1\0" + + "\24\67\13\0\1\262\53\0\1\263\26\0\43\264\1\0" + "\52\264\67\0\1\265\117\0\1\266\24\0\1\4\6\5" + + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\1\5\1\267\1\0\1\270\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\11\5\1\271\1\5\1\272\3\5" + "\1\273\1\5\4\0\7\76\1\0\17\76\11\0\3\76" + + "\2\0\3\76\2\0\2\76\1\0\1\76\1\0\3\76" + "\4\0\2\76\1\0\21\76\4\0\3\76\1\274\1\76" + + "\1\274\1\76\1\275\17\76\10\0\1\275\1\76\1\274" + "\1\76\2\0\2\76\1\274\2\0\2\76\1\0\1\76" + + "\1\0\3\76\4\0\2\76\1\0\5\76\2\274\12\76" + "\4\0\7\76\1\0\12\76\1\276\4\76\11\0\3\76" + + "\2\0\3\76\2\0\1\276\1\76\1\0\1\76\1\0" + "\3\76\4\0\2\76\1\0\21\76\4\0\7\76\1\0" + "\5\76\1\276\11\76\11\0\3\76\2\0\3\76\2\0" + "\1\76\1\276\1\0\1\76\1\0\3\76\4\0\2\76" + "\1\0\21\76\4\0\3\76\1\102\1\76\1\102\1\277" + "\1\0\1\76\1\277\1\300\2\76\1\300\11\76\11\0" + "\1\76\1\102\1\76\2\0\2\76\1\102\2\0\1\76" + "\1\300\1\0\1\300\1\0\3\76\4\0\2\76\1\0" - + "\5\76\2\102\12\76\4\0\1\4\6\5\1\0\2\5" + "\1\301\2\5\1\302\11\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\2\5\1\303\14\5\11\0\1\4\2\5\2\0" + "\1\304\2\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\12\5\1\305\4\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\4\5\1\306\12\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\12\5\1\307\4\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\6\5\1\310\10\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\7\5\1\311\7\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\3\5\1\312\7\5\1\313\3\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\1\5\1\314\1\0" + "\21\5\4\0\1\4\6\5\1\0\7\5\1\315\1\316" + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\5\5\1\317" + "\11\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\10\5\1\320" + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\321" + "\7\5\1\144\5\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\322\1\5\1\323\13\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\7\5\1\130\3\5\1\324\3\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\5\5\1\325\11\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\326\2\5\1\327" - + "\4\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\5\5\1\330" - + "\11\5\11\0\1\4\2\5\2\0\1\5\1\331\1\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\1\5\1\332\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\10\5\1\333\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\1\5\1\334\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\6\5\1\142\1\335\3\5\1\145\3\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\5\5\1\336\11\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\5\1\337\1\0\21\5" - + "\4\0\1\4\6\5\1\0\1\340\4\5\1\341\1\342" + "\2\5\1\343\1\344\1\345\1\346\1\347\1\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\3\5" + "\1\350\15\5\4\0\1\4\6\5\1\0\17\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\1\130" + "\20\5\4\0\1\4\6\5\1\0\16\5\1\351\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\352\1\5\1\353" + "\13\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\354" + "\4\5\1\355\3\5\1\356\1\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\1\5" - + "\1\331\1\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\357\1\0\21\5\4\0\1\4\6\5" + "\1\0\4\5\1\360\10\5\1\361\1\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\4\5\1\362" + "\14\5\4\0\1\4\6\5\1\0\11\5\1\144\5\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\14\5\1\363\2\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\14\5\1\364\2\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\7\5\1\326\7\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\365\6\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\7\5\1\366\4\5" - + "\1\367\2\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" - + "\1\370\2\5\1\142\4\5\1\145\3\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\6\5\1\371\10\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\7\5\1\312\7\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\3\5\1\372\1\373\7\5\1\205" + "\1\374\1\375\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\1\5\1\376\1\0\1\377\20\5\4\0\1\4\6\5" + "\1\0\3\5\1\u0100\1\333\12\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\2\5\1\u0101\14\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u0102\15\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\3\5\1\u0103\13\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u0104\6\5\1\u0105\3\5\1\u0106" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\u0107" + "\1\5\1\360\10\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\5\5\1\u0108\1\310\10\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\u0109\1\0\21\5\4\0\1\4" + "\6\5\1\0\14\5\1\u010a\2\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\3\5\1\242\13\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\3\5\1\u010b\2\5\1\u010c\6\5\1\u010d" - + "\1\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\3\5\1\u010e" - + "\13\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\315" - + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\3\5\1\u010f" - + "\4\5\1\u0110\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\1\u0111\20\5\4\0\1\4\6\5\1\0\17\5" - + "\11\0\1\4\2\5\2\0\1\5\1\u0112\1\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u0113\1\0\21\5\4\0\1\4\6\5\1\0" - + "\3\5\1\u0114\2\5\1\u0115\2\5\1\201\5\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\10\5\1\331\6\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\u0116\1\0\21\5\4\0" - + "\1\4\6\5\1\0\6\5\1\u0111\1\5\1\152\6\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u0117\6\5" + "\1\u0118\3\5\1\u0119\2\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\1\5\1\u011a\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" - + "\1\164\1\0\21\5\4\0\1\4\6\5\1\0\16\5" + "\1\u011b\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\1\316\16\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\5\1\u011c\1\0\21\5" - + "\4\0\1\4\6\5\1\0\5\5\1\u0108\11\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\5\5\1\324\1\u011d\1\u011e" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" - + "\1\230\1\0\21\5\34\0\10\53\56\0\33\u011f\1\u0120" + "\7\u011f\1\0\101\u011f\1\u0121\3\u011f\1\u0120\7\u011f\1\0" - + "\57\u011f\1\u0122\3\u011f\2\212\1\u011f\1\212\2\u011f\1\212" + "\4\u011f\1\212\2\u011f\1\212\3\u011f\1\u0123\4\u011f\1\212" - + "\1\u0124\1\u0125\1\0\3\212\1\u0124\17\u011f\1\212\4\u011f" + "\1\u0125\1\u011f\2\u0124\16\u011f\5\217\1\42\3\217\2\42" - + "\1\217\1\42\2\217\1\42\4\217\1\42\2\217\1\42" + "\3\217\1\42\4\217\2\42\1\u0126\1\0\4\42\17\217" - + "\1\42\4\217\1\u0126\1\217\2\42\56\217\1\u0127\3\217" + "\1\u0128\51\217\1\4\6\5\1\0\13\5\1\145\3\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\1\225\20\5\4\0\1\4\6\5\1\0\7\5\1\u0129" - + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\3\5\1\u012a" - + "\1\5\1\u012b\11\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\1\5\1\u012c" - + "\4\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\13\5\1\145\3\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\1\5\1\u012d\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\1\5\1\u012e\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\10\5\1\u012f\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\3\76\4\u0130\1\0" - + "\3\u0130\6\76\1\u0130\2\76\1\u0130\2\76\11\0\1\76" + "\1\u0130\1\76\2\0\1\76\2\u0130\2\0\2\76\1\0" - + "\1\u0130\1\0\3\76\4\0\2\76\1\0\5\76\2\u0130" + "\2\76\2\u0130\5\76\1\u0130\4\0\7\4\1\0\1\4" - + "\1\u0131\15\4\11\0\3\4\2\0\3\4\2\0\2\4" + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" - + "\4\0\7\4\1\0\4\4\1\u0132\1\u0133\1\4\1\u0134" + "\7\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\4\0" - + "\7\4\1\0\2\4\1\u0135\1\4\1\u0136\12\4\11\0" + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" - + "\3\4\1\u0137\13\4\11\0\3\4\2\0\3\4\2\0" + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\4\0\7\4\1\0\4\4\1\u0138\12\4\11\0" - + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + "\7\4\1\u0139\7\4\11\0\3\4\2\0\3\4\2\0" - + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\14\0\1\u013a\1\u013b\1\0\1\u013c\1\0\1\u013d" - + "\4\0\1\u013e\1\u013f\24\0\1\240\45\0\1\4\6\5" + "\1\0\16\5\1\u0140\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\16\5\1\u0141\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\12\5" + "\1\u0142\4\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\2\5\1\130\16\5\4\0\1\4\6\5" + "\1\0\5\5\1\341\4\5\1\344\4\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\4\5\1\360\12\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\13\5\1\u0143\3\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\3\5\1\u0144\3\5\1\u0145\7\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\13\5\1\u0146\3\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\6\5\1\u0147\1\u0148" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\u0149" + "\1\u014a\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + "\1\202\15\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + "\1\u014b\13\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + "\1\152\6\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\21\0\1\u014c\123\0\1\u014d\161\0" + + "\5\76\2\102\12\76\4\0\1\4\6\5\1\0\2\5" + "\1\301\2\5\1\302\11\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\2\5\1\303\14\5\11\0\1\4\2\5\2\0" + "\1\304\2\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\12\5\1\305\4\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\4\5\1\306\12\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\12\5\1\307\4\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\6\5\1\310\10\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\7\5\1\311\7\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\3\5\1\312\7\5\1\313\3\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\1\5\1\314\1\0" + "\21\5\4\0\1\4\6\5\1\0\7\5\1\315\1\316" + + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\5\5\1\317" + "\11\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\10\5\1\320" + + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\321" + "\7\5\1\144\5\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\5\1\322\1\5\1\323\13\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\7\5\1\130\3\5\1\324\3\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\5\5\1\325\11\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\326\2\5\1\327" + + "\4\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\5\5\1\330" + "\11\5\11\0\1\4\2\5\2\0\1\5\1\331\1\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\5\1\332\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\333\6\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\5\1\334\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\6\5\1\142\1\335\3\5\1\145\3\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\5\5\1\336\11\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\1\5\1\337\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\340\4\5\1\341\1\342" + + "\2\5\1\343\1\344\1\345\1\346\1\347\1\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\3\5" + "\1\350\15\5\4\0\1\4\6\5\1\0\17\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\1\130" + + "\20\5\4\0\1\4\6\5\1\0\16\5\1\351\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\352\1\5\1\353" + + "\13\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\354" + "\4\5\1\355\3\5\1\356\1\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\1\5" + "\1\331\1\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\357\1\0\21\5\4\0\1\4\6\5" + + "\1\0\4\5\1\360\10\5\1\361\1\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\4\5\1\362" + "\14\5\4\0\1\4\6\5\1\0\11\5\1\144\5\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\14\5\1\363\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\14\5\1\364\2\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\7\5\1\326\7\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\365\6\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\7\5\1\366\4\5" + "\1\367\2\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + + "\1\370\2\5\1\142\4\5\1\145\3\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\6\5\1\371\10\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\7\5\1\312\7\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\3\5\1\372\1\373\7\5\1\205" + + "\1\374\1\375\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\1\5\1\376\1\0\1\377\20\5\4\0\1\4\6\5" + "\1\0\3\5\1\u0100\1\333\12\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\2\5\1\u0101\14\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u0102\15\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\3\5\1\u0103\13\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u0104\6\5\1\u0105\3\5\1\u0106" + + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\u0107" + "\1\5\1\360\10\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\5\5\1\u0108\1\310\10\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\1\5\1\u0109\1\0\21\5\4\0\1\4" + "\6\5\1\0\14\5\1\u010a\2\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\3\5\1\242\13\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\3\5\1\u010b\2\5\1\u010c\6\5\1\u010d" + + "\1\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\3\5\1\u010e" + "\13\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\315" + + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\3\5\1\u010f" + "\4\5\1\u0110\6\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\1\u0111\20\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\1\5\1\u0112\1\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u0113\1\0\21\5\4\0\1\4\6\5\1\0" + + "\3\5\1\u0114\2\5\1\u0115\2\5\1\201\5\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\10\5\1\331\6\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\1\5\1\u0116\1\0\21\5\4\0" + "\1\4\6\5\1\0\6\5\1\u0111\1\5\1\152\6\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u0117\6\5" + "\1\u0118\3\5\1\u0119\2\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\1\5\1\u011a\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + "\1\164\1\0\21\5\4\0\1\4\6\5\1\0\16\5" + + "\1\u011b\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\1\316\16\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\5\1\u011c\1\0\21\5" + + "\4\0\1\4\6\5\1\0\5\5\1\u0108\11\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\5\5\1\324\1\u011d\1\u011e" + + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + + "\1\230\1\0\21\5\34\0\10\53\56\0\33\u011f\1\u0120" + + "\7\u011f\1\0\101\u011f\1\u0121\3\u011f\1\u0120\7\u011f\1\0" + + "\57\u011f\1\u0122\3\u011f\2\212\1\u011f\1\212\2\u011f\1\212" + + "\4\u011f\1\212\2\u011f\1\212\3\u011f\1\u0123\4\u011f\1\212" + + "\1\u0124\1\u0125\1\0\3\212\1\u0124\17\u011f\1\212\4\u011f" + + "\1\u0125\1\u011f\2\u0124\16\u011f\5\217\1\42\3\217\2\42" + "\1\217\1\42\2\217\1\42\4\217\1\42\2\217\1\42" + + "\3\217\1\42\4\217\2\42\1\u0126\1\0\4\42\17\217" + "\1\42\4\217\1\u0126\1\217\2\42\56\217\1\u0127\3\217" + + "\1\u0128\51\217\1\4\6\5\1\0\13\5\1\145\3\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\1\225\20\5\4\0\1\4\6\5\1\0\7\5\1\u0129" + + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\3\5\1\u012a" + "\1\5\1\u012b\11\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\1\5\1\u012c" + + "\4\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\13\5\1\145\3\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\5\1\u012d\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\u012e\15\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\10\5\1\u012f\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\3\76\4\u0130\1\0" + "\3\u0130\6\76\1\u0130\2\76\1\u0130\2\76\11\0\1\76" + + "\1\u0130\1\76\2\0\1\76\2\u0130\2\0\2\76\1\0" + "\1\u0130\1\0\3\76\4\0\2\76\1\0\5\76\2\u0130" + + "\2\76\2\u0130\5\76\1\u0130\4\0\7\4\1\0\1\4" + "\1\u0131\15\4\11\0\3\4\2\0\3\4\2\0\2\4" + + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" + "\4\0\7\4\1\0\4\4\1\u0132\1\u0133\1\4\1\u0134" + + "\7\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\4\0" + + "\7\4\1\0\2\4\1\u0135\1\4\1\u0136\12\4\11\0" + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + "\3\4\1\u0137\13\4\11\0\3\4\2\0\3\4\2\0" + + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\4\0\7\4\1\0\4\4\1\u0138\12\4\11\0" + + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + + "\7\4\1\u0139\7\4\11\0\3\4\2\0\3\4\2\0" + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + + "\21\4\14\0\1\u013a\1\u013b\1\0\1\u013c\1\0\1\u013d" + "\4\0\1\u013e\1\u013f\24\0\1\240\45\0\1\4\6\5" + + "\1\0\16\5\1\u0140\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\16\5\1\u0141\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\12\5" + + "\1\u0142\4\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\2\5\1\130\16\5\4\0\1\4\6\5" + "\1\0\5\5\1\341\4\5\1\344\4\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\4\5\1\360\12\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\13\5\1\u0143\3\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\3\5\1\u0144\3\5\1\u0145\7\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\13\5\1\u0146\3\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\6\5\1\u0147\1\u0148" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\u0149" + "\1\u014a\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + + "\1\202\15\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + "\1\u014b\13\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + + "\1\152\6\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\21\0\1\u014c\123\0\1\u014d\161\0" + "\1\u014e\117\0\1\u014f\41\0\1\u0150\123\0\1\u0151\161\0" + "\1\u0152\117\0\1\u0153\24\0\1\4\6\5\1\0\17\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\14\5\1\u0154\4\5\4\0\1\4\6\5\1\0\17\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\14\5\1\u0155\4\5\4\0\1\4\6\5\1\0\17\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\12\5\1\u0156\6\5\4\0\1\4\6\5\1\0\17\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\14\5\1\u0157\4\5\4\0\1\4\6\5\1\0\17\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\13\5\1\u0158\5\5\4\0\3\76\1\274\1\76\1\274" - + "\1\76\1\0\5\76\1\100\4\76\1\101\4\76\11\0" + "\1\76\1\274\1\76\2\0\2\76\1\274\2\0\1\101" - + "\1\100\1\0\1\76\1\0\3\76\4\0\2\76\1\0" + "\5\76\2\274\12\76\7\0\1\274\1\0\1\274\33\0" - + "\1\274\5\0\1\274\26\0\2\274\16\0\3\76\1\u0159" + "\1\76\1\u0159\1\76\1\u015a\17\76\10\0\1\u015a\1\76" - + "\1\u0159\1\76\2\0\2\76\1\u0159\2\0\2\76\1\0" + "\1\76\1\0\3\76\4\0\2\76\1\0\5\76\2\u0159" - + "\12\76\4\0\1\4\6\5\1\0\14\5\1\u015b\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u015c\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\2\5\1\201\14\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\1\5\1\u015d\4\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\1\5\1\u015e\1\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\14\5\1\u015f\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\16\5\1\130\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\1\5\1\130\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\4\5\1\u0160\12\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\u0111\1\0\21\5\4\0" - + "\1\4\6\5\1\0\5\5\1\u0161\11\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\1\5\1\u0162\15\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\7\5\1\u0163\7\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\2\5\1\u0111\14\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\12\5\1\u0164\4\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\10\5\1\u0165\3\5\1\u015d\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u0166\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\u0167" - + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u0111" + "\6\5\1\u0168\3\5\1\333\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\3\5\1\u0169\15\5" + "\4\0\1\4\6\5\1\0\1\5\1\u016a\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u0114\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\10\5\1\u0100\6\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\3\5\1\u016b\13\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\1\5\1\u016c\1\0\21\5\4\0" + "\1\4\6\5\1\0\6\5\1\u0142\10\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\6\5\1\u0111\10\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\1\5\1\u016d\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\u0111\16\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\5\5\1\u0103\11\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\u016e\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\u016f\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\u0170\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\10\5\1\u0171\6\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\13\5\1\u0172\3\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\4\5\1\u0173\12\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\13\5\1\u0174\3\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\7\5\1\u0175\2\5\1\u0176\4\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\5\5\1\u0177\11\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\7\5\1\u0178\7\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\340\16\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u0179\15\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\3\5\1\u0169\15\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\1\304" + "\2\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\15\5\1\u017a\1\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\14\5\1\u017b\2\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\14\5\1\u0154\4\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\14\5\1\u0155\4\5\4\0\1\4\6\5\1\0\17\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\12\5\1\u0156\6\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\14\5\1\u0157\4\5\4\0\1\4\6\5\1\0\17\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\13\5\1\u0158\5\5\4\0\3\76\1\274\1\76\1\274" + "\1\76\1\0\5\76\1\100\4\76\1\101\4\76\11\0" + + "\1\76\1\274\1\76\2\0\2\76\1\274\2\0\1\101" + "\1\100\1\0\1\76\1\0\3\76\4\0\2\76\1\0" + + "\5\76\2\274\12\76\7\0\1\274\1\0\1\274\33\0" + "\1\274\5\0\1\274\26\0\2\274\16\0\3\76\1\u0159" + + "\1\76\1\u0159\1\76\1\u015a\17\76\10\0\1\u015a\1\76" + "\1\u0159\1\76\2\0\2\76\1\u0159\2\0\2\76\1\0" + + "\1\76\1\0\3\76\4\0\2\76\1\0\5\76\2\u0159" + "\12\76\4\0\1\4\6\5\1\0\14\5\1\u015b\2\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u015c\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\2\5\1\201\14\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\1\5\1\u015d\4\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + + "\2\5\2\0\1\5\1\u015e\1\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\14\5\1\u015f\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\16\5\1\130\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\5\1\130\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\u0160\12\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\1\5\1\u0111\1\0\21\5\4\0" + "\1\4\6\5\1\0\5\5\1\u0161\11\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\1\5\1\u0162\15\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\7\5\1\u0163\7\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\2\5\1\u0111\14\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\12\5\1\u0164\4\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\10\5\1\u0165\3\5\1\u015d\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u0166\15\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\u0167" + + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u0111" + "\6\5\1\u0168\3\5\1\333\2\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\3\5\1\u0169\15\5" + + "\4\0\1\4\6\5\1\0\1\5\1\u016a\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u0114\15\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\10\5\1\u0100\6\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\3\5\1\u016b\13\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\1\5\1\u016c\1\0\21\5\4\0" + "\1\4\6\5\1\0\6\5\1\u0142\10\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\6\5\1\u0111\10\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\u016d\1\0\21\5\4\0\1\4" + + "\6\5\1\0\1\u0111\16\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\5\5\1\u0103\11\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\3\5\1\u016e\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\u016f\13\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\3\5\1\u0170\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\10\5\1\u0171\6\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\13\5\1\u0172\3\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\4\5\1\u0173\12\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\13\5\1\u0174\3\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\7\5\1\u0175\2\5\1\u0176\4\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\5\5\1\u0177\11\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\7\5\1\u0178\7\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\1\340\16\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u0179\15\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\3\5\1\u0169\15\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\1\304" + + "\2\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\15\5\1\u017a\1\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\14\5\1\u017b\2\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\6\5\1\u017c\12\5\4\0\1\4\6\5" + "\1\0\5\5\1\u017d\11\5\11\0\1\4\2\5\2\0" - + "\1\u017e\1\u017f\1\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\7\5\1\u0180" + "\11\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\u0111\1\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\u0181\12\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u0182\15\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\333\12\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\316\12\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\u015d\7\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\167\1\201\1\5" - + "\1\u0183\1\324\1\u0184\1\u0185\1\5\1\u0186\1\u0187\1\u0188" + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + "\1\u0189\1\0\3\5\1\u018a\15\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u018b\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + "\1\u0109\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\u018c" + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\u018d" + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\242" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\3\5\1\u018e" + "\13\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\10\5\1\u018f" + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\12\5\1\u0190" + "\4\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\3\5\1\363" + "\13\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u0141" + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u0191" + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u0192" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\5\5\1\u0111" + "\11\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\u0193" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u0166" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u0144" + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u0194" + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + "\1\u0195\1\0\21\5\4\0\1\4\6\5\1\0\5\5" + "\1\u0196\11\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\11\5" + "\1\u0197\5\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\7\5" + "\1\337\7\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + "\1\u0198\6\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + "\1\u0199\13\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + "\1\u019a\15\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + "\1\u019b\12\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + "\1\u019c\12\5\11\0\1\4\2\5\2\0\1\u019d\2\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + "\1\u019e\1\0\21\5\4\0\1\4\6\5\1\0\5\5" + "\1\u019f\11\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + "\1\u0111\2\5\1\u01a0\5\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\1\u01a1\20\5\4\0\1\4" + "\6\5\1\0\4\5\1\u0111\12\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\152\15\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\10\5\1\130\6\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\3\5\1\u01a2\15\5\4\0\1\4" + "\6\5\1\0\2\5\2\u0111\1\5\1\u0111\11\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\u01a3\12\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u01a4\4\5\1\u0111" - + "\2\5\1\u01a0\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\1\u01a1\20\5\4\0\1\4\6\5" - + "\1\0\6\5\1\u01a5\2\5\1\u01a6\4\5\1\375\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\14\5\1\u01a7\2\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\3\5\1\u01a8\3\5\1\u01a9" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" - + "\1\u01aa\1\0\21\5\4\0\1\4\6\5\1\0\5\5" + "\1\324\11\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\1\5\1\230\1\0\21\5\4\0\33\u011f\1\214\7\u011f" + "\1\0\102\u011f\3\212\1\u0123\4\212\3\u011f\1\0\57\u011f" - + "\1\212\25\u011f\1\u0120\5\u011f\1\212\1\u011f\1\0\3\u011f" + "\1\212\26\u011f\2\212\16\u011f\33\0\1\u0120\62\0\5\u011f" + + "\1\u017e\1\u017f\1\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\7\5\1\u0180" + + "\11\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\1\u0111\1\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\u0181\12\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\5\1\u0182\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\333\12\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\4\5\1\316\12\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\u015d\7\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\5\1\167\1\201\1\5" + "\1\u0183\1\324\1\u0184\1\u0185\1\5\1\u0186\1\u0187\1\u0188" + + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + + "\1\u0189\1\0\3\5\1\u018a\15\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u018b\1\0\21\5\4\0\1\4\6\5\1\0" + + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + + "\1\u0109\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\u018c" + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\u018d" + + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\242" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\3\5\1\u018e" + + "\13\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\10\5\1\u018f" + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\12\5\1\u0190" + + "\4\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\3\5\1\363" + "\13\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u0141" + + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u0191" + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u0192" + + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\5\5\1\u0111" + "\11\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\u0193" + + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u0166" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u0144" + + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u0194" + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + "\1\u0195\1\0\21\5\4\0\1\4\6\5\1\0\5\5" + + "\1\u0196\11\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\11\5" + "\1\u0197\5\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\7\5" + + "\1\337\7\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + "\1\u0198\6\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + + "\1\u0199\13\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + "\1\u019a\15\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + + "\1\u019b\12\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + "\1\u019c\12\5\11\0\1\4\2\5\2\0\1\u019d\2\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + + "\1\u019e\1\0\21\5\4\0\1\4\6\5\1\0\5\5" + "\1\u019f\11\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + + "\1\u0111\2\5\1\u01a0\5\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\1\u01a1\20\5\4\0\1\4" + "\6\5\1\0\4\5\1\u0111\12\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\1\5\1\152\15\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\10\5\1\130\6\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\3\5\1\u01a2\15\5\4\0\1\4" + "\6\5\1\0\2\5\2\u0111\1\5\1\u0111\11\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\4\5\1\u01a3\12\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u01a4\4\5\1\u0111" + + "\2\5\1\u01a0\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\1\u01a1\20\5\4\0\1\4\6\5" + "\1\0\6\5\1\u01a5\2\5\1\u01a6\4\5\1\375\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\14\5\1\u01a7\2\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\3\5\1\u01a8\3\5\1\u01a9" + + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + + "\1\u01aa\1\0\21\5\4\0\1\4\6\5\1\0\5\5" + "\1\324\11\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\230\1\0\21\5\4\0\33\u011f\1\214\7\u011f" + + "\1\0\102\u011f\3\212\1\u0123\4\212\3\u011f\1\0\57\u011f" + + "\1\212\25\u011f\1\u0120\5\u011f\1\212\1\u011f\1\0\3\u011f" + + "\1\212\26\u011f\2\212\16\u011f\33\0\1\u0120\62\0\5\u011f" + "\1\u0122\25\u011f\1\u0120\5\u011f\1\u0122\1\u011f\1\0\3\u011f" + "\1\u0122\26\u011f\2\u0122\21\u011f\4\u01ab\1\u011f\3\u01ab\6\u011f" + "\1\u01ab\2\u011f\1\u01ab\6\u011f\1\214\5\u011f\1\u01ab\1\u011f" + "\1\0\2\u011f\2\u01ab\5\u011f\1\u01ab\20\u011f\2\u01ab\2\u011f" - + "\2\u01ab\5\u011f\1\u01ab\4\u011f\3\217\4\u01ac\1\217\3\u01ac" + "\6\217\1\u01ac\2\217\1\u01ac\13\217\1\u0127\1\u01ac\2\217" - + "\1\u0128\1\217\2\u01ac\5\217\1\u01ac\20\217\2\u01ac\2\217" + "\2\u01ac\5\217\1\u01ac\47\217\1\0\52\217\1\4\6\5" - + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u01ad\1\0\21\5\4\0\1\4\6\5\1\0" - + "\1\337\16\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\14\5" - + "\1\u01ae\2\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\1\5" - + "\1\363\4\5\1\u01af\5\5\1\u01b0\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\14\5\1\u01b1\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\14\5\1\u01b2\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\1\u01b3\20\5\4\0\3\76" + + "\2\u01ab\5\u011f\1\u01ab\4\u011f\3\217\4\u01ac\1\217\3\u01ac" + + "\6\217\1\u01ac\2\217\1\u01ac\13\217\1\u0127\1\u01ac\2\217" + + "\1\u0128\1\217\2\u01ac\5\217\1\u01ac\20\217\2\u01ac\2\217" + + "\2\u01ac\5\217\1\u01ac\47\217\1\0\52\217\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u01ad\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\337\16\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\14\5" + "\1\u01ae\2\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + + "\1\363\4\5\1\u01af\5\5\1\u01b0\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\14\5\1\u01b1\2\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\14\5\1\u01b2\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\1\u01b3\20\5\4\0\3\76" + "\4\u0130\1\0\3\u0130\2\76\1\u01b4\3\76\1\u0130\1\u01b5" + "\1\76\1\u0130\2\76\11\0\1\76\1\u0130\1\76\2\0" + "\1\76\2\u0130\2\0\1\u01b5\1\u01b4\1\0\1\u0130\1\0" + "\3\76\4\0\2\76\1\0\5\76\2\u0130\2\76\2\u0130" - + "\5\76\1\u0130\4\0\7\4\1\0\2\4\1\235\14\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" - + "\1\0\1\u01b6\16\4\11\0\3\4\2\0\3\4\2\0" + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\4\0\7\4\1\0\3\4\1\u01b7\2\4\1\u01b8" - + "\10\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\4\0" + "\7\4\1\0\7\4\1\u01b9\7\4\11\0\3\4\2\0" - + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + "\2\4\1\0\21\4\4\0\7\4\1\0\1\u01ba\3\4" + "\1\u0138\12\4\11\0\3\4\2\0\3\4\2\0\2\4" - + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" + "\4\0\7\4\1\0\11\4\1\u01bb\5\4\11\0\3\4" + "\2\0\3\4\2\0\2\4\1\0\1\4\1\0\3\4" - + "\4\0\2\4\1\0\21\4\4\0\7\4\1\0\4\4" + "\1\u01b8\12\4\11\0\3\4\2\0\3\4\2\0\2\4" + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" - + "\4\0\7\4\1\0\1\u01ba\16\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + "\2\4\1\0\21\4\4\0\7\4\1\0\14\4\1\u01bc" - + "\2\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\15\0" - + "\1\u01bd\120\0\1\u01be\1\u01bf\1\0\1\u01c0\110\0\1\u01c1" + "\1\0\1\u01c2\114\0\1\u01c3\116\0\1\u01c4\120\0\1\u01c5" - + "\76\0\1\4\6\5\1\0\13\5\1\u01c6\3\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\1\5\1\u0111\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\1\5\1\337\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\2\5\1\u01c7\1\5\1\u01c8" + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\130" + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\10\5\1\133" + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u01c9" + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\5\76\1\u0130\4\0\7\4\1\0\2\4\1\235\14\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + "\1\0\1\u01b6\16\4\11\0\3\4\2\0\3\4\2\0" + + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\4\0\7\4\1\0\3\4\1\u01b7\2\4\1\u01b8" + + "\10\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\4\0" + + "\7\4\1\0\7\4\1\u01b9\7\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + + "\2\4\1\0\21\4\4\0\7\4\1\0\1\u01ba\3\4" + "\1\u0138\12\4\11\0\3\4\2\0\3\4\2\0\2\4" + + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" + "\4\0\7\4\1\0\11\4\1\u01bb\5\4\11\0\3\4" + + "\2\0\3\4\2\0\2\4\1\0\1\4\1\0\3\4" + "\4\0\2\4\1\0\21\4\4\0\7\4\1\0\4\4" + + "\1\u01b8\12\4\11\0\3\4\2\0\3\4\2\0\2\4" + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" + + "\4\0\7\4\1\0\1\u01ba\16\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + + "\2\4\1\0\21\4\4\0\7\4\1\0\14\4\1\u01bc" + "\2\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\15\0" + "\1\u01bd\120\0\1\u01be\1\u01bf\1\0\1\u01c0\110\0\1\u01c1" + + "\1\0\1\u01c2\114\0\1\u01c3\116\0\1\u01c4\120\0\1\u01c5" + "\76\0\1\4\6\5\1\0\13\5\1\u01c6\3\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\5\1\u0111\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\337\15\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\2\5\1\u01c7\1\5\1\u01c8" + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\130" + + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\10\5\1\133" + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u01c9" + + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\2\5\1\201" + "\1\5\1\u0183\1\324\1\u0184\1\u01ca\1\5\1\u0186\1\5" - + "\1\u0188\3\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u01cb\1\0\3\5\1\u018a\15\5\4\0\1\4" - + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\u01cc\1\0\21\5\4\0\1\4\6\5" - + "\1\0\14\5\1\u01cd\2\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\10\5\1\u01ce\6\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\5\5\1\310\11\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\15\0\1\u014d\174\0" - + "\1\u01cf\50\0\1\u01d0\146\0\1\u01d1\52\0\1\u0151\174\0" + "\1\u01d2\50\0\1\u01d3\146\0\1\u01d4\41\0\1\4\6\5" - + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\16\5\1\u01d5\2\5\4\0\1\4\6\5" - + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\1\5\1\u01d5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\13\5\1\u01d5\5\5\4\0\1\4\6\5\1\0" - + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\15\5\1\u01d5\3\5\4\0\1\4\6\5\1\0" - + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\11\5\1\u01d6\7\5\4\0\3\76\1\u0159\1\76" + + "\1\u0188\3\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\1\5\1\u01cb\1\0\3\5\1\u018a\15\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\u01cc\1\0\21\5\4\0\1\4\6\5" + + "\1\0\14\5\1\u01cd\2\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\10\5\1\u01ce\6\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\5\5\1\310\11\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\15\0\1\u014d\174\0" + "\1\u01cf\50\0\1\u01d0\146\0\1\u01d1\52\0\1\u0151\174\0" + + "\1\u01d2\50\0\1\u01d3\146\0\1\u01d4\41\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\16\5\1\u01d5\2\5\4\0\1\4\6\5" + + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\1\5\1\u01d5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\13\5\1\u01d5\5\5\4\0\1\4\6\5\1\0" + + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\15\5\1\u01d5\3\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\11\5\1\u01d6\7\5\4\0\3\76\1\u0159\1\76" + "\1\u0159\1\76\1\0\2\76\1\300\2\76\1\300\11\76" + "\11\0\1\76\1\u0159\1\76\2\0\2\76\1\u0159\2\0" + "\1\76\1\300\1\0\1\300\1\0\3\76\4\0\2\76" + "\1\0\5\76\2\u0159\12\76\7\0\1\u0159\1\0\1\u0159" + "\33\0\1\u0159\5\0\1\u0159\26\0\2\u0159\16\0\1\4" + "\6\5\1\0\12\5\1\u01d7\4\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\310\1\0\21\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\337\1\0\21\5\4\0\1\4\6\5\1\0" + "\5\5\1\u0142\11\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\16\5\1\u01d8\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + "\1\u0111\6\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + "\1\u01d9\13\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\7\5" + "\1\u0198\7\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + "\1\u0165\6\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + "\1\u01da\10\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\7\5" + "\1\u0111\7\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\1\5\1\u0111\17\5\4\0\1\4\6\5\1\0\13\5" + "\1\174\3\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\13\5" + "\1\324\3\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\13\5" + "\1\u0111\3\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + "\1\u01db\12\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + "\1\u019c\12\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + "\1\u0111\2\5\1\u0111\5\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\1\u01dc\20\5\4\0\1\4" + "\6\5\1\0\6\5\1\u0111\2\5\1\u0111\1\5\1\174" - + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\1\u01dc\20\5\4\0\1\4\6\5\1\0\17\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\u0141" + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\310" - + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\15\5\1\u01a2" - + "\1\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\1\u01dd" + "\20\5\4\0\1\4\6\5\1\0\14\5\1\u01de\2\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\5\1\u01df\1\0\21\5" + "\4\0\1\4\6\5\1\0\13\5\1\u01dd\3\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\3\5\1\u01e0\13\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\u01e1\12\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\u01e2\6\5\1\u01e3" - + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\u01e4" - + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u01e5" - + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\7\5" + "\1\u0180\11\5\4\0\1\4\6\5\1\0\5\5\1\u01e6" - + "\11\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" - + "\1\4\2\5\2\0\2\5\1\u0111\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\u01e7\6\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" - + "\2\5\2\0\1\5\1\u017f\1\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\12\5\1\316\4\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\16\5\1\u0169\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u012a\12\5\1\u0103" - + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\1\5\1\u015d\4\5\1\0" - + "\10\5\1\u01e8\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\11\5\1\u01e9\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\13\5\1\u0114\3\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\u0165\1\0\21\5\4\0\1\4\6\5" - + "\1\0\11\5\1\u01ea\5\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\6\5\1\u01eb\1\5\1\334\2\5\1\u01ec\1\312" + "\1\5\1\u0169\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\1\u0165\1\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\u01ed\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\1\5\1\u01ee\1\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\u01ef\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\2\5\1\u01f0\14\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\3\5\1\u01f1\13\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\u01f2\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" - + "\1\u01f3\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + "\1\u01f4\10\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\1\u0141\2\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u01f5" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u01f6" + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\u01f7" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u01f8" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\5\1\u01f9\1\0" - + "\21\5\4\0\1\4\6\5\1\0\3\5\1\u01fa\13\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\10\5\1\u01b3\6\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\130\1\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\4\5\1\130\12\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\15\5\1\u01fb\1\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\u01fc\1\0\21\5\4\0" - + "\1\4\6\5\1\0\15\5\1\130\1\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\316\1\0\21\5\4\0\1\4" - + "\6\5\1\0\14\5\1\u015c\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\1\5\1\u01fd\15\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\3\5\1\u01fe\13\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\u01ff\1\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\11\5\1\u01a0\5\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\3\5\1\312\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\5\5\1\u0111\13\5\4\0\1\4\6\5" - + "\1\0\4\5\1\u0200\12\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\1\5\1\312\15\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\13\5\1\u01ec\2\5\1\u0169\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\u0165\1\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\1\5\1\u014b\1\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\4\5\1\u01a2\12\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\u01aa\1\0\21\5\4\0\1\4" - + "\6\5\1\0\10\5\1\u0201\6\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\3\u011f" - + "\4\212\1\u011f\3\212\6\u011f\1\212\2\u011f\1\212\6\u011f" + "\1\214\5\u011f\1\212\1\u011f\1\0\2\u011f\2\212\5\u011f" - + "\1\212\20\u011f\2\212\2\u011f\2\212\5\u011f\1\212\4\u011f" + "\3\217\4\42\1\217\3\42\6\217\1\42\2\217\1\42" - + "\13\217\1\u0127\1\42\2\217\1\u0128\1\217\2\42\5\217" + "\1\42\20\217\2\42\2\217\2\42\5\217\1\42\4\217" - + "\1\4\6\5\1\0\12\5\1\u0202\4\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\253\1\0\21\5\4\0\1\4" - + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\u0203\1\0\21\5\4\0\1\4\6\5" - + "\1\0\7\5\1\u0204\7\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\7\5\1\u0205\7\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\1\5\1\130\17\5\4\0\1\4\6\5" - + "\1\0\11\5\1\u0111\5\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\7\76\1\0" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\1\5\1\310\1\0\21\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\337\1\0\21\5\4\0\1\4\6\5\1\0" + + "\5\5\1\u0142\11\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\16\5\1\u01d8\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + + "\1\u0111\6\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + "\1\u01d9\13\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\7\5" + + "\1\u0198\7\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + "\1\u0165\6\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + + "\1\u01da\10\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\7\5" + "\1\u0111\7\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\1\5\1\u0111\17\5\4\0\1\4\6\5\1\0\13\5" + "\1\174\3\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\13\5" + + "\1\324\3\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\13\5" + "\1\u0111\3\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + + "\1\u01db\12\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + "\1\u019c\12\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + + "\1\u0111\2\5\1\u0111\5\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\1\u01dc\20\5\4\0\1\4" + "\6\5\1\0\6\5\1\u0111\2\5\1\u0111\1\5\1\174" + + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\1\u01dc\20\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\u0141" + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\310" + + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\15\5\1\u01a2" + "\1\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\1\u01dd" + + "\20\5\4\0\1\4\6\5\1\0\14\5\1\u01de\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\5\1\u01df\1\0\21\5" + + "\4\0\1\4\6\5\1\0\13\5\1\u01dd\3\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\3\5\1\u01e0\13\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\4\5\1\u01e1\12\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\u01e2\6\5\1\u01e3" + + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\u01e4" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u01e5" + + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\7\5" + "\1\u0180\11\5\4\0\1\4\6\5\1\0\5\5\1\u01e6" + + "\11\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + "\1\4\2\5\2\0\2\5\1\u0111\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\u01e7\6\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\1\5\1\u017f\1\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\12\5\1\316\4\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\16\5\1\u0169\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u012a\12\5\1\u0103" + + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\1\5\1\u015d\4\5\1\0" + "\10\5\1\u01e8\6\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\11\5\1\u01e9\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\13\5\1\u0114\3\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\u0165\1\0\21\5\4\0\1\4\6\5" + + "\1\0\11\5\1\u01ea\5\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\6\5\1\u01eb\1\5\1\334\2\5\1\u01ec\1\312" + + "\1\5\1\u0169\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\1\u0165\1\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\u01ed\5\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\17\5\11\0\1\4\2\5\2\0\1\5\1\u01ee\1\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\u01ef\6\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\2\5\1\u01f0\14\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\3\5\1\u01f1\13\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\5\1\u01f2\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + "\1\u01f3\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + + "\1\u01f4\10\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\1\u0141\2\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u01f5" + + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u01f6" + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\u01f7" + + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u01f8" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\5\1\u01f9\1\0" + + "\21\5\4\0\1\4\6\5\1\0\3\5\1\u01fa\13\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\u01b3\6\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\1\130\1\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\130\12\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\15\5\1\u01fb\1\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\u01fc\1\0\21\5\4\0" + + "\1\4\6\5\1\0\15\5\1\130\1\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\316\1\0\21\5\4\0\1\4" + + "\6\5\1\0\14\5\1\u015c\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u01fd\15\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\3\5\1\u01fe\13\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\u01ff\1\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\11\5\1\u01a0\5\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\312\13\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\5\5\1\u0111\13\5\4\0\1\4\6\5" + "\1\0\4\5\1\u0200\12\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\1\5\1\312\15\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\13\5\1\u01ec\2\5\1\u0169\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\u0165\1\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\1\5\1\u014b\1\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\4\5\1\u01a2\12\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\1\5\1\u01aa\1\0\21\5\4\0\1\4" + "\6\5\1\0\10\5\1\u0201\6\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\3\u011f" + + "\4\212\1\u011f\3\212\6\u011f\1\212\2\u011f\1\212\6\u011f" + + "\1\214\5\u011f\1\212\1\u011f\1\0\2\u011f\2\212\5\u011f" + + "\1\212\20\u011f\2\212\2\u011f\2\212\5\u011f\1\212\4\u011f" + + "\3\217\4\42\1\217\3\42\6\217\1\42\2\217\1\42" + "\13\217\1\u0127\1\42\2\217\1\u0128\1\217\2\42\5\217" + + "\1\42\20\217\2\42\2\217\2\42\5\217\1\42\4\217" + "\1\4\6\5\1\0\12\5\1\u0202\4\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\1\5\1\253\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\u0203\1\0\21\5\4\0\1\4\6\5" + + "\1\0\7\5\1\u0204\7\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\7\5\1\u0205\7\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\1\5\1\130\17\5\4\0\1\4\6\5" + "\1\0\11\5\1\u0111\5\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\7\76\1\0" + "\12\76\1\u0206\4\76\11\0\3\76\2\0\3\76\2\0" + "\1\u0206\1\76\1\0\1\76\1\0\3\76\4\0\2\76" + "\1\0\21\76\4\0\7\76\1\0\5\76\1\u0206\11\76" + "\11\0\3\76\2\0\3\76\2\0\1\76\1\u0206\1\0" - + "\1\76\1\0\3\76\4\0\2\76\1\0\21\76\4\0" + "\7\4\1\0\3\4\1\u01b7\13\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" - + "\2\4\1\0\21\4\4\0\7\4\1\0\2\4\1\u0207" + "\14\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\4\0" - + "\7\4\1\0\1\4\1\u0207\15\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + "\2\4\1\0\21\4\4\0\7\4\1\0\10\4\1\u0208" - + "\6\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\4\0" + "\7\4\1\0\1\4\1\u01b7\15\4\11\0\3\4\2\0" - + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + "\2\4\1\0\21\4\4\0\7\4\1\0\5\4\1\u0209" + "\11\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" - + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\4\0" + "\7\4\1\0\15\4\1\u020a\1\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + + "\1\76\1\0\3\76\4\0\2\76\1\0\21\76\4\0" + "\7\4\1\0\3\4\1\u01b7\13\4\11\0\3\4\2\0" + + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + "\2\4\1\0\21\4\4\0\7\4\1\0\2\4\1\u0207" + + "\14\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\4\0" + + "\7\4\1\0\1\4\1\u0207\15\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + + "\2\4\1\0\21\4\4\0\7\4\1\0\10\4\1\u0208" + "\6\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\4\0" + "\7\4\1\0\1\4\1\u01b7\15\4\11\0\3\4\2\0" + + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + "\2\4\1\0\21\4\4\0\7\4\1\0\5\4\1\u0209" + + "\11\4\11\0\3\4\2\0\3\4\2\0\2\4\1\0" + "\1\4\1\0\3\4\4\0\2\4\1\0\21\4\4\0" + + "\7\4\1\0\15\4\1\u020a\1\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + "\2\4\1\0\21\4\16\0\1\u013d\113\0\1\u020b\120\0" + "\1\u020c\2\0\1\u020d\116\0\1\u020e\106\0\1\u020f\3\0" + "\1\u01c4\122\0\1\u0210\110\0\1\u020d\111\0\1\u020f\131\0" + "\1\u0211\71\0\1\4\6\5\1\0\5\5\1\u019d\11\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\3\5\1\u0212\13\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\14\5\1\u01f2\2\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\u0213\2\5\1\u01db" - + "\1\u0214\12\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\11\5" - + "\1\u01ea\5\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u0215\1\0\21\5\4\0\1\4\6\5\1\0" - + "\10\5\1\u0216\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\10\5\1\u0217\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\7\5\1\u0218\7\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\16\5\1\u0219\11\0\1\4\2\5\2\0\1\5\1\u0111" + "\1\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\36\0\1\u021a\101\0" - + "\1\u014d\51\0\1\u01cf\26\0\1\u01d1\1\u021b\4\u01d1\1\u021b" + "\17\u01d1\3\u021b\1\u01d1\1\u021b\2\0\2\u021b\1\0\2\u01d1" - + "\2\0\3\u01d1\1\0\1\u021b\2\u01d1\1\u021b\1\u01d1\1\0" + "\1\u021b\1\u01d1\5\u021b\2\u01d1\1\u021b\21\u01d1\1\0\1\u021b" - + "\34\0\1\u021c\101\0\1\u0151\51\0\1\u01d2\26\0\1\u01d4" + "\1\u021d\4\u01d4\1\u021d\17\u01d4\3\u021d\1\u01d4\1\u021d\2\0" - + "\2\u021d\1\0\2\u01d4\2\0\3\u01d4\1\0\1\u021d\2\u01d4" + "\1\u021d\1\u01d4\1\0\1\u021d\1\u01d4\5\u021d\2\u01d4\1\u021d" - + "\21\u01d4\1\0\1\u021d\2\0\1\4\5\5\1\u021e\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\20\5" - + "\1\u021e\4\0\1\4\6\5\1\0\5\5\1\u01ed\11\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\3\5\1\u021f\13\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\11\5\1\u0220\5\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\1\130\16\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\6\5\1\u0111\2\5\1\u0111" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u0165" + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u0141" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u0103" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\312" + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\312" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\12\5\1\u01f2" + "\4\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\u0221\1\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\13\5\1\u01da\3\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\13\5\1\u0222\3\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u0223\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\164" - + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u0224" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\2\5\1\130" + "\14\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\13\5\1\u01ec" + "\1\312\1\5\1\u0169\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\u0165" - + "\1\5\1\0\21\5\4\0\1\4\6\5\1\0\13\5" + "\1\u0114\3\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\2\5\1\u0111\16\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\130" - + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u0166" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\1\u0111\4\5" + "\1\u0111\4\5\1\u0103\4\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\1\5\1\u0111\17\5\4\0" + "\1\4\6\5\1\0\7\5\1\u01f2\7\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\11\5\1\u01f9\5\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\16\5\1\u0111\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u0225\15\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\1\5\1\u0226\1\0\21\5\4\0\1\4\6\5" + "\1\0\4\5\1\u0227\12\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\1\5\1\u0228\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" - + "\1\u0229\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + "\1\u022a\15\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\21\5\4\0\1\4\1\5\1\u022b\4\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + "\1\u022c\12\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + "\1\u022d\12\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\11\5" + "\1\u0111\5\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\1\u01b3\20\5\4\0\1\4\6\5\1\0" + "\11\5\1\u022e\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\130\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\14\5\1\u0165\2\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\1\u0111\2\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\1\u022f\20\5\4\0\1\4\6\5\1\0\14\5\1\u0230" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\152" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\15\5\1\u0111" + "\1\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u01da" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\7\4\1\0\7\4\1\u0207\7\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" - + "\1\0\12\4\1\u0231\4\4\11\0\3\4\2\0\3\4" + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + "\1\0\21\4\4\0\7\4\1\0\16\4\1\u0232\11\0" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\3\5\1\u0212\13\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\14\5\1\u01f2\2\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\1\u0213\2\5\1\u01db" + "\1\u0214\12\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\11\5" + + "\1\u01ea\5\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\1\5\1\u0215\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\u0216\6\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\10\5\1\u0217\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\u0218\7\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\16\5\1\u0219\11\0\1\4\2\5\2\0\1\5\1\u0111" + "\1\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\36\0\1\u021a\101\0" + "\1\u014d\51\0\1\u01cf\26\0\1\u01d1\1\u021b\4\u01d1\1\u021b" + + "\17\u01d1\3\u021b\1\u01d1\1\u021b\2\0\2\u021b\1\0\2\u01d1" + + "\2\0\3\u01d1\1\0\1\u021b\2\u01d1\1\u021b\1\u01d1\1\0" + + "\1\u021b\1\u01d1\5\u021b\2\u01d1\1\u021b\21\u01d1\1\0\1\u021b" + + "\34\0\1\u021c\101\0\1\u0151\51\0\1\u01d2\26\0\1\u01d4" + + "\1\u021d\4\u01d4\1\u021d\17\u01d4\3\u021d\1\u01d4\1\u021d\2\0" + + "\2\u021d\1\0\2\u01d4\2\0\3\u01d4\1\0\1\u021d\2\u01d4" + + "\1\u021d\1\u01d4\1\0\1\u021d\1\u01d4\5\u021d\2\u01d4\1\u021d" + + "\21\u01d4\1\0\1\u021d\2\0\1\4\5\5\1\u021e\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\20\5" + + "\1\u021e\4\0\1\4\6\5\1\0\5\5\1\u01ed\11\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\3\5\1\u021f\13\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\11\5\1\u0220\5\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\130\16\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\6\5\1\u0111\2\5\1\u0111" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u0165" + + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u0141" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u0103" + + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\312" + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\312" + + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\12\5\1\u01f2" + "\4\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\u0221\1\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\13\5\1\u01da\3\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\13\5\1\u0222\3\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u0223\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\164" + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u0224" + + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\2\5\1\130" + "\14\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\13\5\1\u01ec" + + "\1\312\1\5\1\u0169\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\u0165" + "\1\5\1\0\21\5\4\0\1\4\6\5\1\0\13\5" + + "\1\u0114\3\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\2\5\1\u0111\16\5\4\0\1\4\6\5\1\0\17\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\130" + + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u0166" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\1\u0111\4\5" + + "\1\u0111\4\5\1\u0103\4\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\1\5\1\u0111\17\5\4\0" + "\1\4\6\5\1\0\7\5\1\u01f2\7\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\11\5\1\u01f9\5\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\16\5\1\u0111\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\1\5\1\u0225\15\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\u0226\1\0\21\5\4\0\1\4\6\5" + + "\1\0\4\5\1\u0227\12\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u0228\1\0\21\5\4\0\1\4\6\5\1\0" + + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + + "\1\u0229\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + "\1\u022a\15\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\1\5\1\u022b\4\5" + + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + "\1\u022c\12\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\4\5" + + "\1\u022d\12\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\11\5" + "\1\u0111\5\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\1\u01b3\20\5\4\0\1\4\6\5\1\0" + + "\11\5\1\u022e\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\130\5\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\14\5\1\u0165\2\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\1\u0111\2\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\1\u022f\20\5\4\0\1\4\6\5\1\0\14\5\1\u0230" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\152" + + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\15\5\1\u0111" + "\1\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u01da" + + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\7\4\1\0\7\4\1\u0207\7\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + "\1\0\12\4\1\u0231\4\4\11\0\3\4\2\0\3\4" + + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + "\1\0\21\4\4\0\7\4\1\0\16\4\1\u0232\11\0" + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\17\0\1\u020c\114\0" + "\1\u0233\114\0\1\u0233\124\0\1\u0234\106\0\1\u020c\121\0" + "\1\u0235\125\0\1\u0236\70\0\1\4\6\5\1\0\5\5" - + "\1\u0141\11\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\1\5" - + "\1\u01e8\15\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\14\5" - + "\1\u0237\2\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" - + "\1\u0238\6\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\1\u0111" - + "\4\5\1\u0111\4\5\1\u0103\3\5\1\137\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\1\5\1\u0111" - + "\17\5\4\0\1\4\6\5\1\0\16\5\1\u0219\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\1\5\1\u0111\1\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\36\0\1\u01d1\115\0\1\u01d4\63\0\1\4\1\5\1\u0239" + "\4\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\u023a\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\3\5\1\u01ed\13\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\14\5\1\u0111\2\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\14\5\1\u023b\2\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\u023c\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\14\5\1\u0212\2\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\u023d\7\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\u023e\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\316\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\u023e\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\u0165\7\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\u023f\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\12\5\1\310\4\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\u012a\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" - + "\1\u0240\1\0\21\5\4\0\1\4\6\5\1\0\11\5" + "\1\331\5\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\5\5" + "\1\130\11\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\21\5\4\0\7\4\1\0\1\u01b8\16\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + + "\1\u0141\11\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + "\1\u01e8\15\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\14\5" + + "\1\u0237\2\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + "\1\u0238\6\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\1\u0111" + + "\4\5\1\u0111\4\5\1\u0103\3\5\1\137\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\1\5\1\u0111" + "\17\5\4\0\1\4\6\5\1\0\16\5\1\u0219\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\1\5\1\u0111\1\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\36\0\1\u01d1\115\0\1\u01d4\63\0\1\4\1\5\1\u0239" + + "\4\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\u023a\5\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\3\5\1\u01ed\13\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\14\5\1\u0111\2\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\14\5\1\u023b\2\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\u023c\5\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\14\5\1\u0212\2\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\u023d\7\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\5\1\u023e\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\316\6\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\10\5\1\u023e\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\u0165\7\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\11\5\1\u023f\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\12\5\1\310\4\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\5\1\u012a\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + "\1\u0240\1\0\21\5\4\0\1\4\6\5\1\0\11\5" + + "\1\331\5\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\5\5" + "\1\130\11\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\7\4\1\0\1\u01b8\16\4" + + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + "\1\0\14\4\1\u0207\2\4\11\0\3\4\2\0\3\4" + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + "\1\0\21\4\23\0\1\u0233\120\0\1\u0241\121\0\1\u0242" + "\67\0\1\4\6\5\1\0\16\5\1\310\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\16\5\1\137\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\1\5\1\u0243\4\5\1\0\17\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\11\5\1\310\5\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\10\5\1\u01a4\6\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\13\5\1\u0244\3\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\7\5\1\130\7\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\14\5\1\u0245\2\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u01db\15\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\14\0\1\u020d" + "\131\0\1\u0233\71\0\1\4\6\5\1\0\7\5\1\u0246" - + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u01ed" - + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u0247" - + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\16\5\1\137\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\1\5\1\u0243\4\5\1\0\17\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\11\5\1\310\5\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\10\5\1\u01a4\6\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\13\5\1\u0244\3\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\7\5\1\130\7\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\14\5\1\u0245\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u01db\15\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\14\0\1\u020d" + + "\131\0\1\u0233\71\0\1\4\6\5\1\0\7\5\1\u0246" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u01ed" + + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u0247" + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\5\1\u023a\1\0" + "\21\5\4\0"; - + private static int[] zzUnpackTrans() { int[] result = new int[43134]; 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 */ @@ -748,7 +985,7 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -760,17 +997,18 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\26\1\1\11\6\1\1\11\6\1\1\11\1\1" + "\2\11\7\1\1\11\6\1\1\11\114\1\1\0\2\11" - + "\2\1\1\11\3\1\1\11\17\1\1\0\14\1\2\0" + "\1\11\4\0\1\11\2\0\6\1\1\0\142\1\1\11" + "\7\1\1\11\21\1\6\0\14\1\10\0\6\1\1\0" + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\26\1\1\11\6\1\1\11\6\1\1\11\1\1" + + "\2\11\7\1\1\11\6\1\1\11\114\1\1\0\2\11" + "\2\1\1\11\3\1\1\11\17\1\1\0\14\1\2\0" + + "\1\11\4\0\1\11\2\0\6\1\1\0\142\1\1\11" + "\7\1\1\11\21\1\6\0\14\1\10\0\6\1\1\0" + "\142\1\4\0\1\1\4\0\11\1\2\0\1\1\2\0" + "\67\1\7\0\10\1\4\0\25\1\1\11\3\0\12\1" + "\2\0\5\1"; - + private static int[] zzUnpackAttribute() { int[] result = new int[583]; 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 */ @@ -784,7 +1022,7 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -792,8 +1030,8 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * 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 */ @@ -803,76 +1041,66 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public CPlusPlusTokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -880,21 +1108,18 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -903,16 +1128,16 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case Token.COMMENT_EOL: - state = EOL_COMMENT; - start = text.offset; - break; - case Token.COMMENT_MULTILINE: - state = MLC; - start = text.offset; - break; - default: - state = YYINITIAL; + case Token.COMMENT_EOL: + state = EOL_COMMENT; + start = text.offset; + break; + case Token.COMMENT_MULTILINE: + state = MLC; + start = text.offset; + break; + default: + state = YYINITIAL; } s = text; try { @@ -924,36 +1149,34 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -963,34 +1186,31 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public CPlusPlusTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public CPlusPlusTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -1006,7 +1226,7 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1016,69 +1236,64 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1089,29 +1304,27 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1130,8 +1343,7 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1171,213 +1383,213 @@ public class CPlusPlusTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 29: { - addToken(Token.PREPROCESSOR); - } - case 33: - break; - case 7: { - addNullToken(); - return firstToken; - } - case 34: - break; - case 26: { - addToken(Token.LITERAL_CHAR); - } - case 35: - break; - case 22: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 36: - break; - case 18: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 37: - break; - case 9: { - addToken(Token.WHITESPACE); - } - case 38: - break; - case 28: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 39: - break; - case 19: { - addToken(Token.ERROR_CHAR); /* - * addNullToken(); return - * firstToken; - */ - } - case 40: - break; - case 27: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 41: - break; - case 15: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 42: - break; - case 16: { - addToken(Token.RESERVED_WORD); - } - case 43: - break; - case 5: { - addToken(Token.SEPARATOR); - } - case 44: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 45: - break; - case 12: { /* Line ending in '\' => continue to next line. */ - addToken(start, zzStartRead, Token.COMMENT_EOL); - return firstToken; - } - case 46: - break; - case 13: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 47: - break; - case 17: { - start = zzMarkedPos - 2; - yybegin(EOL_COMMENT); - } - case 48: - break; - case 24: { - addToken(Token.FUNCTION); - } - case 49: - break; - case 6: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 50: - break; - case 8: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 51: - break; - case 25: { - addToken(Token.DATA_TYPE); - } - case 52: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 53: - break; - case 20: { - addToken(Token.ERROR_CHAR); - } - case 54: - break; - case 23: { /* Skip all escaped chars. */ - } - case 55: - break; - case 21: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 56: - break; - case 31: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 57: - break; - case 30: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 58: - break; - case 32: { - addToken(Token.RESERVED_WORD_2); - } - case 59: - break; - case 14: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 60: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 61: - break; - case 4: { - addToken(Token.OPERATOR); - } - case 62: - break; - case 10: {} - case 63: - break; - case 11: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 64: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 584: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 585: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 586: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 29: { + addToken(Token.PREPROCESSOR); + } + case 33: + break; + case 7: { + addNullToken(); + return firstToken; + } + case 34: + break; + case 26: { + addToken(Token.LITERAL_CHAR); + } + case 35: + break; + case 22: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 36: + break; + case 18: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 37: + break; + case 9: { + addToken(Token.WHITESPACE); + } + case 38: + break; + case 28: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 39: + break; + case 19: { + addToken(Token.ERROR_CHAR); /* + * addNullToken(); return firstToken; + */ + } + case 40: + break; + case 27: { + addToken(Token.ERROR_STRING_DOUBLE); + } + case 41: + break; + case 15: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 42: + break; + case 16: { + addToken(Token.RESERVED_WORD); + } + case 43: + break; + case 5: { + addToken(Token.SEPARATOR); + } + case 44: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 45: + break; + case 12: { /* Line ending in '\' => continue to next line. */ + addToken(start, zzStartRead, Token.COMMENT_EOL); + return firstToken; + } + case 46: + break; + case 13: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 47: + break; + case 17: { + start = zzMarkedPos - 2; + yybegin(EOL_COMMENT); + } + case 48: + break; + case 24: { + addToken(Token.FUNCTION); + } + case 49: + break; + case 6: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 50: + break; + case 8: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 51: + break; + case 25: { + addToken(Token.DATA_TYPE); + } + case 52: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 53: + break; + case 20: { + addToken(Token.ERROR_CHAR); + } + case 54: + break; + case 23: { /* Skip all escaped chars. */ + } + case 55: + break; + case 21: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 56: + break; + case 31: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 57: + break; + case 30: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 58: + break; + case 32: { + addToken(Token.RESERVED_WORD_2); + } + case 59: + break; + case 14: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 60: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 61: + break; + case 4: { + addToken(Token.OPERATOR); + } + case 62: + break; + case 10: { + } + case 63: + break; + case 11: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 64: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 584: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 585: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 586: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/CSSTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/CSSTokenMaker.java index 784951a..8ded028 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/CSSTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/CSSTokenMaker.java @@ -17,23 +17,22 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; import org.fife.ui.rsyntaxtextarea.TokenTypes; /** - * This class splits up text into tokens representing a CSS 3 file. It's - * written with a few extra internal states so that it can easily be copy - * and pasted into HTML, PHP, and JSP TokenMakres when it is updated. + * This class splits up text into tokens representing a CSS 3 file. It's written + * with a few extra internal states so that it can easily be copy and pasted + * into HTML, PHP, and JSP TokenMakres when it is updated. *

      * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -43,16 +42,16 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated CSSTokenMaker.java file will contain 2 - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -60,7 +59,7 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * */ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -86,20 +85,21 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\2\0\1\1\4\0\1\2\1\3\2\4\1\5\2\2" + "\1\6\1\7\1\2\1\10\1\11\1\1\1\12\1\13" - + "\1\14\1\15\1\16\1\17\2\20\1\21\3\16\1\22" + "\1\23\1\24\1\25\1\26\2\1\2\25\1\27\1\1" - + "\1\30\1\25\1\31\1\32\1\33\1\34\1\35\1\36" + "\1\33\1\37\1\40\5\33\1\41\4\33\1\42\2\0" - + "\1\3\3\0\1\4\15\0\12\43\1\3\1\44\1\3" + "\1\45\1\46\2\0\1\47\1\50\1\51\2\0\1\26" + "\3\0\1\26\1\52\1\0\1\34\1\53\33\0\11\43" + private static final String ZZ_ACTION_PACKED_0 = "\2\0\1\1\4\0\1\2\1\3\2\4\1\5\2\2" + + "\1\6\1\7\1\2\1\10\1\11\1\1\1\12\1\13" + "\1\14\1\15\1\16\1\17\2\20\1\21\3\16\1\22" + + "\1\23\1\24\1\25\1\26\2\1\2\25\1\27\1\1" + "\1\30\1\25\1\31\1\32\1\33\1\34\1\35\1\36" + + "\1\33\1\37\1\40\5\33\1\41\4\33\1\42\2\0" + "\1\3\3\0\1\4\15\0\12\43\1\3\1\44\1\3" + + "\1\45\1\46\2\0\1\47\1\50\1\51\2\0\1\26" + "\3\0\1\26\1\52\1\0\1\34\1\53\33\0\11\43" + "\15\0\1\17\16\0\1\17\14\0\11\43\26\0\1\54" + "\2\0\1\55\14\0\5\43\1\56\2\43\5\0\1\20" + "\31\0\6\43\21\0\3\43\14\0\2\43\7\0\1\43" + "\11\0\1\57\3\0"; - + private static int[] zzUnpackAction() { int[] result = new int[340]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -113,7 +113,7 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -160,14 +160,14 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { + "\0\u39cc\0\u3a02\0\u3a38\0\u3a6e\0\u3aa4\0\u3ada\0\u3b10\0\u3b46" + "\0\u3b7c\0\u3bb2\0\u3be8\0\u3c1e\0\u3c54\0\u3c8a\0\u3cc0\0\u3cf6" + "\0\u3d2c\0\u3d62\0\u3d98\0\u3dce\0\u3e04\0\u3e3a\0\u3e70\0\u3ea6" + "\0\u017a\0\u3edc\0\u3f12\0\u3f48"; - + private static int[] zzUnpackRowMap() { int[] result = new int[340]; 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 */ @@ -178,126 +178,136 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\10\1\11\2\12\1\13\2\12\1\14\25\12\1\15" + "\1\12\1\16\1\17\1\20\1\21\1\10\1\17\1\12" - + "\1\10\1\12\2\10\1\17\1\10\2\22\1\23\1\24" + "\1\25\1\26\1\27\1\22\1\30\1\17\2\31\3\32" - + "\1\33\1\34\1\35\25\32\1\36\1\32\2\31\1\20" + "\1\37\2\31\1\32\1\31\1\32\1\40\5\31\1\41" - + "\3\31\1\42\1\31\1\43\1\31\1\44\1\45\2\46" + "\1\47\1\44\1\24\1\44\25\46\1\50\1\46\1\51" - + "\1\52\1\20\1\53\1\46\1\54\1\46\1\44\1\46" + "\3\44\1\55\3\44\1\24\1\25\1\26\1\42\1\44" - + "\1\56\1\57\43\60\1\61\14\60\1\62\3\60\1\63" + "\1\60\43\64\1\61\15\64\1\65\2\64\1\66\1\64" - + "\5\67\1\70\6\67\1\71\6\67\1\72\12\67\1\73" + "\25\67\1\74\1\67\14\75\1\76\6\75\1\77\12\75" - + "\1\100\25\75\1\101\1\75\67\0\1\11\4\0\1\11" + "\6\0\1\102\1\103\3\0\1\104\2\0\1\105\1\106" - + "\1\107\16\0\1\104\20\0\4\12\1\0\1\12\1\0" + "\25\12\1\0\1\12\6\0\1\12\1\0\1\12\17\0" - + "\1\110\3\12\1\0\1\12\1\0\25\12\1\0\1\12" + "\6\0\1\12\1\0\1\12\25\0\1\111\1\112\1\113" - + "\1\114\1\115\1\116\1\117\1\0\1\120\1\121\1\122" + "\1\0\1\123\2\0\1\124\2\0\1\125\36\0\3\126" - + "\3\0\3\126\1\127\1\126\1\130\1\131\1\126\1\132" + "\2\126\1\133\1\126\1\134\1\126\1\135\1\136\1\137" - + "\3\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + "\1\140\5\141\1\0\5\141\1\142\2\141\2\142\1\141" - + "\1\142\2\141\1\142\5\141\1\142\1\0\1\141\6\0" + "\1\141\1\0\1\142\57\0\1\20\31\0\1\143\34\0" - + "\1\144\24\0\4\32\1\0\1\34\1\145\25\32\1\0" + "\1\32\6\0\1\32\1\0\1\32\17\0\1\34\3\32" - + "\1\0\1\34\1\146\25\32\1\0\1\32\6\0\1\32" + "\1\0\1\32\17\0\4\34\1\0\1\34\1\146\25\34" - + "\1\0\1\34\6\0\1\34\1\0\1\34\20\0\3\147" + "\3\0\25\147\1\0\1\147\6\0\1\147\1\0\1\147" - + "\23\0\1\143\34\0\1\150\25\0\5\151\1\0\25\151" + "\1\0\1\151\6\0\1\151\1\0\1\151\17\0\1\45" - + "\4\0\1\45\6\0\1\152\1\153\3\0\1\154\2\0" + "\1\155\1\156\1\157\16\0\1\154\21\0\3\46\3\0" - + "\25\46\1\0\1\46\3\0\2\46\1\54\1\46\1\0" + "\1\46\17\0\1\45\3\46\3\0\25\46\1\0\1\46" - + "\3\0\2\46\1\54\1\46\1\0\1\46\17\0\1\160" + "\13\0\1\160\2\0\2\160\1\0\1\160\2\0\1\160" - + "\5\0\1\160\12\0\1\160\20\0\3\46\1\143\2\0" + "\25\46\1\0\1\46\3\0\1\161\1\46\1\54\1\46" - + "\1\0\1\46\34\0\1\162\47\0\43\60\1\0\14\60" + "\1\0\3\60\1\0\1\60\64\163\1\0\1\163\43\64" - + "\1\0\15\64\1\0\2\64\1\0\1\64\5\67\1\0" + "\6\67\1\0\6\67\1\0\12\67\1\0\25\67\1\0" - + "\1\67\42\0\1\164\35\0\1\165\65\0\1\166\3\0" + "\1\167\105\0\1\170\27\0\14\75\1\0\6\75\1\0" - + "\12\75\1\0\25\75\1\0\1\75\12\0\1\171\65\0" + "\1\172\3\0\1\173\105\0\1\174\56\0\1\104\51\0" - + "\1\104\64\0\1\104\2\0\1\104\27\0\1\104\47\0" + "\1\104\15\0\1\104\42\0\1\104\4\0\1\104\37\0" - + "\1\110\3\12\1\0\1\110\1\0\25\12\1\0\1\12" + "\6\0\1\12\1\104\1\12\37\0\1\175\1\0\1\176" - + "\10\0\1\177\42\0\1\200\67\0\1\201\73\0\1\202" + "\55\0\1\203\1\204\64\0\1\205\70\0\1\206\67\0" - + "\1\207\2\0\1\210\62\0\1\211\64\0\1\212\61\0" + "\1\213\4\0\1\214\62\0\1\215\13\0\1\216\54\0" - + "\1\217\50\0\4\126\1\0\1\126\1\0\25\126\1\0" + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" - + "\1\126\1\0\11\126\1\220\13\126\1\0\1\126\6\0" + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" - + "\4\126\1\221\20\126\1\0\1\126\6\0\1\126\1\0" + "\1\126\17\0\4\126\1\0\1\126\1\0\17\126\1\222" - + "\5\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + "\4\126\1\0\1\126\1\0\1\126\1\223\23\126\1\0" - + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + "\1\126\1\0\1\126\1\224\23\126\1\0\1\126\6\0" - + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + "\11\126\1\225\13\126\1\0\1\126\6\0\1\126\1\0" - + "\1\126\17\0\4\126\1\0\1\126\1\0\16\126\1\226" + "\6\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" - + "\4\126\1\0\1\126\1\0\16\126\1\227\6\126\1\0" + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" - + "\1\126\1\0\6\126\1\230\16\126\1\0\1\126\6\0" + "\1\126\1\0\1\126\17\0\1\140\13\0\1\140\2\0" - + "\2\140\1\0\1\140\2\0\1\140\5\0\1\140\12\0" + "\1\140\17\0\4\141\1\0\1\141\1\0\25\141\1\0" - + "\1\141\6\0\1\141\1\0\1\141\17\0\1\142\3\141" + "\1\0\1\141\1\0\5\141\1\142\2\141\2\142\1\141" - + "\1\142\2\141\1\142\5\141\1\142\1\0\1\141\6\0" + "\1\141\1\0\1\142\25\0\1\231\1\232\1\233\1\234" - + "\1\235\1\236\1\237\1\0\1\240\1\241\1\242\1\0" + "\1\243\2\0\1\244\2\0\1\245\4\0\1\246\36\0" - + "\1\231\1\232\1\233\1\234\1\235\1\236\1\237\1\0" + "\1\240\1\241\1\242\1\0\1\243\2\0\1\244\2\0" - + "\1\245\35\0\4\147\1\0\1\147\1\0\25\147\1\0" + "\1\147\6\0\1\147\1\0\1\147\17\0\4\151\1\0" - + "\1\151\1\0\25\151\1\0\1\151\6\0\1\151\1\0" + "\1\151\45\0\1\154\51\0\1\154\64\0\1\154\2\0" - + "\1\154\27\0\1\154\47\0\1\154\15\0\1\154\42\0" + "\1\154\4\0\1\154\65\0\1\247\50\0\1\250\100\0" - + "\1\251\57\0\1\252\104\0\1\253\41\0\1\254\100\0" + "\1\255\57\0\1\256\104\0\1\257\52\0\1\260\60\0" - + "\1\261\75\0\1\262\50\0\1\203\73\0\1\263\56\0" + "\1\264\67\0\1\265\67\0\1\266\102\0\1\267\62\0" - + "\1\270\52\0\1\271\65\0\1\272\6\0\1\273\65\0" + "\1\215\55\0\1\274\70\0\1\275\60\0\1\276\76\0" - + "\1\277\71\0\1\300\62\0\1\301\44\0\4\126\1\0" + "\1\126\1\0\17\126\1\302\5\126\1\0\1\126\6\0" - + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + "\11\126\1\303\13\126\1\0\1\126\6\0\1\126\1\0" - + "\1\126\17\0\4\126\1\0\1\126\1\0\15\126\1\304" + "\7\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" - + "\4\126\1\0\1\126\1\0\5\126\1\305\17\126\1\0" + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" - + "\1\126\1\0\3\126\1\306\21\126\1\0\1\126\6\0" + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" - + "\23\126\1\307\1\126\1\0\1\126\6\0\1\126\1\0" + "\1\126\17\0\4\126\1\0\1\126\1\0\10\126\1\310" - + "\14\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + "\4\126\1\0\1\126\1\0\14\126\1\311\10\126\1\0" - + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + "\1\126\1\0\16\126\1\312\6\126\1\0\1\126\6\0" - + "\1\126\1\0\1\126\37\0\1\313\1\0\1\314\10\0" + "\1\315\42\0\1\316\67\0\1\317\73\0\1\320\55\0" - + "\1\321\1\322\64\0\1\323\70\0\1\324\67\0\1\325" + "\2\0\1\326\62\0\1\327\64\0\1\330\61\0\1\331" - + "\4\0\1\332\62\0\1\333\13\0\1\334\54\0\1\335" + "\105\0\1\246\54\0\1\336\65\0\1\337\47\0\1\340" - + "\104\0\1\251\45\0\1\341\104\0\1\342\47\0\1\343" + "\104\0\1\255\45\0\1\344\71\0\1\267\63\0\1\345" - + "\100\0\1\346\66\0\1\347\74\0\1\350\36\0\1\351" + "\107\0\1\352\54\0\1\353\100\0\1\265\70\0\1\265" - + "\44\0\1\347\71\0\1\354\101\0\1\355\55\0\1\273" + "\77\0\1\356\43\0\1\357\71\0\1\360\50\0\4\126" - + "\1\0\1\126\1\0\16\126\1\361\6\126\1\0\1\126" + "\6\0\1\126\1\0\1\126\17\0\4\126\1\0\1\126" - + "\1\0\1\362\24\126\1\0\1\126\6\0\1\126\1\0" + "\1\126\17\0\4\126\1\0\1\126\1\0\1\126\1\363" - + "\23\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + "\4\126\1\0\1\126\1\0\22\126\1\364\2\126\1\0" - + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + "\1\126\1\0\2\126\1\365\22\126\1\0\1\126\6\0" - + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + "\16\126\1\366\6\126\1\0\1\126\6\0\1\126\1\0" - + "\1\126\17\0\4\126\1\0\1\126\1\0\6\126\1\367" + "\16\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" - + "\4\126\1\0\1\126\1\0\13\126\1\370\11\126\1\0" + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" - + "\1\126\1\0\25\126\1\0\1\222\6\0\1\126\1\0" + "\1\126\41\0\1\371\60\0\1\372\75\0\1\373\50\0" - + "\1\321\73\0\1\374\56\0\1\375\67\0\1\376\67\0" + "\1\377\102\0\1\u0100\62\0\1\u0101\52\0\1\u0102\65\0" - + "\1\u0103\6\0\1\u0104\65\0\1\333\55\0\1\u0105\70\0" + "\1\u0106\60\0\1\u0107\76\0\1\u0108\71\0\1\u0109\62\0" - + "\1\u010a\54\0\1\u010b\63\0\1\340\12\0\1\251\105\0" + "\1\u010c\24\0\2\341\5\u010d\25\341\1\u010d\1\341\2\u010d" + private static final String ZZ_TRANS_PACKED_0 = "\1\10\1\11\2\12\1\13\2\12\1\14\25\12\1\15" + + "\1\12\1\16\1\17\1\20\1\21\1\10\1\17\1\12" + "\1\10\1\12\2\10\1\17\1\10\2\22\1\23\1\24" + + "\1\25\1\26\1\27\1\22\1\30\1\17\2\31\3\32" + "\1\33\1\34\1\35\25\32\1\36\1\32\2\31\1\20" + + "\1\37\2\31\1\32\1\31\1\32\1\40\5\31\1\41" + "\3\31\1\42\1\31\1\43\1\31\1\44\1\45\2\46" + + "\1\47\1\44\1\24\1\44\25\46\1\50\1\46\1\51" + "\1\52\1\20\1\53\1\46\1\54\1\46\1\44\1\46" + + "\3\44\1\55\3\44\1\24\1\25\1\26\1\42\1\44" + "\1\56\1\57\43\60\1\61\14\60\1\62\3\60\1\63" + + "\1\60\43\64\1\61\15\64\1\65\2\64\1\66\1\64" + "\5\67\1\70\6\67\1\71\6\67\1\72\12\67\1\73" + + "\25\67\1\74\1\67\14\75\1\76\6\75\1\77\12\75" + "\1\100\25\75\1\101\1\75\67\0\1\11\4\0\1\11" + + "\6\0\1\102\1\103\3\0\1\104\2\0\1\105\1\106" + "\1\107\16\0\1\104\20\0\4\12\1\0\1\12\1\0" + + "\25\12\1\0\1\12\6\0\1\12\1\0\1\12\17\0" + "\1\110\3\12\1\0\1\12\1\0\25\12\1\0\1\12" + + "\6\0\1\12\1\0\1\12\25\0\1\111\1\112\1\113" + "\1\114\1\115\1\116\1\117\1\0\1\120\1\121\1\122" + + "\1\0\1\123\2\0\1\124\2\0\1\125\36\0\3\126" + "\3\0\3\126\1\127\1\126\1\130\1\131\1\126\1\132" + + "\2\126\1\133\1\126\1\134\1\126\1\135\1\136\1\137" + "\3\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + + "\1\140\5\141\1\0\5\141\1\142\2\141\2\142\1\141" + "\1\142\2\141\1\142\5\141\1\142\1\0\1\141\6\0" + + "\1\141\1\0\1\142\57\0\1\20\31\0\1\143\34\0" + "\1\144\24\0\4\32\1\0\1\34\1\145\25\32\1\0" + + "\1\32\6\0\1\32\1\0\1\32\17\0\1\34\3\32" + "\1\0\1\34\1\146\25\32\1\0\1\32\6\0\1\32" + + "\1\0\1\32\17\0\4\34\1\0\1\34\1\146\25\34" + "\1\0\1\34\6\0\1\34\1\0\1\34\20\0\3\147" + + "\3\0\25\147\1\0\1\147\6\0\1\147\1\0\1\147" + "\23\0\1\143\34\0\1\150\25\0\5\151\1\0\25\151" + + "\1\0\1\151\6\0\1\151\1\0\1\151\17\0\1\45" + "\4\0\1\45\6\0\1\152\1\153\3\0\1\154\2\0" + + "\1\155\1\156\1\157\16\0\1\154\21\0\3\46\3\0" + "\25\46\1\0\1\46\3\0\2\46\1\54\1\46\1\0" + + "\1\46\17\0\1\45\3\46\3\0\25\46\1\0\1\46" + "\3\0\2\46\1\54\1\46\1\0\1\46\17\0\1\160" + + "\13\0\1\160\2\0\2\160\1\0\1\160\2\0\1\160" + "\5\0\1\160\12\0\1\160\20\0\3\46\1\143\2\0" + + "\25\46\1\0\1\46\3\0\1\161\1\46\1\54\1\46" + "\1\0\1\46\34\0\1\162\47\0\43\60\1\0\14\60" + + "\1\0\3\60\1\0\1\60\64\163\1\0\1\163\43\64" + "\1\0\15\64\1\0\2\64\1\0\1\64\5\67\1\0" + + "\6\67\1\0\6\67\1\0\12\67\1\0\25\67\1\0" + "\1\67\42\0\1\164\35\0\1\165\65\0\1\166\3\0" + + "\1\167\105\0\1\170\27\0\14\75\1\0\6\75\1\0" + "\12\75\1\0\25\75\1\0\1\75\12\0\1\171\65\0" + + "\1\172\3\0\1\173\105\0\1\174\56\0\1\104\51\0" + "\1\104\64\0\1\104\2\0\1\104\27\0\1\104\47\0" + + "\1\104\15\0\1\104\42\0\1\104\4\0\1\104\37\0" + "\1\110\3\12\1\0\1\110\1\0\25\12\1\0\1\12" + + "\6\0\1\12\1\104\1\12\37\0\1\175\1\0\1\176" + "\10\0\1\177\42\0\1\200\67\0\1\201\73\0\1\202" + + "\55\0\1\203\1\204\64\0\1\205\70\0\1\206\67\0" + "\1\207\2\0\1\210\62\0\1\211\64\0\1\212\61\0" + + "\1\213\4\0\1\214\62\0\1\215\13\0\1\216\54\0" + "\1\217\50\0\4\126\1\0\1\126\1\0\25\126\1\0" + + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + "\1\126\1\0\11\126\1\220\13\126\1\0\1\126\6\0" + + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + "\4\126\1\221\20\126\1\0\1\126\6\0\1\126\1\0" + + "\1\126\17\0\4\126\1\0\1\126\1\0\17\126\1\222" + "\5\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + + "\4\126\1\0\1\126\1\0\1\126\1\223\23\126\1\0" + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + + "\1\126\1\0\1\126\1\224\23\126\1\0\1\126\6\0" + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + + "\11\126\1\225\13\126\1\0\1\126\6\0\1\126\1\0" + "\1\126\17\0\4\126\1\0\1\126\1\0\16\126\1\226" + + "\6\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + "\4\126\1\0\1\126\1\0\16\126\1\227\6\126\1\0" + + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + "\1\126\1\0\6\126\1\230\16\126\1\0\1\126\6\0" + + "\1\126\1\0\1\126\17\0\1\140\13\0\1\140\2\0" + "\2\140\1\0\1\140\2\0\1\140\5\0\1\140\12\0" + + "\1\140\17\0\4\141\1\0\1\141\1\0\25\141\1\0" + "\1\141\6\0\1\141\1\0\1\141\17\0\1\142\3\141" + + "\1\0\1\141\1\0\5\141\1\142\2\141\2\142\1\141" + "\1\142\2\141\1\142\5\141\1\142\1\0\1\141\6\0" + + "\1\141\1\0\1\142\25\0\1\231\1\232\1\233\1\234" + "\1\235\1\236\1\237\1\0\1\240\1\241\1\242\1\0" + + "\1\243\2\0\1\244\2\0\1\245\4\0\1\246\36\0" + "\1\231\1\232\1\233\1\234\1\235\1\236\1\237\1\0" + + "\1\240\1\241\1\242\1\0\1\243\2\0\1\244\2\0" + "\1\245\35\0\4\147\1\0\1\147\1\0\25\147\1\0" + + "\1\147\6\0\1\147\1\0\1\147\17\0\4\151\1\0" + "\1\151\1\0\25\151\1\0\1\151\6\0\1\151\1\0" + + "\1\151\45\0\1\154\51\0\1\154\64\0\1\154\2\0" + "\1\154\27\0\1\154\47\0\1\154\15\0\1\154\42\0" + + "\1\154\4\0\1\154\65\0\1\247\50\0\1\250\100\0" + "\1\251\57\0\1\252\104\0\1\253\41\0\1\254\100\0" + + "\1\255\57\0\1\256\104\0\1\257\52\0\1\260\60\0" + "\1\261\75\0\1\262\50\0\1\203\73\0\1\263\56\0" + + "\1\264\67\0\1\265\67\0\1\266\102\0\1\267\62\0" + "\1\270\52\0\1\271\65\0\1\272\6\0\1\273\65\0" + + "\1\215\55\0\1\274\70\0\1\275\60\0\1\276\76\0" + "\1\277\71\0\1\300\62\0\1\301\44\0\4\126\1\0" + + "\1\126\1\0\17\126\1\302\5\126\1\0\1\126\6\0" + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + + "\11\126\1\303\13\126\1\0\1\126\6\0\1\126\1\0" + "\1\126\17\0\4\126\1\0\1\126\1\0\15\126\1\304" + + "\7\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + "\4\126\1\0\1\126\1\0\5\126\1\305\17\126\1\0" + + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + "\1\126\1\0\3\126\1\306\21\126\1\0\1\126\6\0" + + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + "\23\126\1\307\1\126\1\0\1\126\6\0\1\126\1\0" + + "\1\126\17\0\4\126\1\0\1\126\1\0\10\126\1\310" + "\14\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + + "\4\126\1\0\1\126\1\0\14\126\1\311\10\126\1\0" + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + + "\1\126\1\0\16\126\1\312\6\126\1\0\1\126\6\0" + "\1\126\1\0\1\126\37\0\1\313\1\0\1\314\10\0" + + "\1\315\42\0\1\316\67\0\1\317\73\0\1\320\55\0" + "\1\321\1\322\64\0\1\323\70\0\1\324\67\0\1\325" + + "\2\0\1\326\62\0\1\327\64\0\1\330\61\0\1\331" + "\4\0\1\332\62\0\1\333\13\0\1\334\54\0\1\335" + + "\105\0\1\246\54\0\1\336\65\0\1\337\47\0\1\340" + "\104\0\1\251\45\0\1\341\104\0\1\342\47\0\1\343" + + "\104\0\1\255\45\0\1\344\71\0\1\267\63\0\1\345" + "\100\0\1\346\66\0\1\347\74\0\1\350\36\0\1\351" + + "\107\0\1\352\54\0\1\353\100\0\1\265\70\0\1\265" + "\44\0\1\347\71\0\1\354\101\0\1\355\55\0\1\273" + + "\77\0\1\356\43\0\1\357\71\0\1\360\50\0\4\126" + "\1\0\1\126\1\0\16\126\1\361\6\126\1\0\1\126" + + "\6\0\1\126\1\0\1\126\17\0\4\126\1\0\1\126" + "\1\0\1\362\24\126\1\0\1\126\6\0\1\126\1\0" + + "\1\126\17\0\4\126\1\0\1\126\1\0\1\126\1\363" + "\23\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + + "\4\126\1\0\1\126\1\0\22\126\1\364\2\126\1\0" + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + + "\1\126\1\0\2\126\1\365\22\126\1\0\1\126\6\0" + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + + "\16\126\1\366\6\126\1\0\1\126\6\0\1\126\1\0" + "\1\126\17\0\4\126\1\0\1\126\1\0\6\126\1\367" + + "\16\126\1\0\1\126\6\0\1\126\1\0\1\126\17\0" + "\4\126\1\0\1\126\1\0\13\126\1\370\11\126\1\0" + + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + "\1\126\1\0\25\126\1\0\1\222\6\0\1\126\1\0" + + "\1\126\41\0\1\371\60\0\1\372\75\0\1\373\50\0" + "\1\321\73\0\1\374\56\0\1\375\67\0\1\376\67\0" + + "\1\377\102\0\1\u0100\62\0\1\u0101\52\0\1\u0102\65\0" + + "\1\u0103\6\0\1\u0104\65\0\1\333\55\0\1\u0105\70\0" + + "\1\u0106\60\0\1\u0107\76\0\1\u0108\71\0\1\u0109\62\0" + + "\1\u010a\54\0\1\u010b\63\0\1\340\12\0\1\251\105\0" + + "\1\u010c\24\0\2\341\5\u010d\25\341\1\u010d\1\341\2\u010d" + "\1\0\1\341\1\0\1\u010d\1\341\1\u010d\1\341\5\u010d" + "\1\341\1\0\1\u010d\1\0\1\u010d\3\0\1\u010d\7\0" - + "\1\343\12\0\1\255\105\0\1\u010e\24\0\2\344\5\u010f" + "\25\344\1\u010f\1\344\2\u010f\1\0\1\344\1\0\1\u010f" - + "\1\344\1\u010f\1\344\5\u010f\1\344\1\0\1\u010f\1\0" + "\1\u010f\3\0\1\u010f\22\0\1\u0110\54\0\1\u0111\60\0" - + "\1\u0112\107\0\1\203\50\0\1\u0113\3\0\1\u0114\1\0" + "\1\u0115\56\0\1\265\105\0\1\u0116\66\0\1\u0117\56\0" - + "\1\265\62\0\1\u0116\72\0\1\265\53\0\1\u0116\54\0" + "\4\126\1\0\1\126\1\0\12\126\1\u0118\12\126\1\0" - + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + "\1\126\1\0\12\126\1\u0119\12\126\1\0\1\126\6\0" - + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + "\1\u011a\24\126\1\0\1\126\6\0\1\126\1\0\1\126" - + "\17\0\4\126\1\0\1\126\1\0\17\126\1\u011b\5\126" + "\1\0\1\126\6\0\1\126\1\0\1\126\17\0\3\126" - + "\1\u011c\1\0\1\126\1\0\25\126\1\0\1\126\6\0" + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" - + "\11\126\1\366\13\126\1\0\1\126\6\0\1\126\1\0" + "\1\126\17\0\4\126\1\0\1\126\1\0\1\u011d\24\126" - + "\1\0\1\126\6\0\1\126\1\0\1\126\30\0\1\u0100" + "\63\0\1\u011e\100\0\1\u011f\66\0\1\u0120\74\0\1\u0121" - + "\41\0\1\146\62\0\1\u0122\107\0\1\u0123\54\0\1\u0124" + "\100\0\1\376\70\0\1\376\44\0\1\u0120\71\0\1\u0125" - + "\101\0\1\u0126\55\0\1\u0104\77\0\1\u0127\43\0\1\u0128" + "\71\0\1\u0129\57\0\1\u012a\117\0\1\341\65\0\1\344" - + "\35\0\1\u012b\63\0\1\u0117\66\0\1\u0113\3\0\1\u0114" + "\73\0\1\u012c\56\0\1\u012d\72\0\1\276\72\0\1\u012e" - + "\65\0\1\265\40\0\4\126\1\0\1\126\1\0\15\126" + "\1\u012f\7\126\1\0\1\126\6\0\1\126\1\0\1\126" - + "\17\0\4\126\1\0\1\126\1\0\16\126\1\u011a\6\126" + "\1\0\1\126\6\0\1\126\1\0\1\126\17\0\4\126" - + "\1\0\1\126\1\0\2\126\1\366\22\126\1\0\1\126" + "\6\0\1\126\1\0\1\126\17\0\4\126\1\0\1\126" - + "\1\0\16\126\1\u0130\6\126\1\0\1\126\6\0\1\126" + "\1\0\1\126\17\0\4\126\1\0\1\126\1\0\13\126" - + "\1\u012f\11\126\1\0\1\126\6\0\1\126\1\0\1\126" + "\17\0\4\126\1\0\1\126\1\0\11\126\1\u0131\13\126" - + "\1\0\1\126\6\0\1\126\1\0\1\126\40\0\1\u0132" + "\54\0\1\u0133\60\0\1\u0134\107\0\1\321\50\0\1\u0135" + + "\1\343\12\0\1\255\105\0\1\u010e\24\0\2\344\5\u010f" + + "\25\344\1\u010f\1\344\2\u010f\1\0\1\344\1\0\1\u010f" + + "\1\344\1\u010f\1\344\5\u010f\1\344\1\0\1\u010f\1\0" + + "\1\u010f\3\0\1\u010f\22\0\1\u0110\54\0\1\u0111\60\0" + + "\1\u0112\107\0\1\203\50\0\1\u0113\3\0\1\u0114\1\0" + + "\1\u0115\56\0\1\265\105\0\1\u0116\66\0\1\u0117\56\0" + "\1\265\62\0\1\u0116\72\0\1\265\53\0\1\u0116\54\0" + + "\4\126\1\0\1\126\1\0\12\126\1\u0118\12\126\1\0" + "\1\126\6\0\1\126\1\0\1\126\17\0\4\126\1\0" + + "\1\126\1\0\12\126\1\u0119\12\126\1\0\1\126\6\0" + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + + "\1\u011a\24\126\1\0\1\126\6\0\1\126\1\0\1\126" + "\17\0\4\126\1\0\1\126\1\0\17\126\1\u011b\5\126" + + "\1\0\1\126\6\0\1\126\1\0\1\126\17\0\3\126" + "\1\u011c\1\0\1\126\1\0\25\126\1\0\1\126\6\0" + + "\1\126\1\0\1\126\17\0\4\126\1\0\1\126\1\0" + "\11\126\1\366\13\126\1\0\1\126\6\0\1\126\1\0" + + "\1\126\17\0\4\126\1\0\1\126\1\0\1\u011d\24\126" + "\1\0\1\126\6\0\1\126\1\0\1\126\30\0\1\u0100" + + "\63\0\1\u011e\100\0\1\u011f\66\0\1\u0120\74\0\1\u0121" + + "\41\0\1\146\62\0\1\u0122\107\0\1\u0123\54\0\1\u0124" + + "\100\0\1\376\70\0\1\376\44\0\1\u0120\71\0\1\u0125" + + "\101\0\1\u0126\55\0\1\u0104\77\0\1\u0127\43\0\1\u0128" + + "\71\0\1\u0129\57\0\1\u012a\117\0\1\341\65\0\1\344" + + "\35\0\1\u012b\63\0\1\u0117\66\0\1\u0113\3\0\1\u0114" + + "\73\0\1\u012c\56\0\1\u012d\72\0\1\276\72\0\1\u012e" + "\65\0\1\265\40\0\4\126\1\0\1\126\1\0\15\126" + + "\1\u012f\7\126\1\0\1\126\6\0\1\126\1\0\1\126" + "\17\0\4\126\1\0\1\126\1\0\16\126\1\u011a\6\126" + + "\1\0\1\126\6\0\1\126\1\0\1\126\17\0\4\126" + "\1\0\1\126\1\0\2\126\1\366\22\126\1\0\1\126" + + "\6\0\1\126\1\0\1\126\17\0\4\126\1\0\1\126" + "\1\0\16\126\1\u0130\6\126\1\0\1\126\6\0\1\126" + + "\1\0\1\126\17\0\4\126\1\0\1\126\1\0\13\126" + "\1\u012f\11\126\1\0\1\126\6\0\1\126\1\0\1\126" + + "\17\0\4\126\1\0\1\126\1\0\11\126\1\u0131\13\126" + "\1\0\1\126\6\0\1\126\1\0\1\126\40\0\1\u0132" + + "\54\0\1\u0133\60\0\1\u0134\107\0\1\321\50\0\1\u0135" + "\3\0\1\u0136\1\0\1\u0137\56\0\1\376\105\0\1\u0138" + "\66\0\1\u0139\56\0\1\376\62\0\1\u0138\72\0\1\376" + "\53\0\1\u0138\65\0\1\u013a\57\0\1\u013b\65\0\1\u013c" + "\77\0\1\u013d\67\0\1\265\46\0\4\126\1\0\1\126" + "\1\0\11\126\1\u013e\13\126\1\0\1\126\6\0\1\126" + "\1\0\1\126\17\0\4\126\1\0\1\126\1\0\3\126" + "\1\u011a\21\126\1\0\1\126\6\0\1\126\1\0\1\126" + "\17\0\4\126\1\0\1\126\1\0\17\126\1\u013f\5\126" + "\1\0\1\126\6\0\1\126\1\0\1\126\30\0\1\u0140" + "\63\0\1\u0139\66\0\1\u0135\3\0\1\u0136\73\0\1\u0141" - + "\56\0\1\u0142\72\0\1\u0107\72\0\1\u0143\65\0\1\376" + "\60\0\1\u0144\63\0\1\u0145\60\0\1\u0146\72\0\1\u012e" - + "\47\0\4\126\1\0\1\126\1\0\5\126\1\307\17\126" + "\1\0\1\126\6\0\1\126\1\0\1\126\17\0\4\126" - + "\1\0\1\126\1\0\16\126\1\u0147\6\126\1\0\1\126" + "\6\0\1\126\1\0\1\126\22\0\1\u0148\65\0\1\u0149" - + "\77\0\1\u014a\67\0\1\376\60\0\1\u014b\70\0\1\u014c" + "\7\0\1\u014d\63\0\1\u014e\42\0\4\126\1\0\1\126" - + "\1\0\12\126\1\366\12\126\1\0\1\126\6\0\1\126" + "\1\0\1\126\35\0\1\u014f\60\0\1\u0150\72\0\1\u0143" - + "\60\0\1\u0151\66\0\1\u0117\64\0\1\260\100\0\1\u0117" + "\56\0\1\u0152\7\0\1\u0153\63\0\1\u0154\54\0\1\u0139" - + "\64\0\1\371\100\0\1\u0139\40\0"; - + + "\56\0\1\u0142\72\0\1\u0107\72\0\1\u0143\65\0\1\376" + + "\60\0\1\u0144\63\0\1\u0145\60\0\1\u0146\72\0\1\u012e" + "\47\0\4\126\1\0\1\126\1\0\5\126\1\307\17\126" + + "\1\0\1\126\6\0\1\126\1\0\1\126\17\0\4\126" + "\1\0\1\126\1\0\16\126\1\u0147\6\126\1\0\1\126" + + "\6\0\1\126\1\0\1\126\22\0\1\u0148\65\0\1\u0149" + "\77\0\1\u014a\67\0\1\376\60\0\1\u014b\70\0\1\u014c" + + "\7\0\1\u014d\63\0\1\u014e\42\0\4\126\1\0\1\126" + "\1\0\12\126\1\366\12\126\1\0\1\126\6\0\1\126" + + "\1\0\1\126\35\0\1\u014f\60\0\1\u0150\72\0\1\u0143" + + "\60\0\1\u0151\66\0\1\u0117\64\0\1\260\100\0\1\u0117" + + "\56\0\1\u0152\7\0\1\u0153\63\0\1\u0154\54\0\1\u0139" + "\64\0\1\371\100\0\1\u0139\40\0"; + private static int[] zzUnpackTrans() { int[] result = new int[16254]; 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 */ @@ -312,7 +322,7 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -324,18 +334,19 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\1\4\0\1\11\6\1\1\11\2\1\10\11" + "\3\1\1\11\3\1\4\11\5\1\1\11\1\1\1\11" - + "\1\1\2\11\2\1\2\11\1\1\2\11\5\1\1\11" + "\4\1\1\11\2\0\1\11\3\0\1\1\15\0\15\1" + "\2\11\2\0\1\1\1\11\1\1\2\0\1\11\3\0" - + "\2\1\1\0\2\11\33\0\11\1\15\0\1\1\16\0" + "\1\11\14\0\11\1\26\0\1\1\2\0\1\1\14\0" + "\10\1\5\0\1\1\31\0\6\1\21\0\3\1\14\0" - + "\2\1\7\0\1\1\11\0\1\11\3\0"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\1\4\0\1\11\6\1\1\11\2\1\10\11" + + "\3\1\1\11\3\1\4\11\5\1\1\11\1\1\1\11" + "\1\1\2\11\2\1\2\11\1\1\2\11\5\1\1\11" + + "\4\1\1\11\2\0\1\11\3\0\1\1\15\0\15\1" + "\2\11\2\0\1\1\1\11\1\1\2\0\1\11\3\0" + + "\2\1\1\0\2\11\33\0\11\1\15\0\1\1\16\0" + "\1\11\14\0\11\1\26\0\1\1\2\0\1\1\14\0" + + "\10\1\5\0\1\1\31\0\6\1\21\0\3\1\14\0" + "\2\1\7\0\1\1\11\0\1\11\3\0"; + private static int[] zzUnpackAttribute() { int[] result = new int[340]; 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 */ @@ -349,7 +360,7 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -357,8 +368,8 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -368,8 +379,7 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ @@ -384,18 +394,18 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { */ public static final int INTERNAL_CSS_VALUE = -2; /** - * Internal type denoting line ending in a CSS double-quote string. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS double-quote string. The state to + * return to is embedded in the actual end token type. */ public static final int INTERNAL_CSS_STRING = -(1 << 11); /** - * Internal type denoting line ending in a CSS single-quote string. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS single-quote string. The state to + * return to is embedded in the actual end token type. */ public static final int INTERNAL_CSS_CHAR = -(2 << 11); /** - * Internal type denoting line ending in a CSS multi-line comment. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS multi-line comment. The state to + * return to is embedded in the actual end token type. */ public static final int INTERNAL_CSS_MLC = -(3 << 11); /** @@ -407,80 +417,70 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { * Whether we are highlighting less instead of CSS. */ private boolean highlightingLess; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public CSSTokenMaker() { super(); } - + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * Returns the closest {@link TokenTypes "standard" token type} for a given * "internal" token type (e.g. one whose value is < 0). @@ -488,15 +488,15 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { @Override public int getClosestStandardTokenTypeForInternalType(int type) { switch (type) { - case INTERNAL_CSS_STRING: - case INTERNAL_CSS_CHAR: - return TokenTypes.LITERAL_STRING_DOUBLE_QUOTE; - case INTERNAL_CSS_MLC: - return TokenTypes.COMMENT_MULTILINE; + case INTERNAL_CSS_STRING: + case INTERNAL_CSS_CHAR: + return TokenTypes.LITERAL_STRING_DOUBLE_QUOTE; + case INTERNAL_CSS_MLC: + return TokenTypes.COMMENT_MULTILINE; } return type; } - + /** * Returns true since CSS uses curly braces. * @@ -505,7 +505,7 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { public boolean getCurlyBracesDenoteCodeBlocks() { return true; } - + /** * {@inheritDoc} */ @@ -513,7 +513,7 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.RESERVED_WORD; // Used for CSS keys } - + /** * {@inheritDoc} */ @@ -525,21 +525,18 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { } return false; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -549,40 +546,40 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = CSS_STRING; - break; - case Token.LITERAL_CHAR: - state = CSS_CHAR_LITERAL; - break; - case Token.COMMENT_MULTILINE: - state = CSS_C_STYLE_COMMENT; - break; - case INTERNAL_CSS_PROPERTY: - state = CSS_PROPERTY; - break; - case INTERNAL_CSS_VALUE: - state = CSS_VALUE; - break; - default: - if (initialTokenType < -1024) { - int main = -(-initialTokenType & 0xffffff00); - switch (main) { - default: // Should never happen - case INTERNAL_CSS_STRING: - state = CSS_STRING; - break; - case INTERNAL_CSS_CHAR: - state = CSS_CHAR_LITERAL; - break; - case INTERNAL_CSS_MLC: - state = CSS_C_STYLE_COMMENT; - break; - } - cssPrevState = -initialTokenType & 0xff; - } else { - state = YYINITIAL; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = CSS_STRING; + break; + case Token.LITERAL_CHAR: + state = CSS_CHAR_LITERAL; + break; + case Token.COMMENT_MULTILINE: + state = CSS_C_STYLE_COMMENT; + break; + case INTERNAL_CSS_PROPERTY: + state = CSS_PROPERTY; + break; + case INTERNAL_CSS_VALUE: + state = CSS_VALUE; + break; + default: + if (initialTokenType < -1024) { + int main = -(-initialTokenType & 0xffffff00); + switch (main) { + default: // Should never happen + case INTERNAL_CSS_STRING: + state = CSS_STRING; + break; + case INTERNAL_CSS_CHAR: + state = CSS_CHAR_LITERAL; + break; + case INTERNAL_CSS_MLC: + state = CSS_C_STYLE_COMMENT; + break; } + cssPrevState = -initialTokenType & 0xff; + } else { + state = YYINITIAL; + } } start = text.offset; s = text; @@ -595,7 +592,7 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Overridden to accept letters, digits, underscores, and hyphens. */ @@ -603,46 +600,43 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { public boolean isIdentifierChar(int languageIndex, char ch) { return Character.isLetterOrDigit(ch) || ch == '-' || ch == '.' || ch == '_'; } - + /** * Toggles whether we're highlighting less instead of just CSS. * - * @param highlightingLess - * Whether we're highlighting less. + * @param highlightingLess Whether we're highlighting less. */ public void setHighlightingLess(boolean highlightingLess) { this.highlightingLess = highlightingLess; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -652,34 +646,31 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public CSSTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public CSSTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -695,7 +686,7 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -705,69 +696,64 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -778,29 +764,27 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -819,8 +803,7 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -860,177 +843,333 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 1: { + case 1: { + addToken(Token.IDENTIFIER); + } + case 48: + break; + case 2: { + /* System.out.println("yyinitial: " + yytext()); */ addToken(Token.IDENTIFIER); + } + case 49: + break; + case 25: { + addEndToken(INTERNAL_CSS_VALUE); + return firstToken; + } + case 50: + break; + case 16: { + addToken(highlightingLess ? Token.RESERVED_WORD : Token.IDENTIFIER); + } + case 51: + break; + case 9: { + addToken(Token.SEPARATOR); + yybegin(CSS_PROPERTY); + } + case 52: + break; + case 29: { + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + yybegin(cssPrevState); + } + case 53: + break; + case 32: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + addEndToken(INTERNAL_CSS_CHAR - cssPrevState); + return firstToken; + } + case 54: + break; + case 37: { + start = zzMarkedPos - 2; + cssPrevState = zzLexicalState; + yybegin(CSS_C_STYLE_COMMENT); + } + case 55: + break; + case 31: { + addToken(start, zzStartRead, Token.LITERAL_CHAR); + yybegin(cssPrevState); + } + case 56: + break; + case 43: { + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + yybegin(cssPrevState); + } + case 57: + break; + case 12: { + addToken(highlightingLess ? Token.SEPARATOR : Token.IDENTIFIER); + } + case 58: + break; + case 10: { + start = zzMarkedPos - 1; + cssPrevState = zzLexicalState; + yybegin(CSS_STRING); + } + case 59: + break; + case 17: { + addToken(Token.OPERATOR); + yybegin(CSS_VALUE); + } + case 60: + break; + case 38: { + if (highlightingLess) { + start = zzMarkedPos - 2; + yybegin(LESS_EOL_COMMENT); + } else { // Highlight the "//" as an identifier and continue + // on + int temp = zzStartRead + 2; + addToken(zzStartRead, zzStartRead + 1, Token.IDENTIFIER); + zzStartRead = temp; + } + } + case 61: + break; + case 5: { + /* Unknown pseudo class */ addToken(Token.DATA_TYPE); + } + case 62: + break; + case 23: { + addToken(Token.OPERATOR); + yybegin(CSS_PROPERTY); + } + case 63: + break; + case 28: { /* Skip escaped chars. */ + } + case 64: + break; + case 46: { + addToken(Token.REGEX); + } + case 65: + break; + case 36: { + addToken(highlightingLess ? Token.ANNOTATION : Token.VARIABLE); + } + case 66: + break; + case 3: { + addToken(highlightingLess ? Token.LITERAL_NUMBER_DECIMAL_INT : Token.IDENTIFIER); + } + case 67: + break; + case 20: { + addEndToken(INTERNAL_CSS_PROPERTY); + return firstToken; + } + case 68: + break; + case 7: { + addToken(Token.WHITESPACE); + } + case 69: + break; + case 19: { + addToken(Token.SEPARATOR); + yybegin(YYINITIAL); + } + case 70: + break; + case 47: { + addToken(Token.PREPROCESSOR); + } + case 71: + break; + case 4: { + addToken(Token.DATA_TYPE); + } + case 72: + break; + case 24: { + int temp = zzMarkedPos - 2; + addToken(zzStartRead, temp, Token.FUNCTION); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); + zzStartRead = zzCurrentPos = zzMarkedPos; + } + case 73: + break; + case 35: { + addToken(highlightingLess ? Token.VARIABLE : Token.REGEX); + } + case 74: + break; + case 18: { + addToken(Token.SEPARATOR); /* + * helps with auto-closing curlies when editing CSS + */ + } + case 75: + break; + case 34: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + switch (cssPrevState) { + case CSS_PROPERTY: + addEndToken(INTERNAL_CSS_PROPERTY); + break; + case CSS_VALUE: + addEndToken(INTERNAL_CSS_VALUE); + break; + default: // Should be YYINITIAL + addNullToken(); + break; + } + return firstToken; + } + case 76: + break; + case 22: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 77: + break; + case 30: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_CSS_STRING - cssPrevState); + return firstToken; + } + case 78: + break; + case 33: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_CSS_MLC - cssPrevState); + return firstToken; + } + case 79: + break; + case 26: { + /* End of a function */ addToken(Token.SEPARATOR); + } + case 80: + break; + case 41: { + if (highlightingLess) { + // Unfortunately, as we're sharing the CSS and Less + // syntax highlighting, we do not color nested selectors + // properly. For uniformity, color this the same as + // CSS_Property + addToken(Token.RESERVED_WORD); + } else { addToken(Token.IDENTIFIER); } - case 48: - break; - case 2: { - /* System.out.println("yyinitial: " + yytext()); */ addToken(Token.IDENTIFIER); - } - case 49: - break; - case 25: { - addEndToken(INTERNAL_CSS_VALUE); - return firstToken; - } - case 50: - break; - case 16: { - addToken(highlightingLess ? Token.RESERVED_WORD : Token.IDENTIFIER); - } - case 51: - break; - case 9: { - addToken(Token.SEPARATOR); - yybegin(CSS_PROPERTY); - } - case 52: - break; - case 29: { - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - yybegin(cssPrevState); - } - case 53: - break; - case 32: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - addEndToken(INTERNAL_CSS_CHAR - cssPrevState); - return firstToken; - } - case 54: - break; - case 37: { + } + case 81: + break; + case 39: { + addToken(highlightingLess ? Token.VARIABLE : Token.IDENTIFIER); + } + case 82: + break; + case 14: { + /* System.out.println("css_property: " + yytext()); */ addToken(Token.IDENTIFIER); + } + case 83: + break; + case 15: { + addToken(Token.RESERVED_WORD); + } + case 84: + break; + case 44: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 85: + break; + case 11: { + start = zzMarkedPos - 1; + cssPrevState = zzLexicalState; + yybegin(CSS_CHAR_LITERAL); + } + case 86: + break; + case 6: { + addToken(Token.SEPARATOR); + } + case 87: + break; + case 13: { + addNullToken(); + return firstToken; + } + case 88: + break; + case 40: { + if (highlightingLess) { + cssPrevState = zzLexicalState; start = zzMarkedPos - 2; + yybegin(LESS_EOL_COMMENT); + } else { // Highlight the "//" as an identifier and continue + // on + int temp = zzStartRead + 2; + addToken(zzStartRead, zzStartRead + 1, Token.IDENTIFIER); + zzStartRead = temp; + } + } + case 89: + break; + case 8: { + addToken(Token.OPERATOR); + } + case 90: + break; + case 21: { + /* System.out.println("css_value: " + yytext()); */ addToken(Token.IDENTIFIER); + } + case 91: + break; + case 45: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 92: + break; + case 42: { // This must be before {CSS_Value} since "//" is a + // valid CSS value + if (highlightingLess) { cssPrevState = zzLexicalState; - yybegin(CSS_C_STYLE_COMMENT); + start = zzMarkedPos - 2; + yybegin(LESS_EOL_COMMENT); + } else { // Highlight the "//" as an identifier and continue + // on + int temp = zzStartRead + 2; + addToken(zzStartRead, zzStartRead + 1, Token.IDENTIFIER); + zzStartRead = temp; } - case 55: - break; - case 31: { - addToken(start, zzStartRead, Token.LITERAL_CHAR); - yybegin(cssPrevState); - } - case 56: - break; - case 43: { - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - yybegin(cssPrevState); - } - case 57: - break; - case 12: { - addToken(highlightingLess ? Token.SEPARATOR : Token.IDENTIFIER); - } - case 58: - break; - case 10: { - start = zzMarkedPos - 1; - cssPrevState = zzLexicalState; - yybegin(CSS_STRING); - } - case 59: - break; - case 17: { - addToken(Token.OPERATOR); - yybegin(CSS_VALUE); - } - case 60: - break; - case 38: { - if (highlightingLess) { - start = zzMarkedPos - 2; - yybegin(LESS_EOL_COMMENT); - } else { // Highlight the "//" as an identifier and continue - // on - int temp = zzStartRead + 2; - addToken(zzStartRead, zzStartRead + 1, Token.IDENTIFIER); - zzStartRead = temp; + } + case 93: + break; + case 27: { + } + case 94: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case CSS_C_STYLE_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_CSS_MLC - cssPrevState); + return firstToken; } - } - case 61: - break; - case 5: { - /* Unknown pseudo class */ addToken(Token.DATA_TYPE); - } - case 62: - break; - case 23: { - addToken(Token.OPERATOR); - yybegin(CSS_PROPERTY); - } - case 63: - break; - case 28: { /* Skip escaped chars. */ - } - case 64: - break; - case 46: { - addToken(Token.REGEX); - } - case 65: - break; - case 36: { - addToken(highlightingLess ? Token.ANNOTATION : Token.VARIABLE); - } - case 66: - break; - case 3: { - addToken(highlightingLess ? Token.LITERAL_NUMBER_DECIMAL_INT : Token.IDENTIFIER); - } - case 67: - break; - case 20: { - addEndToken(INTERNAL_CSS_PROPERTY); - return firstToken; - } - case 68: - break; - case 7: { - addToken(Token.WHITESPACE); - } - case 69: - break; - case 19: { - addToken(Token.SEPARATOR); - yybegin(YYINITIAL); - } - case 70: - break; - case 47: { - addToken(Token.PREPROCESSOR); - } - case 71: - break; - case 4: { - addToken(Token.DATA_TYPE); - } - case 72: - break; - case 24: { - int temp = zzMarkedPos - 2; - addToken(zzStartRead, temp, Token.FUNCTION); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); - zzStartRead = zzCurrentPos = zzMarkedPos; - } - case 73: - break; - case 35: { - addToken(highlightingLess ? Token.VARIABLE : Token.REGEX); - } - case 74: - break; - case 18: { - addToken(Token.SEPARATOR); /* - * helps with auto-closing - * curlies when editing CSS - */ - } - case 75: - break; - case 34: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - switch (cssPrevState) { + case 341: + break; + case LESS_EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + switch (cssPrevState) { case CSS_PROPERTY: addEndToken(INTERNAL_CSS_PROPERTY); break; @@ -1040,205 +1179,49 @@ public class CSSTokenMaker extends AbstractJFlexCTokenMaker { default: // Should be YYINITIAL addNullToken(); break; - } - return firstToken; - } - case 76: - break; - case 22: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 77: - break; - case 30: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_CSS_STRING - cssPrevState); - return firstToken; - } - case 78: - break; - case 33: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_CSS_MLC - cssPrevState); - return firstToken; - } - case 79: - break; - case 26: { - /* End of a function */ addToken(Token.SEPARATOR); - } - case 80: - break; - case 41: { - if (highlightingLess) { - // Unfortunately, as we're sharing the CSS and Less - // syntax highlighting, we do not color nested selectors - // properly. For uniformity, color this the same as - // CSS_Property - addToken(Token.RESERVED_WORD); - } else { - addToken(Token.IDENTIFIER); - } - } - case 81: - break; - case 39: { - addToken(highlightingLess ? Token.VARIABLE : Token.IDENTIFIER); - } - case 82: - break; - case 14: { - /* System.out.println("css_property: " + yytext()); */ addToken(Token.IDENTIFIER); - } - case 83: - break; - case 15: { - addToken(Token.RESERVED_WORD); - } - case 84: - break; - case 44: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 85: - break; - case 11: { - start = zzMarkedPos - 1; - cssPrevState = zzLexicalState; - yybegin(CSS_CHAR_LITERAL); - } - case 86: - break; - case 6: { - addToken(Token.SEPARATOR); - } - case 87: - break; - case 13: { - addNullToken(); - return firstToken; - } - case 88: - break; - case 40: { - if (highlightingLess) { - cssPrevState = zzLexicalState; - start = zzMarkedPos - 2; - yybegin(LESS_EOL_COMMENT); - } else { // Highlight the "//" as an identifier and continue - // on - int temp = zzStartRead + 2; - addToken(zzStartRead, zzStartRead + 1, Token.IDENTIFIER); - zzStartRead = temp; - } - } - case 89: - break; - case 8: { - addToken(Token.OPERATOR); - } - case 90: - break; - case 21: { - /* System.out.println("css_value: " + yytext()); */ addToken(Token.IDENTIFIER); - } - case 91: - break; - case 45: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 92: - break; - case 42: { // This must be before {CSS_Value} since "//" is a - // valid CSS value - if (highlightingLess) { - cssPrevState = zzLexicalState; - start = zzMarkedPos - 2; - yybegin(LESS_EOL_COMMENT); - } else { // Highlight the "//" as an identifier and continue - // on - int temp = zzStartRead + 2; - addToken(zzStartRead, zzStartRead + 1, Token.IDENTIFIER); - zzStartRead = temp; - } - } - case 93: - break; - case 27: {} - case 94: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case CSS_C_STYLE_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_CSS_MLC - cssPrevState); - return firstToken; - } - case 341: - break; - case LESS_EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - switch (cssPrevState) { - case CSS_PROPERTY: - addEndToken(INTERNAL_CSS_PROPERTY); - break; - case CSS_VALUE: - addEndToken(INTERNAL_CSS_VALUE); - break; - default: // Should be YYINITIAL - addNullToken(); - break; - } - return firstToken; - } - case 342: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 343: - break; - case CSS_STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_CSS_STRING - cssPrevState); - return firstToken; - } - case 344: - break; - case CSS_VALUE: { - addEndToken(INTERNAL_CSS_VALUE); - return firstToken; - } - case 345: - break; - case CSS_PROPERTY: { - addEndToken(INTERNAL_CSS_PROPERTY); - return firstToken; - } - case 346: - break; - case CSS_CHAR_LITERAL: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - addEndToken(INTERNAL_CSS_CHAR - cssPrevState); - return firstToken; - } - case 347: - break; - default: - return null; } - } else { - zzScanError(ZZ_NO_MATCH); + return firstToken; } + case 342: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 343: + break; + case CSS_STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_CSS_STRING - cssPrevState); + return firstToken; + } + case 344: + break; + case CSS_VALUE: { + addEndToken(INTERNAL_CSS_VALUE); + return firstToken; + } + case 345: + break; + case CSS_PROPERTY: { + addEndToken(INTERNAL_CSS_PROPERTY); + return firstToken; + } + case 346: + break; + case CSS_CHAR_LITERAL: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + addEndToken(INTERNAL_CSS_CHAR - cssPrevState); + return firstToken; + } + case 347: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/CSharpTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/CSharpTokenMaker.java index 7a414e1..bf13f56 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/CSharpTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/CSharpTokenMaker.java @@ -21,16 +21,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -40,16 +39,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated CSharpTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -57,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -81,20 +80,22 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\2\0\2\1\1\2\1\3\1\4\2\5\2\6\1\7" + "\1\5\3\2\7\6\1\7\1\5\1\2\1\10\1\6" - + "\1\11\1\6\5\5\1\12\11\6\1\1\1\13\5\1" + "\1\14\1\1\1\15\3\1\1\16\1\17\1\0\1\20" + "\1\21\5\6\1\22\1\7\1\22\1\23\1\7\1\0" - + "\1\24\7\2\14\6\1\25\10\6\1\22\1\23\1\26" + "\1\10\1\27\2\6\2\11\1\30\4\6\2\25\21\6" + "\1\31\7\0\1\32\2\0\1\1\7\0\1\20\1\33" - + "\5\6\1\7\1\23\1\0\7\2\1\34\1\2\17\6" + "\1\25\10\6\1\35\1\10\1\36\2\10\1\26\1\10" + "\3\6\1\11\1\37\3\11\7\6\1\40\20\6\20\0" - + "\1\6\1\40\2\6\6\2\1\41\12\6\2\35\2\10" + "\1\26\2\6\2\11\16\6\1\0\1\42\2\0\1\43" + "\7\0\3\2\10\6\1\35\2\10\1\26\1\6\2\11" - + "\10\6\7\0\2\2\3\6\2\10\1\26\1\11\5\6" + "\2\0\1\2\3\6\1\0\1\6"; - + private static final String ZZ_ACTION_PACKED_0 = "\2\0\2\1\1\2\1\3\1\4\2\5\2\6\1\7" + + "\1\5\3\2\7\6\1\7\1\5\1\2\1\10\1\6" + "\1\11\1\6\5\5\1\12\11\6\1\1\1\13\5\1" + + "\1\14\1\1\1\15\3\1\1\16\1\17\1\0\1\20" + "\1\21\5\6\1\22\1\7\1\22\1\23\1\7\1\0" + + "\1\24\7\2\14\6\1\25\10\6\1\22\1\23\1\26" + "\1\10\1\27\2\6\2\11\1\30\4\6\2\25\21\6" + + "\1\31\7\0\1\32\2\0\1\1\7\0\1\20\1\33" + "\5\6\1\7\1\23\1\0\7\2\1\34\1\2\17\6" + + "\1\25\10\6\1\35\1\10\1\36\2\10\1\26\1\10" + "\3\6\1\11\1\37\3\11\7\6\1\40\20\6\20\0" + + "\1\6\1\40\2\6\6\2\1\41\12\6\2\35\2\10" + "\1\26\2\6\2\11\16\6\1\0\1\42\2\0\1\43" + + "\7\0\3\2\10\6\1\35\2\10\1\26\1\6\2\11" + "\10\6\7\0\2\2\3\6\2\10\1\26\1\11\5\6" + "\2\0\1\2\3\6\1\0\1\6"; + private static int[] zzUnpackAction() { int[] result = new int[364]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -108,7 +109,7 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -158,14 +159,14 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { + "\0\u436e\0\u4c89\0\u442b\0\u4cc8\0\u4d07\0\u4d46\0\u4d85\0\u4dc4" + "\0\u4e03\0\u4e42\0\u4e81\0\u4ec0\0\u4eff\0\u4f3e\0\u4f7d\0\u4fbc" + "\0\u4ffb\0\u503a\0\u5079\0\u50b8\0\u50f7\0\u5136\0\u5175\0\u51b4" + "\0\u51f3\0\u5232\0\u5271\0\u52b0"; - + private static int[] zzUnpackRowMap() { int[] result = new int[364]; 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 */ @@ -176,32 +177,37 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\5\1\6\1\7\1\10\1\11\1\5\1\12\2\13" + "\1\14\1\15\1\13\1\16\1\17\1\20\1\21\1\22" - + "\1\23\1\24\1\25\1\26\1\27\2\13\1\30\1\13" + "\1\31\3\13\1\32\1\33\1\34\1\35\1\36\1\13" - + "\1\37\1\11\1\40\1\41\1\11\1\37\1\11\1\42" + "\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52" - + "\1\53\1\44\1\5\1\13\1\54\1\55\5\13\1\56" + "\1\57\2\56\1\60\15\56\1\61\40\56\1\62\3\56" - + "\1\63\7\56\1\64\1\65\20\64\1\66\30\64\1\67" + "\7\64\1\70\3\64\1\71\7\64\1\72\1\73\37\72" - + "\1\74\35\72\1\5\4\0\5\5\1\0\2\5\1\0" + "\14\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + "\6\5\1\0\11\5\101\0\1\7\13\0\1\75\63\0" + private static final String ZZ_TRANS_PACKED_0 = "\1\5\1\6\1\7\1\10\1\11\1\5\1\12\2\13" + + "\1\14\1\15\1\13\1\16\1\17\1\20\1\21\1\22" + "\1\23\1\24\1\25\1\26\1\27\2\13\1\30\1\13" + + "\1\31\3\13\1\32\1\33\1\34\1\35\1\36\1\13" + "\1\37\1\11\1\40\1\41\1\11\1\37\1\11\1\42" + + "\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52" + "\1\53\1\44\1\5\1\13\1\54\1\55\5\13\1\56" + + "\1\57\2\56\1\60\15\56\1\61\40\56\1\62\3\56" + "\1\63\7\56\1\64\1\65\20\64\1\66\30\64\1\67" + + "\7\64\1\70\3\64\1\71\7\64\1\72\1\73\37\72" + "\1\74\35\72\1\5\4\0\5\5\1\0\2\5\1\0" + + "\14\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + "\6\5\1\0\11\5\101\0\1\7\13\0\1\75\63\0" + "\1\76\1\77\45\0\1\37\76\0\1\37\24\0\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\5\13\1\101\1\102\4\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\1\13\1\103\1\104\3\13\1\0" - + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\105" - + "\4\0\1\105\2\106\1\105\1\14\1\0\2\105\1\0" + "\3\105\1\107\1\110\1\105\1\111\1\105\1\111\1\105" - + "\1\14\1\105\1\0\1\107\2\110\1\112\1\0\1\105" + "\1\0\2\105\13\0\1\110\5\105\1\0\5\105\1\110" - + "\3\105\12\0\1\37\37\0\1\37\1\0\1\37\22\0" + "\1\5\4\0\1\5\3\13\1\5\1\0\1\13\1\5" + "\1\0\1\5\11\13\1\5\1\13\1\0\3\13\2\0" - + "\1\13\1\113\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\1\0\1\75\2\0\1\5\1\114\3\5\1\0" + "\2\5\1\0\2\5\1\115\1\116\2\5\1\117\5\5" - + "\1\0\3\5\2\0\1\5\1\0\2\5\13\0\1\120" + "\1\121\2\5\1\122\1\5\1\0\12\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\1\13\1\123" - + "\11\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\1\124\4\13\1\125\2\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" - + "\2\13\1\126\10\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\5\13" + + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\105" + "\4\0\1\105\2\106\1\105\1\14\1\0\2\105\1\0" + + "\3\105\1\107\1\110\1\105\1\111\1\105\1\111\1\105" + "\1\14\1\105\1\0\1\107\2\110\1\112\1\0\1\105" + + "\1\0\2\105\13\0\1\110\5\105\1\0\5\105\1\110" + "\3\105\12\0\1\37\37\0\1\37\1\0\1\37\22\0" + + "\1\5\4\0\1\5\3\13\1\5\1\0\1\13\1\5" + "\1\0\1\5\11\13\1\5\1\13\1\0\3\13\2\0" + + "\1\13\1\113\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\1\0\1\75\2\0\1\5\1\114\3\5\1\0" + + "\2\5\1\0\2\5\1\115\1\116\2\5\1\117\5\5" + "\1\0\3\5\2\0\1\5\1\0\2\5\13\0\1\120" + + "\1\121\2\5\1\122\1\5\1\0\12\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\1\13\1\123" + + "\11\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\1\124\4\13\1\125\2\13\1\5" + + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\2\13\1\126\10\13\1\0\3\13\2\0\1\13\1\0" + + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\5\13" + "\1\127\5\13\1\0\3\13\2\0\1\130\1\0\1\13" + "\1\131\13\0\2\13\1\132\3\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\4\13\1\133\1\134\5\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\1\13\1\135\1\13\1\136" + "\2\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\6\13\1\137\4\13" + "\1\0\3\13\2\0\1\13\1\0\1\140\1\13\13\0" + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\3\13\1\141\2\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + + "\1\100\1\13\1\5\1\0\1\5\6\13\1\137\4\13" + "\1\0\3\13\2\0\1\13\1\0\1\140\1\13\13\0" + + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\3\13\1\141\2\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\1\142\1\13\1\143\10\13" + "\1\0\3\13\2\0\1\13\1\0\1\144\1\13\13\0" + "\1\13\1\145\2\13\1\146\1\13\1\0\1\5\1\147" + "\7\13\1\105\4\0\1\105\2\106\1\105\1\14\1\0" + "\2\105\1\0\3\105\1\107\1\110\1\105\1\111\1\105" + "\1\111\1\105\1\14\1\150\1\0\1\107\2\110\1\112" @@ -211,16 +217,18 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { + "\1\156\2\13\1\0\1\5\10\13\1\35\1\157\3\35" + "\1\160\33\35\1\161\35\35\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\1\13\1\162\2\13" + "\1\127\6\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\3\13\1\163\2\13\1\0\1\5\5\13\1\164" + "\2\13\46\0\1\37\3\0\1\37\73\0\1\37\2\0" - + "\1\37\76\0\1\37\1\11\75\0\1\37\1\0\1\11" + "\22\0\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\2\13\1\165\10\13\1\0\3\13\2\0" - + "\1\13\1\0\2\13\13\0\3\13\1\166\2\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" - + "\1\5\1\0\1\5\3\13\1\137\2\13\1\137\4\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\2\13" - + "\1\167\3\13\1\0\1\5\4\13\1\170\3\13\1\5" + "\4\0\1\5\1\171\3\13\1\100\1\13\1\5\1\0" - + "\1\5\2\13\1\172\1\13\1\173\6\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\10\13\1\5\4\0\1\5\1\174\3\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\175" - + "\1\0\1\176\1\13\13\0\6\13\1\0\1\5\1\13" + "\1\177\6\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" - + "\1\0\2\13\13\0\6\13\1\0\1\5\1\200\7\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" - + "\13\0\3\13\1\201\2\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\1\202\3\13\1\100\1\13\1\5\1\0" - + "\1\5\1\13\1\203\2\13\1\204\6\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\37\76\0\1\37\1\11\75\0\1\37\1\0\1\11" + "\22\0\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\0\1\5\2\13\1\165\10\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\3\13\1\166\2\13\1\0" + + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\3\13\1\137\2\13\1\137\4\13" + + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\2\13" + "\1\167\3\13\1\0\1\5\4\13\1\170\3\13\1\5" + + "\4\0\1\5\1\171\3\13\1\100\1\13\1\5\1\0" + "\1\5\2\13\1\172\1\13\1\173\6\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\1\174\3\13\1\100\1\13" + + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\175" + "\1\0\1\176\1\13\13\0\6\13\1\0\1\5\1\13" + + "\1\177\6\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\1\200\7\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\3\13\1\201\2\13\1\0\1\5\10\13\1\5" + + "\4\0\1\5\1\202\3\13\1\100\1\13\1\5\1\0" + "\1\5\1\13\1\203\2\13\1\204\6\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\4\13\1\205\1\206\5\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\3\13\1\207\2\13" + "\1\0\1\5\1\210\7\13\1\56\1\0\2\56\1\0" + "\15\56\1\0\40\56\1\0\3\56\1\0\7\56\3\0" + "\1\211\112\0\1\212\40\0\1\213\101\0\1\214\32\0" + "\1\215\57\0\1\64\1\0\20\64\1\0\30\64\1\0" @@ -228,259 +236,352 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { + "\1\223\57\0\1\72\1\0\37\72\1\0\35\72\41\0" + "\1\224\37\0\1\75\3\0\1\225\11\0\1\226\1\227" + "\2\0\1\230\32\0\1\231\1\232\2\0\1\233\13\0" + "\3\234\1\235\73\234\6\0\6\100\3\0\13\100\1\0" + "\3\100\2\0\1\100\1\0\2\100\13\0\6\100\2\0" + "\10\100\1\5\4\0\1\5\4\13\1\100\1\13\1\5" - + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\3\13\1\236\2\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" - + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\1\13\1\237\4\13\1\0\1\5\1\147\7\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" - + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\2\13\1\240\3\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" - + "\6\13\1\241\4\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\2\13\1\242\5\13" - + "\1\105\4\0\5\105\1\0\2\105\1\0\14\105\1\0" + "\3\105\2\0\1\105\1\0\2\105\13\0\6\105\1\0" - + "\12\105\4\0\5\105\1\0\2\105\1\0\6\105\1\243" + "\1\105\1\243\3\105\1\0\3\105\2\0\1\105\1\0" - + "\2\105\13\0\6\105\1\0\12\105\4\0\4\105\1\244" + "\1\245\2\105\1\0\12\105\1\244\1\105\1\245\3\105" - + "\2\0\1\105\1\0\2\105\13\0\6\105\1\0\12\105" + "\4\0\1\105\2\243\2\105\1\0\2\105\1\0\14\105" - + "\1\0\3\105\2\0\1\105\1\0\2\105\13\0\6\105" + "\1\0\11\105\1\5\4\0\5\5\1\0\2\5\1\0" + "\14\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" - + "\2\5\1\246\3\5\1\0\12\5\4\0\5\5\1\0" + "\2\5\1\0\3\5\1\247\10\5\1\0\3\5\2\0" + "\1\5\1\0\2\5\13\0\6\5\1\0\12\5\4\0" - + "\5\5\1\0\2\5\1\0\2\5\1\250\3\5\1\251" + "\5\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + "\2\5\1\252\3\5\1\0\12\5\4\0\5\5\1\0" - + "\2\5\1\0\14\5\1\0\3\5\2\0\1\5\1\0" + "\2\5\13\0\1\5\1\253\4\5\1\0\12\5\4\0" + "\5\5\1\0\2\5\1\0\3\5\1\254\10\5\1\0" - + "\3\5\2\0\1\5\1\0\2\5\13\0\6\5\1\0" + "\12\5\4\0\5\5\1\0\2\5\1\0\4\5\1\255" + "\7\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" - + "\6\5\1\0\12\5\4\0\5\5\1\0\2\5\1\0" + "\5\5\1\256\6\5\1\0\3\5\2\0\1\5\1\0" + "\2\5\13\0\6\5\1\0\12\5\4\0\1\5\1\257" - + "\3\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\5\13\1\137\2\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\1\13\1\260\11\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\1\13" + "\1\261\4\13\1\0\1\5\10\13\1\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\1\13\1\262\6\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\1\263\2\13\1\137" + "\1\264\6\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\6\13\1\265" + "\4\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\2\13\1\266\10\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" - + "\1\13\1\5\1\0\1\5\1\267\12\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\1\13\1\270\6\13\1\5\4\0\1\5\1\271\3\13" - + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" - + "\1\0\1\5\5\13\1\272\5\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" - + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\3\13\1\273\2\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" - + "\13\13\1\0\3\13\2\0\1\13\1\0\1\13\1\274" + "\13\0\2\13\1\275\3\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" - + "\1\13\1\276\11\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\6\13" - + "\1\277\4\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" - + "\3\13\2\0\1\13\1\0\2\13\13\0\2\13\1\300" + "\3\13\1\0\1\5\2\13\1\301\5\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\1\13" - + "\1\302\2\13\1\303\6\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" - + "\4\13\1\304\6\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\13\13" - + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\5\13\1\164\2\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" - + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\7\13\1\262\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" - + "\1\13\1\0\2\13\13\0\1\13\1\305\4\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\3\13\1\236\2\13\1\0\1\5\10\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\1\13\1\237\4\13\1\0\1\5\1\147\7\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\2\13\1\240\3\13\1\0\1\5\10\13\1\5" + + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\6\13\1\241\4\13\1\0\3\13\2\0\1\13\1\0" + + "\2\13\13\0\6\13\1\0\1\5\2\13\1\242\5\13" + "\1\105\4\0\5\105\1\0\2\105\1\0\14\105\1\0" + + "\3\105\2\0\1\105\1\0\2\105\13\0\6\105\1\0" + "\12\105\4\0\5\105\1\0\2\105\1\0\6\105\1\243" + + "\1\105\1\243\3\105\1\0\3\105\2\0\1\105\1\0" + "\2\105\13\0\6\105\1\0\12\105\4\0\4\105\1\244" + + "\1\245\2\105\1\0\12\105\1\244\1\105\1\245\3\105" + "\2\0\1\105\1\0\2\105\13\0\6\105\1\0\12\105" + + "\4\0\1\105\2\243\2\105\1\0\2\105\1\0\14\105" + "\1\0\3\105\2\0\1\105\1\0\2\105\13\0\6\105" + + "\1\0\11\105\1\5\4\0\5\5\1\0\2\5\1\0" + "\14\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + + "\2\5\1\246\3\5\1\0\12\5\4\0\5\5\1\0" + "\2\5\1\0\3\5\1\247\10\5\1\0\3\5\2\0" + + "\1\5\1\0\2\5\13\0\6\5\1\0\12\5\4\0" + "\5\5\1\0\2\5\1\0\2\5\1\250\3\5\1\251" + + "\5\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + "\2\5\1\252\3\5\1\0\12\5\4\0\5\5\1\0" + + "\2\5\1\0\14\5\1\0\3\5\2\0\1\5\1\0" + "\2\5\13\0\1\5\1\253\4\5\1\0\12\5\4\0" + + "\5\5\1\0\2\5\1\0\3\5\1\254\10\5\1\0" + "\3\5\2\0\1\5\1\0\2\5\13\0\6\5\1\0" + + "\12\5\4\0\5\5\1\0\2\5\1\0\4\5\1\255" + "\7\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + + "\6\5\1\0\12\5\4\0\5\5\1\0\2\5\1\0" + "\5\5\1\256\6\5\1\0\3\5\2\0\1\5\1\0" + + "\2\5\13\0\6\5\1\0\12\5\4\0\1\5\1\257" + "\3\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\5\13\1\137\2\13\1\5\4\0\1\5\4\13" + + "\1\100\1\13\1\5\1\0\1\5\1\13\1\260\11\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\1\13" + + "\1\261\4\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\1\13\1\262\6\13\1\5\4\0\1\5\4\13" + + "\1\100\1\13\1\5\1\0\1\5\1\263\2\13\1\137" + "\1\264\6\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\6\13\1\265" + + "\4\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + + "\1\100\1\13\1\5\1\0\1\5\2\13\1\266\10\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\1\267\12\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\1\13\1\270\6\13\1\5\4\0\1\5\1\271\3\13" + + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\5\13\1\272\5\13\1\0\3\13\2\0" + + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\3\13\1\273\2\13\1\0\1\5\10\13\1\5" + + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\13\13\1\0\3\13\2\0\1\13\1\0\1\13\1\274" + + "\13\0\2\13\1\275\3\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\1\13\1\276\11\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\6\13" + "\1\277\4\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\2\13\1\300" + "\3\13\1\0\1\5\2\13\1\301\5\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\1\13" + "\1\302\2\13\1\303\6\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\4\13\1\304\6\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\13\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + + "\1\0\1\5\5\13\1\164\2\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\7\13\1\262\1\5\4\0\1\5\4\13\1\100" + + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\1\13\1\305\4\13\1\0" + + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\3\13\1\306\2\13\1\0\1\5" + "\10\13\1\105\4\0\4\105\1\307\1\0\2\105\1\0" + "\3\105\3\307\3\105\2\307\1\105\1\0\1\307\1\105" + "\1\307\2\0\1\105\1\0\1\307\1\105\13\0\1\307" + "\5\105\1\0\3\105\1\307\6\105\4\0\4\105\1\151" + "\1\0\2\105\1\0\3\105\1\107\1\110\5\105\1\151" + "\1\105\1\0\1\107\2\110\2\0\1\105\1\0\2\105" + "\13\0\1\110\5\105\1\0\5\105\1\110\3\105\1\310" + "\1\0\35\310\1\311\40\310\1\0\3\310\1\152\1\312" + "\1\313\7\310\2\152\1\310\2\152\4\310\1\152\6\310" + "\1\314\3\152\1\315\15\310\1\152\15\310\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\1\13" - + "\1\316\11\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\5\13\1\317" - + "\5\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\1\13\1\320\4\13\1\0\1\5\10\13\5\157\1\321" - + "\33\157\1\322\36\157\1\0\3\157\1\35\1\323\1\324" + "\7\157\2\35\1\157\2\35\4\157\1\35\6\157\4\35" - + "\1\325\15\157\1\35\15\157\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\2\13\1\326\10\13" - + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" - + "\1\13\1\0\2\13\13\0\3\13\1\327\2\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\1\330\12\13\1\0\3\13\2\0" - + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\3\13\1\331\1\13\1\332\5\13\1\0\3\13" - + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\2\13\1\333\5\13\1\5\4\0\1\5\1\334\3\13" + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" - + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\1\335\12\13\1\0\3\13\2\0\1\13" - + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\13\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" - + "\6\13\1\0\1\5\1\13\1\270\6\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\5\13" + "\1\336\5\13\1\0\3\13\2\0\1\13\1\0\2\13" - + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\4\13\1\137" - + "\1\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\4\13\1\337\3\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\1\137\12\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\2\13\1\340\10\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" - + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\6\13\1\341\1\13\1\5" - + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\2\13\1\342\10\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" - + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\13\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\1\13" + "\1\343\4\13\1\0\1\5\10\13\1\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\1\344\12\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" - + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\1\345\1\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" - + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\1\13\1\346\1\13\1\347\2\13\1\0" - + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\1\13\1\350\11\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\1\351\5\13\1\265\4\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\4\13\1\352\6\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" - + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\2\13\1\353\3\13\1\0\1\5\10\13\1\5" - + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\2\13\1\354\1\13\1\355\6\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + + "\1\316\11\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + + "\4\13\1\100\1\13\1\5\1\0\1\5\5\13\1\317" + "\5\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + + "\1\13\1\320\4\13\1\0\1\5\10\13\5\157\1\321" + "\33\157\1\322\36\157\1\0\3\157\1\35\1\323\1\324" + + "\7\157\2\35\1\157\2\35\4\157\1\35\6\157\4\35" + "\1\325\15\157\1\35\15\157\1\5\4\0\1\5\4\13" + + "\1\100\1\13\1\5\1\0\1\5\2\13\1\326\10\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + + "\1\13\1\0\2\13\13\0\3\13\1\327\2\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + + "\1\5\1\0\1\5\1\330\12\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\3\13\1\331\1\13\1\332\5\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\2\13\1\333\5\13\1\5\4\0\1\5\1\334\3\13" + + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\1\335\12\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\13\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\1\13\1\270\6\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\5\13" + "\1\336\5\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\4\13\1\137" + "\1\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\4\13\1\337\3\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\1\137\12\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\0\1\5\2\13\1\340\10\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\6\13\1\0\1\5\6\13\1\341\1\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\2\13\1\342\10\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\13\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\1\13" + + "\1\343\4\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\1\344\12\13" + + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\1\345\1\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + + "\2\13\13\0\1\13\1\346\1\13\1\347\2\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + + "\1\5\1\0\1\5\1\13\1\350\11\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\1\351\5\13\1\265\4\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\0\1\5\4\13\1\352\6\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\2\13\1\353\3\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\2\13\1\354\1\13\1\355\6\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + "\70\0\1\356\32\0\1\357\135\0\1\360\32\0\1\361" + "\147\0\1\362\32\0\1\363\135\0\1\364\32\0\1\365" + "\140\0\1\366\36\0\1\367\75\0\1\370\3\0\1\371" + "\34\0\1\372\75\0\1\373\37\0\1\374\77\0\1\255" + "\77\0\1\375\53\0\1\234\1\0\75\234\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\13\13" - + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\2\13" + "\1\300\3\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" - + "\3\13\2\0\1\13\1\0\2\13\13\0\2\13\1\376" + "\3\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\1\377\12\13\1\0" - + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\4\13\1\u0100\6\13\1\0\3\13" - + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\2\13" + "\1\300\3\13\1\0\1\5\10\13\1\5\4\0\1\5" + + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\2\13\1\376" + + "\3\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\1\377\12\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + + "\1\5\1\0\1\5\4\13\1\u0100\6\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\1\u0101\7\13\1\105" + "\4\0\4\105\1\244\1\0\2\105\1\0\4\105\1\110" + "\5\105\1\244\1\105\1\0\1\105\2\110\2\0\1\105" + "\1\0\2\105\13\0\1\110\5\105\1\0\5\105\1\110" - + "\3\105\11\0\1\244\16\0\1\244\46\0\1\5\4\0" + "\5\5\1\0\2\5\1\0\14\5\1\0\3\5\2\0" + "\1\5\1\0\2\5\13\0\1\u0102\5\5\1\0\12\5" - + "\4\0\5\5\1\0\2\5\1\0\14\5\1\0\3\5" + "\2\0\1\5\1\0\2\5\13\0\5\5\1\u0103\1\0" + "\12\5\4\0\5\5\1\0\2\5\1\0\2\5\1\u0104" - + "\11\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + "\6\5\1\0\12\5\4\0\5\5\1\0\2\5\1\0" + "\7\5\1\u0105\4\5\1\0\3\5\2\0\1\5\1\0" - + "\2\5\13\0\1\5\1\121\4\5\1\0\12\5\4\0" + "\5\5\1\0\2\5\1\0\14\5\1\0\3\5\2\0" + "\1\5\1\0\2\5\13\0\1\u0106\5\5\1\0\12\5" - + "\4\0\5\5\1\0\2\5\1\0\14\5\1\0\3\5" + "\2\0\1\5\1\0\2\5\13\0\2\5\1\u0105\3\5" + "\1\0\12\5\4\0\5\5\1\0\2\5\1\0\4\5" - + "\1\117\7\5\1\0\3\5\2\0\1\5\1\0\2\5" + "\13\0\6\5\1\0\11\5\1\255\1\0\75\255\1\5" + "\4\0\5\5\1\0\2\5\1\0\2\5\1\u0107\11\5" - + "\1\0\3\5\2\0\1\5\1\0\2\5\13\0\6\5" + "\1\0\12\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\2\13\1\u0108\10\13\1\0\3\13\2\0" - + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" - + "\13\0\3\13\1\172\2\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\6\13\1\137\4\13\1\0\3\13\2\0\1\13\1\0" - + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\2\13" - + "\1\u0109\10\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" - + "\1\u010a\3\13\1\100\1\13\1\5\1\0\1\5\13\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" - + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\1\u010b\5\13\1\0\1\5" - + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\2\13\1\137\10\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" - + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\2\13\1\174\3\13\1\0\1\5\10\13\1\5" - + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\2\13\1\u010a\10\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" - + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\5\13" + "\1\u010c\5\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\4\13\1\137\3\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\6\13\1\257\4\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" - + "\1\13\1\5\1\0\1\5\4\13\1\240\6\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" - + "\1\5\1\0\1\5\2\13\1\320\10\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" - + "\1\0\1\5\4\13\1\u010d\6\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" - + "\1\5\2\13\1\u010e\10\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\3\105\11\0\1\244\16\0\1\244\46\0\1\5\4\0" + "\5\5\1\0\2\5\1\0\14\5\1\0\3\5\2\0" + + "\1\5\1\0\2\5\13\0\1\u0102\5\5\1\0\12\5" + "\4\0\5\5\1\0\2\5\1\0\14\5\1\0\3\5" + + "\2\0\1\5\1\0\2\5\13\0\5\5\1\u0103\1\0" + "\12\5\4\0\5\5\1\0\2\5\1\0\2\5\1\u0104" + + "\11\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + "\6\5\1\0\12\5\4\0\5\5\1\0\2\5\1\0" + + "\7\5\1\u0105\4\5\1\0\3\5\2\0\1\5\1\0" + "\2\5\13\0\1\5\1\121\4\5\1\0\12\5\4\0" + + "\5\5\1\0\2\5\1\0\14\5\1\0\3\5\2\0" + "\1\5\1\0\2\5\13\0\1\u0106\5\5\1\0\12\5" + + "\4\0\5\5\1\0\2\5\1\0\14\5\1\0\3\5" + "\2\0\1\5\1\0\2\5\13\0\2\5\1\u0105\3\5" + + "\1\0\12\5\4\0\5\5\1\0\2\5\1\0\4\5" + "\1\117\7\5\1\0\3\5\2\0\1\5\1\0\2\5" + + "\13\0\6\5\1\0\11\5\1\255\1\0\75\255\1\5" + "\4\0\5\5\1\0\2\5\1\0\2\5\1\u0107\11\5" + + "\1\0\3\5\2\0\1\5\1\0\2\5\13\0\6\5" + "\1\0\12\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\0\1\5\2\13\1\u0108\10\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\3\13\1\172\2\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\6\13\1\137\4\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\2\13" + "\1\u0109\10\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\1\u010a\3\13\1\100\1\13\1\5\1\0\1\5\13\13" + + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\1\u010b\5\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\2\13\1\137\10\13\1\0\3\13\2\0" + + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\2\13\1\174\3\13\1\0\1\5\10\13\1\5" + + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\2\13\1\u010a\10\13\1\0\3\13\2\0\1\13\1\0" + + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\5\13" + + "\1\u010c\5\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + + "\1\5\4\13\1\137\3\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\6\13\1\257\4\13" + + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + + "\1\13\1\5\1\0\1\5\4\13\1\240\6\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\2\13\1\320\10\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\0\1\5\4\13\1\u010d\6\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\2\13\1\u010e\10\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\1\u010f\12\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\5\13\1\377" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" - + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\3\13" - + "\1\137\4\13\1\5\4\0\1\5\1\u0110\3\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" - + "\1\13\1\0\2\13\13\0\1\13\1\237\4\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" - + "\1\5\1\0\1\5\1\u0111\12\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\2\13" - + "\1\u0112\5\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\5\13\1\274\5\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\1\351\12\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" - + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\1\13\1\240\11\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\105\4\0" + + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\5\13\1\377" + + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\3\13" + "\1\137\4\13\1\5\4\0\1\5\1\u0110\3\13\1\100" + + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\1\13\1\237\4\13\1\0" + + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\1\u0111\12\13\1\0\3\13\2\0" + + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\2\13" + "\1\u0112\5\13\1\5\4\0\1\5\4\13\1\100\1\13" + + "\1\5\1\0\1\5\5\13\1\274\5\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\1\351\12\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\1\13\1\240\11\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\105\4\0" + "\1\105\2\u0113\1\105\1\307\1\0\2\105\1\0\3\105" + "\3\307\1\u0114\1\105\1\u0114\2\307\1\105\1\0\1\307" + "\1\105\1\307\2\0\1\105\1\0\1\307\1\105\13\0" + "\1\307\5\105\1\0\3\105\1\307\5\105\1\310\1\0" - + "\35\310\1\154\40\310\1\0\7\310\1\u0115\7\310\3\u0115" + "\3\310\2\u0115\2\310\1\u0115\1\310\1\u0115\1\310\1\154" - + "\2\310\1\u0115\14\310\1\u0115\11\310\1\u0115\6\310\1\0" + "\7\310\1\u0116\7\310\3\u0116\3\310\2\u0116\2\310\1\u0116" - + "\1\310\1\u0116\1\310\1\154\2\310\1\u0116\14\310\1\u0116" + "\11\310\1\u0116\5\310\37\0\1\311\37\0\1\310\1\0" - + "\7\310\1\u0117\7\310\3\u0117\3\310\2\u0117\2\310\1\u0117" + "\1\310\1\u0117\1\310\1\154\2\310\1\u0117\14\310\1\u0117" - + "\11\310\1\u0117\5\310\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\1\u0118\12\13\1\0\3\13" - + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\4\13\1\u0119\6\13\1\0\3\13\2\0" - + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" - + "\13\0\1\137\5\13\1\0\1\5\10\13\1\157\1\0" + "\102\157\1\321\3\157\1\u011a\7\157\3\u011a\3\157\2\u011a" - + "\2\157\1\u011a\1\157\1\u011a\3\157\1\322\1\u011a\14\157" + "\1\u011a\11\157\1\u011a\12\157\1\321\3\157\1\u011b\7\157" - + "\3\u011b\3\157\2\u011b\2\157\1\u011b\1\157\1\u011b\3\157" + "\1\322\1\u011b\14\157\1\u011b\11\157\1\u011b\12\157\1\321" + + "\35\310\1\154\40\310\1\0\7\310\1\u0115\7\310\3\u0115" + + "\3\310\2\u0115\2\310\1\u0115\1\310\1\u0115\1\310\1\154" + + "\2\310\1\u0115\14\310\1\u0115\11\310\1\u0115\6\310\1\0" + + "\7\310\1\u0116\7\310\3\u0116\3\310\2\u0116\2\310\1\u0116" + + "\1\310\1\u0116\1\310\1\154\2\310\1\u0116\14\310\1\u0116" + + "\11\310\1\u0116\5\310\37\0\1\311\37\0\1\310\1\0" + + "\7\310\1\u0117\7\310\3\u0117\3\310\2\u0117\2\310\1\u0117" + + "\1\310\1\u0117\1\310\1\154\2\310\1\u0117\14\310\1\u0117" + "\11\310\1\u0117\5\310\1\5\4\0\1\5\4\13\1\100" + + "\1\13\1\5\1\0\1\5\1\u0118\12\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\4\13\1\u0119\6\13\1\0\3\13\2\0" + + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\1\137\5\13\1\0\1\5\10\13\1\157\1\0" + + "\102\157\1\321\3\157\1\u011a\7\157\3\u011a\3\157\2\u011a" + + "\2\157\1\u011a\1\157\1\u011a\3\157\1\322\1\u011a\14\157" + + "\1\u011a\11\157\1\u011a\12\157\1\321\3\157\1\u011b\7\157" + + "\3\u011b\3\157\2\u011b\2\157\1\u011b\1\157\1\u011b\3\157" + + "\1\322\1\u011b\14\157\1\u011b\11\157\1\u011b\12\157\1\321" + "\3\157\1\35\7\157\3\35\3\157\2\35\2\157\1\35" + "\1\157\1\35\3\157\1\322\1\35\14\157\1\35\11\157" - + "\1\35\5\157\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\4\13\1\301\6\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\5\13\1\377\5\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" - + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\2\13\1\377\10\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" - + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\4\13\1\u011c\6\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" - + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\2\13" + "\1\u011d\10\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\1\13\1\u011e" - + "\4\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\1\u011f\1\13\13\0\6\13\1\0" - + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\2\13\1\u0120\10\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\5\13\1\137\5\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" - + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\2\13\1\u0121\10\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" - + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\1\13\1\u0122\11\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" - + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\2\13" + "\1\u0110\10\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\1\13\1\u0123" + "\11\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" - + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\5\13\1\265\5\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" - + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\3\13\1\137\2\13\1\0" - + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\5\13\1\u0111\5\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\u0124\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" - + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\1\u0125" + "\12\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + + "\1\35\5\157\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\4\13\1\301\6\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\0\1\5\5\13\1\377\5\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\2\13\1\377\10\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\4\13\1\u011c\6\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\2\13" + "\1\u011d\10\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\1\13\1\u011e" + "\4\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\1\u011f\1\13\13\0\6\13\1\0" + + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\2\13\1\u0120\10\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\0\1\5\5\13\1\137\5\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\2\13\1\u0121\10\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\1\13\1\u0122\11\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\2\13" + "\1\u0110\10\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\1\13\1\u0123" + + "\11\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + + "\1\100\1\13\1\5\1\0\1\5\5\13\1\265\5\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + + "\1\13\1\0\2\13\13\0\3\13\1\137\2\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + + "\1\5\1\0\1\5\5\13\1\u0111\5\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\u0124\1\0" + + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\1\u0125" + + "\12\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\4\13\1\u0126\6\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" - + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\2\13" - + "\1\u0127\5\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\6\13\1\261\4\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\2\13" + "\1\u0127\5\13\1\5\4\0\1\5\4\13\1\100\1\13" + + "\1\5\1\0\1\5\6\13\1\261\4\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\1\u0128\5\13\1\174\4\13\1\0\3\13" - + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" - + "\2\13\13\0\6\13\1\0\1\5\2\13\1\u0129\5\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" - + "\1\5\1\13\1\377\11\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\44\0" - + "\1\u012a\53\0\1\356\113\0\1\u012b\130\0\1\u012c\52\0" + "\1\u012d\53\0\1\362\113\0\1\u012e\130\0\1\u012f\65\0" - + "\1\u0130\103\0\1\u0131\32\0\1\u0132\103\0\1\u0133\32\0" + "\1\232\75\0\1\u0134\100\0\1\u0133\37\0\1\230\74\0" - + "\1\u0135\56\0\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" - + "\1\0\2\13\13\0\5\13\1\137\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\3\13\1\265\7\13\1\0\3\13\2\0\1\13" - + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\2\13\1\354\10\13\1\0\3\13\2\0\1\13\1\0" - + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\5\5\1\0\2\5\1\0\3\5\1\121\10\5\1\0" + "\3\5\2\0\1\5\1\0\2\5\13\0\6\5\1\0" - + "\12\5\4\0\5\5\1\0\2\5\1\0\14\5\1\0" + "\3\5\2\0\1\5\1\0\2\5\13\0\1\5\1\u0136" + "\4\5\1\0\12\5\4\0\5\5\1\0\2\5\1\0" - + "\14\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + "\3\5\1\u0137\2\5\1\0\12\5\4\0\5\5\1\0" + "\2\5\1\0\3\5\1\255\10\5\1\0\3\5\2\0" - + "\1\5\1\0\2\5\13\0\6\5\1\0\12\5\4\0" + "\5\5\1\0\2\5\1\0\2\5\1\115\11\5\1\0" + "\3\5\2\0\1\5\1\0\2\5\13\0\1\5\1\121" - + "\4\5\1\0\12\5\4\0\5\5\1\0\2\5\1\0" + "\14\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + "\2\5\1\u0138\3\5\1\0\12\5\4\0\1\5\4\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\2\13\1\u0129\5\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\1\13\1\377\11\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\44\0" + "\1\u012a\53\0\1\356\113\0\1\u012b\130\0\1\u012c\52\0" + + "\1\u012d\53\0\1\362\113\0\1\u012e\130\0\1\u012f\65\0" + + "\1\u0130\103\0\1\u0131\32\0\1\u0132\103\0\1\u0133\32\0" + + "\1\232\75\0\1\u0134\100\0\1\u0133\37\0\1\230\74\0" + "\1\u0135\56\0\1\5\4\0\1\5\4\13\1\100\1\13" + + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\5\13\1\137\1\0\1\5\10\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\3\13\1\265\7\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\2\13\1\354\10\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + + "\5\5\1\0\2\5\1\0\3\5\1\121\10\5\1\0" + "\3\5\2\0\1\5\1\0\2\5\13\0\6\5\1\0" + + "\12\5\4\0\5\5\1\0\2\5\1\0\14\5\1\0" + "\3\5\2\0\1\5\1\0\2\5\13\0\1\5\1\u0136" + + "\4\5\1\0\12\5\4\0\5\5\1\0\2\5\1\0" + "\14\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + + "\3\5\1\u0137\2\5\1\0\12\5\4\0\5\5\1\0" + "\2\5\1\0\3\5\1\255\10\5\1\0\3\5\2\0" + + "\1\5\1\0\2\5\13\0\6\5\1\0\12\5\4\0" + "\5\5\1\0\2\5\1\0\2\5\1\115\11\5\1\0" + + "\3\5\2\0\1\5\1\0\2\5\13\0\1\5\1\121" + "\4\5\1\0\12\5\4\0\5\5\1\0\2\5\1\0" + + "\14\5\1\0\3\5\2\0\1\5\1\0\2\5\13\0" + "\2\5\1\u0138\3\5\1\0\12\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\3\13\1\u0139\2\13" - + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\1\13\1\u013a\11\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" - + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\3\13\1\u013b\2\13\1\0\1\5" + + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\1\13\1\u013a\11\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\3\13\1\u013b\2\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\1\13\1\u013c\4\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" - + "\1\5\5\13\1\u013d\5\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" - + "\4\13\1\351\6\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\1\13" + + "\1\5\5\13\1\u013d\5\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\4\13\1\351\6\13\1\0\3\13\2\0\1\13\1\0" + + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\1\13" + "\1\u013e\11\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\2\13\1\174\5\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\1\13\1\u013f\4\13" - + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\3\13" + + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + + "\1\5\2\13\1\174\5\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\1\13\1\u013f\4\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\3\13" + "\1\u0140\4\13\1\105\4\0\5\105\1\0\2\105\1\0" + "\6\105\1\u0141\1\105\1\u0141\3\105\1\0\3\105\2\0" + "\1\105\1\0\2\105\13\0\6\105\1\0\12\105\4\0" + "\1\105\2\u0141\2\105\1\0\2\105\1\0\14\105\1\0" + "\3\105\2\0\1\105\1\0\2\105\13\0\6\105\1\0" + "\11\105\1\310\1\0\7\310\1\u0142\7\310\3\u0142\3\310" - + "\2\u0142\2\310\1\u0142\1\310\1\u0142\1\310\1\154\2\310" + "\1\u0142\14\310\1\u0142\11\310\1\u0142\6\310\1\0\7\310" - + "\1\u0143\7\310\3\u0143\3\310\2\u0143\2\310\1\u0143\1\310" + "\1\u0143\1\310\1\154\2\310\1\u0143\14\310\1\u0143\11\310" - + "\1\u0143\6\310\1\0\7\310\1\u0144\7\310\3\u0144\3\310" + "\2\u0144\2\310\1\u0144\1\310\1\u0144\1\310\1\311\2\310" + + "\2\u0142\2\310\1\u0142\1\310\1\u0142\1\310\1\154\2\310" + + "\1\u0142\14\310\1\u0142\11\310\1\u0142\6\310\1\0\7\310" + + "\1\u0143\7\310\3\u0143\3\310\2\u0143\2\310\1\u0143\1\310" + + "\1\u0143\1\310\1\154\2\310\1\u0143\14\310\1\u0143\11\310" + + "\1\u0143\6\310\1\0\7\310\1\u0144\7\310\3\u0144\3\310" + + "\2\u0144\2\310\1\u0144\1\310\1\u0144\1\310\1\311\2\310" + "\1\u0144\14\310\1\u0144\11\310\1\u0144\5\310\1\5\4\0" + "\1\5\1\u0145\3\13\1\100\1\13\1\5\1\0\1\5" - + "\13\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\1\200\12\13\1\0" - + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\10\13\5\157\1\321\3\157\1\u0146\7\157\3\u0146" - + "\3\157\2\u0146\2\157\1\u0146\1\157\1\u0146\3\157\1\322" + "\1\u0146\14\157\1\u0146\11\157\1\u0146\12\157\1\321\3\157" - + "\1\u0147\7\157\3\u0147\3\157\2\u0147\2\157\1\u0147\1\157" + "\1\u0147\3\157\1\322\1\u0147\14\157\1\u0147\11\157\1\u0147" + + "\13\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + + "\1\100\1\13\1\5\1\0\1\5\1\200\12\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + + "\1\5\10\13\5\157\1\321\3\157\1\u0146\7\157\3\u0146" + + "\3\157\2\u0146\2\157\1\u0146\1\157\1\u0146\3\157\1\322" + + "\1\u0146\14\157\1\u0146\11\157\1\u0146\12\157\1\321\3\157" + + "\1\u0147\7\157\3\u0147\3\157\2\u0147\2\157\1\u0147\1\157" + + "\1\u0147\3\157\1\322\1\u0147\14\157\1\u0147\11\157\1\u0147" + "\5\157\1\5\4\0\1\5\1\u0148\3\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" - + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\13\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" - + "\5\13\1\u0124\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\13\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\5\13\1\u0124\1\0\1\5\10\13\1\5\4\0\1\5" + + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\4\13\1\u0145\3\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\5\13\1\330\5\13" - + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\1\13\1\u0149\11\13\1\0" - + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\6\13\1\u014a\4\13\1\0\3\13" - + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\1\13\1\u014b\11\13\1\0\3\13\2\0" - + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\4\13\1\u014c\6\13\1\0\3\13\2\0\1\13" - + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\4\13\1\u014d\6\13\1\0\3\13\2\0\1\13\1\0" - + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\2\13" - + "\1\u014e\10\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\4\13\1\261\3\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\1\137\7\13\1\5\4\0\1\5\4\13\1\100\1\13" - + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\1\13\1\u014f\4\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + + "\1\13\1\5\1\0\1\5\1\13\1\u0149\11\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\6\13\1\u014a\4\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + + "\1\0\1\5\1\13\1\u014b\11\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\6\13\1\0\1\5\10\13" + + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\4\13\1\u014c\6\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\4\13\1\u014d\6\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\2\13" + "\1\u014e\10\13\1\0\3\13\2\0\1\13\1\0\2\13" + + "\13\0\6\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\4\13\1\261\3\13\1\5\4\0\1\5\4\13" + + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\1\137\7\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\1\13\1\u014f\4\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\3\13\1\274\4\13" - + "\3\0\1\u0150\76\0\1\u012b\1\u0151\1\0\4\u012b\3\u0151" + "\1\0\1\u0151\13\u012b\1\u0151\3\u012b\2\u0151\1\u012b\1\0" - + "\2\u012b\3\u0151\2\0\2\u0151\3\0\1\u0151\6\u012b\1\u0151" + "\11\u012b\25\0\1\356\16\0\1\u012a\35\0\1\u0152\76\0" - + "\1\u012e\1\u0153\1\0\4\u012e\3\u0153\1\0\1\u0153\13\u012e" + "\1\u0153\3\u012e\2\u0153\1\u012e\1\0\2\u012e\3\u0153\2\0" - + "\2\u0153\3\0\1\u0153\6\u012e\1\u0153\11\u012e\25\0\1\362" + "\16\0\1\u012d\53\0\1\232\135\0\1\u0154\100\0\1\u0155" - + "\35\0\1\255\75\0\1\226\37\0\1\232\77\0\1\u0156" + "\15\0\1\5\4\0\5\5\1\0\2\5\1\0\14\5" + "\1\0\3\5\2\0\1\5\1\0\2\5\13\0\3\5" - + "\1\u0157\2\5\1\0\12\5\4\0\5\5\1\0\2\5" + "\1\0\2\5\1\255\11\5\1\0\3\5\2\0\1\5" + "\1\0\2\5\13\0\6\5\1\0\12\5\4\0\5\5" - + "\1\0\2\5\1\0\14\5\1\0\3\5\2\0\1\5" + "\1\0\2\5\13\0\1\5\1\u0158\4\5\1\0\12\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" - + "\3\13\1\137\7\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\13\13" - + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\2\13" + "\1\137\3\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + + "\3\0\1\u0150\76\0\1\u012b\1\u0151\1\0\4\u012b\3\u0151" + + "\1\0\1\u0151\13\u012b\1\u0151\3\u012b\2\u0151\1\u012b\1\0" + + "\2\u012b\3\u0151\2\0\2\u0151\3\0\1\u0151\6\u012b\1\u0151" + + "\11\u012b\25\0\1\356\16\0\1\u012a\35\0\1\u0152\76\0" + + "\1\u012e\1\u0153\1\0\4\u012e\3\u0153\1\0\1\u0153\13\u012e" + + "\1\u0153\3\u012e\2\u0153\1\u012e\1\0\2\u012e\3\u0153\2\0" + + "\2\u0153\3\0\1\u0153\6\u012e\1\u0153\11\u012e\25\0\1\362" + + "\16\0\1\u012d\53\0\1\232\135\0\1\u0154\100\0\1\u0155" + "\35\0\1\255\75\0\1\226\37\0\1\232\77\0\1\u0156" + + "\15\0\1\5\4\0\5\5\1\0\2\5\1\0\14\5" + "\1\0\3\5\2\0\1\5\1\0\2\5\13\0\3\5" + + "\1\u0157\2\5\1\0\12\5\4\0\5\5\1\0\2\5" + "\1\0\2\5\1\255\11\5\1\0\3\5\2\0\1\5" + + "\1\0\2\5\13\0\6\5\1\0\12\5\4\0\5\5" + "\1\0\2\5\1\0\14\5\1\0\3\5\2\0\1\5" + + "\1\0\2\5\13\0\1\5\1\u0158\4\5\1\0\12\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\3\13\1\137\7\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\13\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\2\13" + + "\1\137\3\13\1\0\1\5\10\13\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\2\13\1\u013d" + "\3\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\2\13\1\u0159\5\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\5\13\1\u015a\5\13\1\0" - + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\4\13\1\u0110\6\13\1\0\3\13" - + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + + "\1\5\1\0\1\5\4\13\1\u0110\6\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\2\13\1\137\5\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\4\13\1\u015b\6\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\1\310" - + "\1\0\7\310\1\u015c\7\310\3\u015c\3\310\2\u015c\2\310" + "\1\u015c\1\310\1\u015c\1\310\1\154\2\310\1\u015c\14\310" - + "\1\u015c\11\310\1\u015c\6\310\1\0\7\310\1\u015d\7\310" + "\3\u015d\3\310\2\u015d\2\310\1\u015d\1\310\1\u015d\1\310" - + "\1\154\2\310\1\u015d\14\310\1\u015d\11\310\1\u015d\6\310" + "\1\0\7\310\1\u015e\7\310\3\u015e\3\310\2\u015e\2\310" - + "\1\u015e\1\310\1\u015e\1\310\1\311\2\310\1\u015e\14\310" + "\1\u015e\11\310\1\u015e\5\310\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\4\13\1\336\6\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" - + "\1\0\1\5\10\13\5\157\1\321\3\157\1\325\7\157" + "\3\325\3\157\2\325\2\157\1\325\1\157\1\325\3\157" - + "\1\322\1\325\14\157\1\325\11\157\1\325\12\157\1\321" + "\3\157\1\u015f\7\157\3\u015f\3\157\2\u015f\2\157\1\u015f" + + "\1\0\7\310\1\u015c\7\310\3\u015c\3\310\2\u015c\2\310" + + "\1\u015c\1\310\1\u015c\1\310\1\154\2\310\1\u015c\14\310" + + "\1\u015c\11\310\1\u015c\6\310\1\0\7\310\1\u015d\7\310" + + "\3\u015d\3\310\2\u015d\2\310\1\u015d\1\310\1\u015d\1\310" + + "\1\154\2\310\1\u015d\14\310\1\u015d\11\310\1\u015d\6\310" + + "\1\0\7\310\1\u015e\7\310\3\u015e\3\310\2\u015e\2\310" + + "\1\u015e\1\310\1\u015e\1\310\1\311\2\310\1\u015e\14\310" + + "\1\u015e\11\310\1\u015e\5\310\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\4\13\1\336\6\13" + + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\6\13" + "\1\0\1\5\10\13\5\157\1\321\3\157\1\325\7\157" + + "\3\325\3\157\2\325\2\157\1\325\1\157\1\325\3\157" + "\1\322\1\325\14\157\1\325\11\157\1\325\12\157\1\321" + + "\3\157\1\u015f\7\157\3\u015f\3\157\2\u015f\2\157\1\u015f" + "\1\157\1\u015f\3\157\1\322\1\u015f\14\157\1\u015f\11\157" + "\1\u015f\5\157\1\5\4\0\1\5\4\13\1\100\1\13" - + "\1\5\1\0\1\5\5\13\1\174\5\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" - + "\1\0\1\5\3\13\1\u0160\7\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\2\13\1\u0145\3\13\1\0" - + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\1\13\1\u0160" + + "\1\5\1\0\1\5\5\13\1\174\5\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\3\13\1\u0160\7\13\1\0\3\13\2\0" + + "\1\13\1\0\2\13\13\0\2\13\1\u0145\3\13\1\0" + "\1\5\10\13\1\5\4\0\1\5\4\13\1\100\1\13" + + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\1\13\1\u0160" + "\6\13\1\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\1\13\1\u0161\4\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + "\1\5\1\u0162\12\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" - + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\1\265" + "\12\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\2\13\1\u0163\5\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" - + "\1\13\1\0\2\13\13\0\2\13\1\u0164\3\13\1\0" + "\1\5\10\13\3\0\1\u012b\76\0\1\u012e\155\0\1\u0165" - + "\34\0\1\255\136\0\1\u0166\16\0\1\5\4\0\5\5" + "\1\0\2\5\1\0\14\5\1\0\3\5\2\0\1\5" + "\1\0\2\5\13\0\2\5\1\255\3\5\1\0\12\5" - + "\4\0\5\5\1\0\2\5\1\0\14\5\1\0\3\5" + "\2\0\1\5\1\0\2\5\13\0\2\5\1\u0167\3\5" + "\1\0\12\5\4\0\1\5\4\13\1\100\1\13\1\5" - + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\1\13\1\174\4\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" - + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\5\13\1\137\2\13\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" - + "\5\13\1\u0168\5\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\310\1\0" - + "\7\310\1\152\7\310\3\152\3\310\2\152\2\310\1\152" + "\1\310\1\152\1\310\1\154\2\310\1\152\14\310\1\152" - + "\11\310\1\152\6\310\1\0\7\310\1\312\7\310\3\312" + "\3\310\2\312\2\310\1\312\1\310\1\312\1\310\1\154" - + "\2\310\1\312\14\310\1\312\11\310\1\312\6\310\1\0" + "\7\310\1\152\7\310\3\152\3\310\2\152\2\310\1\152" - + "\1\310\1\152\1\310\1\311\2\310\1\152\14\310\1\152" + "\11\310\1\152\5\310\5\157\1\321\3\157\1\323\7\157" - + "\3\323\3\157\2\323\2\157\1\323\1\157\1\323\3\157" + "\1\322\1\323\14\157\1\323\11\157\1\323\5\157\1\5" - + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\4\13\1\u0169\6\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" - + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\13\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\1\265" + "\5\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\3\13\1\u016a\2\13" - + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + "\1\13\1\5\1\0\1\5\1\274\12\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" - + "\10\13\1\5\4\0\1\5\1\265\3\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\61\0" - + "\1\255\76\0\1\u016b\15\0\1\5\4\0\5\5\1\0" + "\2\5\1\0\14\5\1\0\3\5\2\0\1\5\1\0" + "\2\5\13\0\5\5\1\255\1\0\12\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\5\13\1\u016c" + "\5\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" - + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\2\13\1\265\5\13\1\5\4\0\1\5\4\13\1\100" - + "\1\13\1\5\1\0\1\5\1\13\1\137\11\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + "\1\5\10\13\64\0\1\255\12\0\1\5\4\0\1\5" - + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\3\13\1\u013f" + "\2\13\1\0\1\5\10\13"; - + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\1\265" + "\12\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\2\13\1\u0163\5\13\1\5\4\0\1\5\4\13\1\100" + + "\1\13\1\5\1\0\1\5\13\13\1\0\3\13\2\0" + "\1\13\1\0\2\13\13\0\2\13\1\u0164\3\13\1\0" + + "\1\5\10\13\3\0\1\u012b\76\0\1\u012e\155\0\1\u0165" + "\34\0\1\255\136\0\1\u0166\16\0\1\5\4\0\5\5" + + "\1\0\2\5\1\0\14\5\1\0\3\5\2\0\1\5" + "\1\0\2\5\13\0\2\5\1\255\3\5\1\0\12\5" + + "\4\0\5\5\1\0\2\5\1\0\14\5\1\0\3\5" + "\2\0\1\5\1\0\2\5\13\0\2\5\1\u0167\3\5" + + "\1\0\12\5\4\0\1\5\4\13\1\100\1\13\1\5" + "\1\0\1\5\13\13\1\0\3\13\2\0\1\13\1\0" + + "\2\13\13\0\1\13\1\174\4\13\1\0\1\5\10\13" + "\1\5\4\0\1\5\4\13\1\100\1\13\1\5\1\0" + + "\1\5\13\13\1\0\3\13\2\0\1\13\1\0\2\13" + "\13\0\6\13\1\0\1\5\5\13\1\137\2\13\1\5" + + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + "\5\13\1\u0168\5\13\1\0\3\13\2\0\1\13\1\0" + + "\2\13\13\0\6\13\1\0\1\5\10\13\1\310\1\0" + "\7\310\1\152\7\310\3\152\3\310\2\152\2\310\1\152" + + "\1\310\1\152\1\310\1\154\2\310\1\152\14\310\1\152" + "\11\310\1\152\6\310\1\0\7\310\1\312\7\310\3\312" + + "\3\310\2\312\2\310\1\312\1\310\1\312\1\310\1\154" + "\2\310\1\312\14\310\1\312\11\310\1\312\6\310\1\0" + + "\7\310\1\152\7\310\3\152\3\310\2\152\2\310\1\152" + "\1\310\1\152\1\310\1\311\2\310\1\152\14\310\1\152" + + "\11\310\1\152\5\310\5\157\1\321\3\157\1\323\7\157" + "\3\323\3\157\2\323\2\157\1\323\1\157\1\323\3\157" + + "\1\322\1\323\14\157\1\323\11\157\1\323\5\157\1\5" + "\4\0\1\5\4\13\1\100\1\13\1\5\1\0\1\5" + + "\4\13\1\u0169\6\13\1\0\3\13\2\0\1\13\1\0" + "\2\13\13\0\6\13\1\0\1\5\10\13\1\5\4\0" + + "\1\5\4\13\1\100\1\13\1\5\1\0\1\5\13\13" + "\1\0\3\13\2\0\1\13\1\0\2\13\13\0\1\265" + + "\5\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\3\13\1\u016a\2\13" + "\1\0\1\5\10\13\1\5\4\0\1\5\4\13\1\100" + + "\1\13\1\5\1\0\1\5\1\274\12\13\1\0\3\13" + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + + "\10\13\1\5\4\0\1\5\1\265\3\13\1\100\1\13" + "\1\5\1\0\1\5\13\13\1\0\3\13\2\0\1\13" + + "\1\0\2\13\13\0\6\13\1\0\1\5\10\13\61\0" + "\1\255\76\0\1\u016b\15\0\1\5\4\0\5\5\1\0" + + "\2\5\1\0\14\5\1\0\3\5\2\0\1\5\1\0" + "\2\5\13\0\5\5\1\255\1\0\12\5\4\0\1\5" + + "\4\13\1\100\1\13\1\5\1\0\1\5\5\13\1\u016c" + "\5\13\1\0\3\13\2\0\1\13\1\0\2\13\13\0" + + "\6\13\1\0\1\5\10\13\1\5\4\0\1\5\4\13" + "\1\100\1\13\1\5\1\0\1\5\13\13\1\0\3\13" + + "\2\0\1\13\1\0\2\13\13\0\6\13\1\0\1\5" + "\2\13\1\265\5\13\1\5\4\0\1\5\4\13\1\100" + + "\1\13\1\5\1\0\1\5\1\13\1\137\11\13\1\0" + "\3\13\2\0\1\13\1\0\2\13\13\0\6\13\1\0" + + "\1\5\10\13\64\0\1\255\12\0\1\5\4\0\1\5" + "\4\13\1\100\1\13\1\5\1\0\1\5\13\13\1\0" + + "\3\13\2\0\1\13\1\0\2\13\13\0\3\13\1\u013f" + "\2\13\1\0\1\5\10\13"; + private static int[] zzUnpackTrans() { int[] result = new int[21231]; 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 */ @@ -495,7 +596,7 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -507,17 +608,18 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\3\1\1\11\10\1\1\11\17\1\1\11\4\1" + "\2\11\11\1\1\11\5\1\1\11\5\1\1\11\1\1" - + "\1\0\1\1\1\11\12\1\1\0\1\11\40\1\1\11" + "\4\1\1\11\27\1\1\11\7\0\1\11\2\0\1\11" + "\7\0\1\1\1\11\7\1\1\0\43\1\1\11\10\1" + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\3\1\1\11\10\1\1\11\17\1\1\11\4\1" + + "\2\11\11\1\1\11\5\1\1\11\5\1\1\11\1\1" + "\1\0\1\1\1\11\12\1\1\0\1\11\40\1\1\11" + + "\4\1\1\11\27\1\1\11\7\0\1\11\2\0\1\11" + "\7\0\1\1\1\11\7\1\1\0\43\1\1\11\10\1" + "\1\11\33\1\20\0\54\1\1\0\1\1\2\0\1\1" + "\7\0\32\1\7\0\16\1\2\0\4\1\1\0\1\1"; - + private static int[] zzUnpackAttribute() { int[] result = new int[364]; 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 */ @@ -531,7 +633,7 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -539,8 +641,8 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -550,76 +652,66 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public CSharpTokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -627,21 +719,18 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -650,16 +739,16 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = VERBATIMSTRING; - start = text.offset; - break; - case Token.COMMENT_MULTILINE: - state = DELIMITEDCOMMENT; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = VERBATIMSTRING; + start = text.offset; + break; + case Token.COMMENT_MULTILINE: + state = DELIMITEDCOMMENT; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -671,36 +760,34 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -710,34 +797,31 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public CSharpTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public CSharpTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -753,7 +837,7 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -763,69 +847,64 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -836,29 +915,27 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -877,8 +954,7 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -918,246 +994,246 @@ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 35: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); - start = zzMarkedPos; - } - case 36: - break; - case 28: { - addToken(Token.PREPROCESSOR); - } - case 37: - break; - case 3: { - addNullToken(); - return firstToken; - } - case 38: - break; - case 30: { - addToken(Token.LITERAL_CHAR); - } - case 39: - break; - case 25: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 40: - break; - case 4: { - addToken(Token.WHITESPACE); - } - case 41: - break; - case 29: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 42: - break; - case 22: { - addToken(Token.ERROR_CHAR); /* - * addNullToken(); return - * firstToken; - */ - } - case 43: - break; - case 31: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 44: - break; - case 19: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 45: - break; - case 21: { - addToken(Token.RESERVED_WORD); - } - case 46: - break; - case 10: { - addToken(Token.SEPARATOR); - } - case 47: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addNullToken(); - return firstToken; - } - case 48: - break; - case 6: { - addToken(Token.IDENTIFIER); - } - case 49: - break; - case 13: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzEndRead, Token.PREPROCESSOR); - addNullToken(); - return firstToken; - } - case 50: - break; - case 8: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 51: - break; - case 9: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 52: - break; - case 32: { - addToken(Token.DATA_TYPE); - } - case 53: - break; - case 2: { - addToken(Token.ERROR_IDENTIFIER); - } - case 54: - break; - case 23: { - addToken(Token.ERROR_CHAR); - } - case 55: - break; - case 33: { - addToken(Token.LITERAL_BOOLEAN); - } - case 56: - break; - case 20: { - start = zzMarkedPos - 2; - yybegin(VERBATIMSTRING); - } - case 57: - break; - case 24: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 58: - break; - case 14: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 59: - break; - case 34: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 60: - break; - case 16: { - addToken(Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 61: - break; - case 18: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 62: - break; - case 27: { - start = zzMarkedPos - 3; - yybegin(DOCUMENTCOMMENT); - } - case 63: - break; - case 17: { - start = zzMarkedPos - 2; - yybegin(DELIMITEDCOMMENT); - } - case 64: - break; - case 7: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 65: - break; - case 5: { - addToken(Token.OPERATOR); - } - case 66: - break; - case 26: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.PREPROCESSOR); - start = zzMarkedPos; - } - case 67: - break; - case 15: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 68: - break; - case 1: {} - case 69: - break; - case 11: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 70: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case VERBATIMSTRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 365: - break; - case DOCUMENTCOMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addNullToken(); - return firstToken; - } - case 366: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 367: - break; - case DELIMITEDCOMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 368: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 35: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); + start = zzMarkedPos; + } + case 36: + break; + case 28: { + addToken(Token.PREPROCESSOR); + } + case 37: + break; + case 3: { + addNullToken(); + return firstToken; + } + case 38: + break; + case 30: { + addToken(Token.LITERAL_CHAR); + } + case 39: + break; + case 25: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 40: + break; + case 4: { + addToken(Token.WHITESPACE); + } + case 41: + break; + case 29: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 42: + break; + case 22: { + addToken(Token.ERROR_CHAR); /* + * addNullToken(); return firstToken; + */ + } + case 43: + break; + case 31: { + addToken(Token.ERROR_STRING_DOUBLE); + } + case 44: + break; + case 19: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 45: + break; + case 21: { + addToken(Token.RESERVED_WORD); + } + case 46: + break; + case 10: { + addToken(Token.SEPARATOR); + } + case 47: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addNullToken(); + return firstToken; + } + case 48: + break; + case 6: { + addToken(Token.IDENTIFIER); + } + case 49: + break; + case 13: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzEndRead, Token.PREPROCESSOR); + addNullToken(); + return firstToken; + } + case 50: + break; + case 8: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 51: + break; + case 9: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 52: + break; + case 32: { + addToken(Token.DATA_TYPE); + } + case 53: + break; + case 2: { + addToken(Token.ERROR_IDENTIFIER); + } + case 54: + break; + case 23: { + addToken(Token.ERROR_CHAR); + } + case 55: + break; + case 33: { + addToken(Token.LITERAL_BOOLEAN); + } + case 56: + break; + case 20: { + start = zzMarkedPos - 2; + yybegin(VERBATIMSTRING); + } + case 57: + break; + case 24: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 58: + break; + case 14: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 59: + break; + case 34: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 60: + break; + case 16: { + addToken(Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 61: + break; + case 18: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 62: + break; + case 27: { + start = zzMarkedPos - 3; + yybegin(DOCUMENTCOMMENT); + } + case 63: + break; + case 17: { + start = zzMarkedPos - 2; + yybegin(DELIMITEDCOMMENT); + } + case 64: + break; + case 7: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 65: + break; + case 5: { + addToken(Token.OPERATOR); + } + case 66: + break; + case 26: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.PREPROCESSOR); + start = zzMarkedPos; + } + case 67: + break; + case 15: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 68: + break; + case 1: { + } + case 69: + break; + case 11: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 70: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case VERBATIMSTRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; } + case 365: + break; + case DOCUMENTCOMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addNullToken(); + return firstToken; + } + case 366: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 367: + break; + case DELIMITEDCOMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 368: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/CTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/CTokenMaker.java index 321978c..cd7ffc9 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/CTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/CTokenMaker.java @@ -23,16 +23,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -42,16 +41,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated CTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -59,7 +58,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class CTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -71,10 +70,11 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\50\1\43\1\0\1\50\1\56\22\0\1\50\1\36\1\44" + "\1\57\1\60\1\65\1\113\1\33\1\31\1\31\1\51\1\7\1\64" + "\1\37\1\54\1\32\1\47\1\77\1\76\1\41\4\5\2\3\1\70" - + "\1\63\1\34\1\30\1\35\1\27\1\61\1\103\1\4\1\111\1\102" + "\1\6\1\55\2\1\1\105\2\1\1\53\1\106\1\107\4\1\1\110" - + "\1\104\1\52\2\1\1\42\2\1\1\62\1\40\1\62\1\115\1\2" + "\1\0\1\24\1\46\1\21\1\10\1\11\1\12\1\25\1\66\1\13" - + "\1\100\1\72\1\15\1\26\1\14\1\20\1\23\1\101\1\17\1\16" + "\1\67\1\22\1\45\1\71\1\73\1\75\1\74\1\112\1\114\1\112" - + "\1\64\uff81\0"; + + "\1\63\1\34\1\30\1\35\1\27\1\61\1\103\1\4\1\111\1\102" + + "\1\6\1\55\2\1\1\105\2\1\1\53\1\106\1\107\4\1\1\110" + "\1\104\1\52\2\1\1\42\2\1\1\62\1\40\1\62\1\115\1\2" + + "\1\0\1\24\1\46\1\21\1\10\1\11\1\12\1\25\1\66\1\13" + + "\1\100\1\72\1\15\1\26\1\14\1\20\1\23\1\101\1\17\1\16" + + "\1\67\1\22\1\45\1\71\1\73\1\75\1\74\1\112\1\114\1\112" + "\1\64\uff81\0"; /** * Translates characters to character classes */ @@ -83,20 +83,22 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\3\0\1\1\2\2\1\3\1\4\16\2\2\4\1\5" + "\1\4\1\6\3\4\1\2\1\7\1\10\2\2\1\3" - + "\1\11\1\4\2\1\1\2\1\4\3\2\2\4\2\12" + "\1\13\5\12\1\14\2\12\1\2\2\15\2\3\1\16" + "\2\2\1\17\21\2\1\17\50\2\1\0\1\20\1\21" - + "\2\22\1\23\1\6\2\10\1\24\7\2\1\15\6\1" + "\1\0\11\2\2\0\1\25\6\0\5\2\1\3\1\0" + "\1\3\1\15\1\16\2\2\1\26\5\2\1\26\17\2" - + "\1\27\15\2\1\26\1\2\1\26\45\2\1\6\1\30" + "\1\6\3\22\1\6\2\10\1\31\6\2\1\32\4\1" + "\1\33\4\1\6\0\10\2\10\0\5\2\1\16\1\0" - + "\27\2\1\27\37\2\1\26\2\2\1\26\6\2\1\6" + "\1\10\6\2\2\32\7\1\4\0\1\33\4\0\10\2" + "\2\0\1\34\2\0\1\35\50\2\1\32\1\33\3\1" - + "\7\0\7\2\4\0\5\2\1\36\5\2\2\1\1\33" + "\3\0\4\2\2\0\1\33"; - + private static final String ZZ_ACTION_PACKED_0 = "\3\0\1\1\2\2\1\3\1\4\16\2\2\4\1\5" + + "\1\4\1\6\3\4\1\2\1\7\1\10\2\2\1\3" + "\1\11\1\4\2\1\1\2\1\4\3\2\2\4\2\12" + + "\1\13\5\12\1\14\2\12\1\2\2\15\2\3\1\16" + "\2\2\1\17\21\2\1\17\50\2\1\0\1\20\1\21" + + "\2\22\1\23\1\6\2\10\1\24\7\2\1\15\6\1" + "\1\0\11\2\2\0\1\25\6\0\5\2\1\3\1\0" + + "\1\3\1\15\1\16\2\2\1\26\5\2\1\26\17\2" + "\1\27\15\2\1\26\1\2\1\26\45\2\1\6\1\30" + + "\1\6\3\22\1\6\2\10\1\31\6\2\1\32\4\1" + "\1\33\4\1\6\0\10\2\10\0\5\2\1\16\1\0" + + "\27\2\1\27\37\2\1\26\2\2\1\26\6\2\1\6" + "\1\10\6\2\2\32\7\1\4\0\1\33\4\0\10\2" + + "\2\0\1\34\2\0\1\35\50\2\1\32\1\33\3\1" + "\7\0\7\2\4\0\5\2\1\36\5\2\2\1\1\33" + "\3\0\4\2\2\0\1\33"; + private static int[] zzUnpackAction() { int[] result = new int[503]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -110,7 +112,7 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -178,14 +180,14 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { + "\0\u8aa2\0\u8af0\0\u8b3e\0\u8b8c\0\u0138\0\u8bda\0\u8c28\0\u8c76" + "\0\u8cc4\0\u8d12\0\u8d60\0\u8dae\0\u0750\0\u8dfc\0\u8e4a\0\u8e98" + "\0\u8ee6\0\u8f34\0\u8f82\0\u8fd0\0\u901e\0\u906c\0\u0138"; - + private static int[] zzUnpackRowMap() { int[] result = new int[503]; 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 */ @@ -196,454 +198,650 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\4\1\5\1\6\1\7\1\5\1\7\1\5\1\10" + "\1\11\1\12\1\13\1\14\1\5\1\15\1\16\1\17" - + "\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27" + "\1\30\1\31\1\32\1\33\1\34\1\35\1\30\1\36" - + "\1\37\1\7\1\5\1\40\1\41\1\42\1\43\1\44" + "\1\45\1\30\2\5\1\46\1\5\1\47\1\50\2\4" + "\1\31\1\51\1\52\1\30\1\5\1\53\1\52\1\54" + private static final String ZZ_TRANS_PACKED_0 = "\1\4\1\5\1\6\1\7\1\5\1\7\1\5\1\10" + + "\1\11\1\12\1\13\1\14\1\5\1\15\1\16\1\17" + "\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27" + + "\1\30\1\31\1\32\1\33\1\34\1\35\1\30\1\36" + "\1\37\1\7\1\5\1\40\1\41\1\42\1\43\1\44" + + "\1\45\1\30\2\5\1\46\1\5\1\47\1\50\2\4" + "\1\31\1\51\1\52\1\30\1\5\1\53\1\52\1\54" + "\4\5\2\7\1\5\1\55\10\5\1\31\1\56\1\57" + "\1\30\12\60\1\61\30\60\1\62\5\60\1\63\14\60" + "\1\64\2\60\1\65\24\60\12\66\1\67\30\66\1\70" + "\22\66\1\71\2\66\1\72\24\66\7\4\1\0\17\4" - + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\1\5\1\73" + "\4\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\3\74\1\7\1\74" + "\1\7\1\75\1\0\1\74\1\75\3\74\1\76\4\74" - + "\1\77\4\74\11\0\1\74\1\7\1\74\2\0\2\74" + "\1\7\2\0\1\77\1\76\1\100\1\74\1\0\3\74" + "\4\0\2\74\1\0\5\74\2\7\12\74\13\0\1\52" - + "\20\0\1\52\65\0\1\4\6\5\1\0\1\5\1\101" + "\1\5\1\102\4\5\1\103\6\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\4\5\1\104\1\105\1\5\1\106\7\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\2\5\1\107\16\5\4\0\1\4\6\5\1\0\1\5" + "\1\110\1\111\2\5\1\112\1\113\1\114\1\115\1\116" - + "\1\5\1\117\1\120\1\121\1\122\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\123\1\0\1\124\20\5" - + "\4\0\1\4\6\5\1\0\2\5\1\125\1\5\1\126" + "\1\5\1\127\10\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\130\7\5\1\131\3\5\1\120\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\5\1\132\1\5\1\133\2\5" + "\1\134\1\135\1\5\1\136\1\5\1\137\3\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\140\1\141\1\0" + "\1\142\3\5\1\143\3\5\1\144\10\5\4\0\1\4" - + "\6\5\1\0\1\5\1\145\12\5\1\146\2\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\2\5\1\147\14\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\1\5\1\150\3\5\1\151" + "\2\5\1\152\3\5\1\153\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\1\154\1\155\1\0\21\5\4\0" + "\1\4\6\5\1\0\4\5\1\156\12\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\5\1\157\5\5\1\160\1\161" + "\1\5\1\162\4\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\6\5\1\163\2\5\1\164\1\165\4\5\11\0\1\4" - + "\2\5\2\0\1\5\1\166\1\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\167" + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\170" - + "\6\5\1\165\5\5\1\171\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\1\5\1\172\6\5\1\173\3\5\1\174\2\5" + "\11\0\1\4\2\5\2\0\1\5\1\175\1\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\2\5\1\0\1\5\1\171\17\5\33\0\1\176\116\0" + "\1\52\233\0\1\52\1\0\1\177\16\0\1\200\44\0" - + "\27\201\1\202\3\201\1\203\4\201\1\204\2\201\1\0" + "\52\201\30\0\1\52\3\0\1\30\111\0\1\52\4\0" - + "\1\30\110\0\1\52\6\0\1\52\56\0\40\41\1\205" + "\2\41\1\206\1\207\51\41\1\4\6\5\1\0\2\5" - + "\1\210\3\5\1\210\1\5\1\211\2\5\1\137\1\212" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\1\213\20\5\4\0\1\4\6\5\1\0\6\5" + "\1\214\1\215\7\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\1\5\1\216\1\0\21\5\4\0\3\74\1\7" + "\1\74\1\7\1\75\1\0\1\74\1\75\3\74\1\76" + "\4\74\1\77\4\74\11\0\1\74\1\7\1\217\2\0" + + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\1\4" + + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\1\5\1\73" + "\4\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\3\74\1\7\1\74" + + "\1\7\1\75\1\0\1\74\1\75\3\74\1\76\4\74" + "\1\77\4\74\11\0\1\74\1\7\1\74\2\0\2\74" + + "\1\7\2\0\1\77\1\76\1\100\1\74\1\0\3\74" + "\4\0\2\74\1\0\5\74\2\7\12\74\13\0\1\52" + + "\20\0\1\52\65\0\1\4\6\5\1\0\1\5\1\101" + "\1\5\1\102\4\5\1\103\6\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\4\5\1\104\1\105\1\5\1\106\7\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\2\5\1\107\16\5\4\0\1\4\6\5\1\0\1\5" + + "\1\110\1\111\2\5\1\112\1\113\1\114\1\115\1\116" + "\1\5\1\117\1\120\1\121\1\122\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\123\1\0\1\124\20\5" + + "\4\0\1\4\6\5\1\0\2\5\1\125\1\5\1\126" + "\1\5\1\127\10\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\130\7\5\1\131\3\5\1\120\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\5\1\132\1\5\1\133\2\5" + + "\1\134\1\135\1\5\1\136\1\5\1\137\3\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\1\140\1\141\1\0" + "\1\142\3\5\1\143\3\5\1\144\10\5\4\0\1\4" + + "\6\5\1\0\1\5\1\145\12\5\1\146\2\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\2\5\1\147\14\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\5\1\150\3\5\1\151" + "\2\5\1\152\3\5\1\153\2\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\154\1\155\1\0\21\5\4\0" + + "\1\4\6\5\1\0\4\5\1\156\12\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\5\1\157\5\5\1\160\1\161" + + "\1\5\1\162\4\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\6\5\1\163\2\5\1\164\1\165\4\5\11\0\1\4" + + "\2\5\2\0\1\5\1\166\1\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\167" + + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\170" + "\6\5\1\165\5\5\1\171\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\1\5\1\172\6\5\1\173\3\5\1\174\2\5" + "\11\0\1\4\2\5\2\0\1\5\1\175\1\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\1\5\1\171\17\5\33\0\1\176\116\0" + + "\1\52\233\0\1\52\1\0\1\177\16\0\1\200\44\0" + "\27\201\1\202\3\201\1\203\4\201\1\204\2\201\1\0" + + "\52\201\30\0\1\52\3\0\1\30\111\0\1\52\4\0" + "\1\30\110\0\1\52\6\0\1\52\56\0\40\41\1\205" + + "\2\41\1\206\1\207\51\41\1\4\6\5\1\0\2\5" + "\1\210\3\5\1\210\1\5\1\211\2\5\1\137\1\212" + + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\1\213\20\5\4\0\1\4\6\5\1\0\6\5" + "\1\214\1\215\7\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\216\1\0\21\5\4\0\3\74\1\7" + + "\1\74\1\7\1\75\1\0\1\74\1\75\3\74\1\76" + "\4\74\1\77\4\74\11\0\1\74\1\7\1\217\2\0" + "\2\74\1\7\2\0\1\77\1\76\1\100\1\74\1\0" + "\3\74\4\0\2\74\1\0\2\74\1\217\2\74\2\7" + "\12\74\54\0\1\45\50\0\1\100\1\0\1\100\33\0" + "\1\100\5\0\1\100\26\0\2\100\16\0\7\4\1\0" - + "\1\220\1\221\1\4\1\222\1\4\1\223\4\4\1\224" + "\1\225\3\4\11\0\3\4\2\0\3\4\1\226\1\0" + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" - + "\21\4\4\0\1\4\6\5\1\0\3\5\1\227\4\5" + "\1\230\3\5\1\231\1\5\1\232\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\4\5\1\233\14\5" + "\4\0\1\4\6\5\1\0\6\5\1\134\2\5\1\234" + "\1\5\1\137\2\5\1\235\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\236\1\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\6\5\1\237\10\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\34\0\1\52" + "\62\0\1\52\32\0\1\52\63\0\1\52\1\0\12\60" - + "\1\0\30\60\1\0\5\60\1\0\14\60\1\0\2\60" + "\1\0\24\60\13\0\1\240\53\0\1\241\60\0\1\242" - + "\152\0\1\243\117\0\1\244\24\0\12\66\1\0\30\66" + "\1\0\22\66\1\0\2\66\1\0\24\66\13\0\1\245" - + "\53\0\1\246\115\0\1\247\117\0\1\250\24\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\1\5\1\251\1\0\1\252\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\11\5\1\253\1\5\1\254" + "\3\5\1\255\1\5\4\0\7\74\1\0\17\74\11\0" + "\3\74\2\0\3\74\2\0\2\74\1\0\1\74\1\0" - + "\3\74\4\0\2\74\1\0\21\74\4\0\3\74\1\256" + "\1\74\1\256\1\74\1\257\17\74\10\0\1\257\1\74" - + "\1\256\1\74\2\0\2\74\1\256\2\0\2\74\1\0" + "\1\74\1\0\3\74\4\0\2\74\1\0\5\74\2\256" - + "\12\74\4\0\7\74\1\0\12\74\1\260\4\74\11\0" + "\3\74\2\0\3\74\2\0\1\260\1\74\1\0\1\74" - + "\1\0\3\74\4\0\2\74\1\0\21\74\4\0\7\74" + "\1\0\5\74\1\260\11\74\11\0\3\74\2\0\3\74" + "\2\0\1\74\1\260\1\0\1\74\1\0\3\74\4\0" + + "\1\220\1\221\1\4\1\222\1\4\1\223\4\4\1\224" + "\1\225\3\4\11\0\3\4\2\0\3\4\1\226\1\0" + + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\4\0\1\4\6\5\1\0\3\5\1\227\4\5" + + "\1\230\3\5\1\231\1\5\1\232\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\4\5\1\233\14\5" + "\4\0\1\4\6\5\1\0\6\5\1\134\2\5\1\234" + + "\1\5\1\137\2\5\1\235\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\1\236\1\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\6\5\1\237\10\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\34\0\1\52" + + "\62\0\1\52\32\0\1\52\63\0\1\52\1\0\12\60" + "\1\0\30\60\1\0\5\60\1\0\14\60\1\0\2\60" + + "\1\0\24\60\13\0\1\240\53\0\1\241\60\0\1\242" + "\152\0\1\243\117\0\1\244\24\0\12\66\1\0\30\66" + + "\1\0\22\66\1\0\2\66\1\0\24\66\13\0\1\245" + "\53\0\1\246\115\0\1\247\117\0\1\250\24\0\1\4" + + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\1\5\1\251\1\0\1\252\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\11\5\1\253\1\5\1\254" + "\3\5\1\255\1\5\4\0\7\74\1\0\17\74\11\0" + + "\3\74\2\0\3\74\2\0\2\74\1\0\1\74\1\0" + "\3\74\4\0\2\74\1\0\21\74\4\0\3\74\1\256" + + "\1\74\1\256\1\74\1\257\17\74\10\0\1\257\1\74" + "\1\256\1\74\2\0\2\74\1\256\2\0\2\74\1\0" + + "\1\74\1\0\3\74\4\0\2\74\1\0\5\74\2\256" + "\12\74\4\0\7\74\1\0\12\74\1\260\4\74\11\0" + + "\3\74\2\0\3\74\2\0\1\260\1\74\1\0\1\74" + "\1\0\3\74\4\0\2\74\1\0\21\74\4\0\7\74" + + "\1\0\5\74\1\260\11\74\11\0\3\74\2\0\3\74" + "\2\0\1\74\1\260\1\0\1\74\1\0\3\74\4\0" + "\2\74\1\0\21\74\4\0\3\74\1\100\1\74\1\100" + "\1\261\1\0\1\74\1\261\1\262\2\74\1\262\11\74" + "\11\0\1\74\1\100\1\74\2\0\2\74\1\100\2\0" + "\1\74\1\262\1\0\1\262\1\0\3\74\4\0\2\74" - + "\1\0\5\74\2\100\12\74\4\0\1\4\6\5\1\0" + "\2\5\1\263\14\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\2\5\1\264\14\5\11\0\1\4\2\5\2\0\1\265" + "\2\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\12\5\1\266\4\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\12\5\1\267\4\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\6\5\1\270\10\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\7\5\1\271\7\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\272\7\5\1\273\3\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\1\5\1\274\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\275\1\276\6\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\5\5\1\277\11\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\300\6\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\301\7\5" + "\1\136\5\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + "\1\302\15\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\7\5" + "\1\125\3\5\1\303\3\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\5\5\1\304\11\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\7\5\1\160\2\5\1\305\4\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" - + "\1\5\1\306\1\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\5\1\307\15\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\10\5\1\310\6\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\5\1\311\15\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\6\5\1\134\1\312\3\5\1\137" - + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\5\1\313\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\314\4\5\1\315" - + "\1\316\2\5\1\317\1\320\1\321\1\322\1\323\1\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\2\5\1\324\16\5\4\0\1\4\6\5\1\0\1\5" + "\1\325\1\5\1\326\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\4\5\1\327\4\5\1\330\3\5\1\331\1\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\1\5\1\332\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\333\10\5\1\334" + "\1\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\3\5\1\335\15\5\4\0\1\4\6\5\1\0" + "\11\5\1\136\5\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\14\5\1\336\2\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\14\5\1\337\2\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\160\7\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\340\6\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\341\4\5\1\342\2\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\3\5\1\343\2\5\1\134\4\5\1\137" - + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\344" - + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\272" - + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\345" - + "\7\5\1\174\1\346\1\347\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\350\1\0\1\351\20\5\4\0" - + "\1\4\6\5\1\0\3\5\1\352\1\310\12\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\2\5\1\353\14\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\3\5\1\354\13\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\1\5\1\355\6\5\1\356" + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\357" + "\1\5\1\333\10\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\5\5\1\360\1\270\10\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\14\5\1\361\2\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\227\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\362\2\5\1\363\6\5\1\364\1\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\7\5\1\275\7\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\3\5\1\365\13\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\1\273\20\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\1\5\1\366\1\0\21\5\4\0" + "\1\4\6\5\1\0\3\5\1\367\2\5\1\370\2\5" + "\1\171\5\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + "\1\306\6\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\371" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\273" + "\1\5\1\144\6\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\372\6\5\1\373\3\5\1\374\2\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\375\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\155\1\0\21\5\4\0\1\4" + "\6\5\1\0\16\5\1\376\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\1\276\16\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\5\5\1\360\11\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\5\5\1\303\1\377\1\u0100\7\5\11\0\1\4\2\5" + + "\1\0\5\74\2\100\12\74\4\0\1\4\6\5\1\0" + "\2\5\1\263\14\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\2\5\1\264\14\5\11\0\1\4\2\5\2\0\1\265" + "\2\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\12\5\1\266\4\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\12\5\1\267\4\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\6\5\1\270\10\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\7\5\1\271\7\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\272\7\5\1\273\3\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\5\1\274\1\0\21\5" + + "\4\0\1\4\6\5\1\0\7\5\1\275\1\276\6\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\5\5\1\277\11\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\10\5\1\300\6\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\301\7\5" + + "\1\136\5\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + "\1\302\15\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\7\5" + + "\1\125\3\5\1\303\3\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\5\5\1\304\11\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\7\5\1\160\2\5\1\305\4\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + + "\1\5\1\306\1\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\1\5\1\307\15\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\10\5\1\310\6\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\1\5\1\311\15\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\6\5\1\134\1\312\3\5\1\137" + + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\1\5\1\313\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\314\4\5\1\315" + + "\1\316\2\5\1\317\1\320\1\321\1\322\1\323\1\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\2\5\1\324\16\5\4\0\1\4\6\5\1\0\1\5" + + "\1\325\1\5\1\326\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\4\5\1\327\4\5\1\330\3\5\1\331\1\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\1\5\1\332\1\0\21\5" + "\4\0\1\4\6\5\1\0\4\5\1\333\10\5\1\334" + + "\1\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\3\5\1\335\15\5\4\0\1\4\6\5\1\0" + "\11\5\1\136\5\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\14\5\1\336\2\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\14\5\1\337\2\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\7\5\1\160\7\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\340\6\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\7\5\1\341\4\5\1\342\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\3\5\1\343\2\5\1\134\4\5\1\137" + + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\344" + "\10\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\272" + + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\345" + "\7\5\1\174\1\346\1\347\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\350\1\0\1\351\20\5\4\0" + + "\1\4\6\5\1\0\3\5\1\352\1\310\12\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\2\5\1\353\14\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\3\5\1\354\13\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\355\6\5\1\356" + + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\357" + "\1\5\1\333\10\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\5\5\1\360\1\270\10\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\14\5\1\361\2\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\3\5\1\227\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\362\2\5\1\363\6\5\1\364\1\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\7\5\1\275\7\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\3\5\1\365\13\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\1\273\20\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\366\1\0\21\5\4\0" + + "\1\4\6\5\1\0\3\5\1\367\2\5\1\370\2\5" + "\1\171\5\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + + "\1\306\6\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\371" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\273" + + "\1\5\1\144\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\372\6\5\1\373\3\5\1\374\2\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\1\5\1\375\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\155\1\0\21\5\4\0\1\4" + + "\6\5\1\0\16\5\1\376\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\1\276\16\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\5\5\1\360\11\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\5\5\1\303\1\377\1\u0100\7\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\216\1\0\21\5\34\0" - + "\10\52\56\0\33\u0101\1\u0102\7\u0101\1\0\101\u0101\1\u0103" + "\3\u0101\1\u0102\7\u0101\1\0\57\u0101\1\u0104\3\u0101\2\201" - + "\1\u0101\1\201\2\u0101\1\201\4\u0101\1\201\2\u0101\1\201" + "\3\u0101\1\u0105\4\u0101\1\201\1\u0106\1\u0107\1\0\3\201" - + "\1\u0106\17\u0101\1\201\3\u0101\1\u0107\2\u0101\2\u0106\16\u0101" + "\5\206\1\41\3\206\2\41\1\206\1\41\2\206\1\41" - + "\4\206\1\41\2\206\1\41\3\206\1\41\4\206\2\41" + "\1\u0108\1\0\4\41\17\206\1\41\3\206\1\u0108\2\206" - + "\2\41\56\206\1\u0109\3\206\1\u010a\51\206\1\4\6\5" + "\1\0\13\5\1\137\3\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\1\213\20\5\4\0\1\4" + "\6\5\1\0\3\5\1\u010b\1\5\1\u010c\11\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\1\5\1\u010d\4\5\1\0\17\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\13\5\1\137\3\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u010e\15\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u010f\15\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\10\5\1\u0110\6\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\3\74\4\u0111\1\0\3\u0111\6\74\1\u0111\2\74" + + "\10\52\56\0\33\u0101\1\u0102\7\u0101\1\0\101\u0101\1\u0103" + + "\3\u0101\1\u0102\7\u0101\1\0\57\u0101\1\u0104\3\u0101\2\201" + + "\1\u0101\1\201\2\u0101\1\201\4\u0101\1\201\2\u0101\1\201" + + "\3\u0101\1\u0105\4\u0101\1\201\1\u0106\1\u0107\1\0\3\201" + + "\1\u0106\17\u0101\1\201\3\u0101\1\u0107\2\u0101\2\u0106\16\u0101" + + "\5\206\1\41\3\206\2\41\1\206\1\41\2\206\1\41" + "\4\206\1\41\2\206\1\41\3\206\1\41\4\206\2\41" + + "\1\u0108\1\0\4\41\17\206\1\41\3\206\1\u0108\2\206" + "\2\41\56\206\1\u0109\3\206\1\u010a\51\206\1\4\6\5" + + "\1\0\13\5\1\137\3\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\1\213\20\5\4\0\1\4" + "\6\5\1\0\3\5\1\u010b\1\5\1\u010c\11\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\1\5\1\u010d\4\5\1\0\17\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\13\5\1\137\3\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\5\1\u010e\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u010f\15\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\10\5\1\u0110\6\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\3\74\4\u0111\1\0\3\u0111\6\74\1\u0111\2\74" + "\1\u0111\2\74\11\0\1\74\1\u0111\1\74\2\0\1\74" + "\2\u0111\2\0\2\74\1\0\1\u0111\1\0\3\74\4\0" + "\2\74\1\0\5\74\2\u0111\2\74\2\u0111\5\74\1\u0111" + "\4\0\7\4\1\0\1\4\1\u0112\15\4\11\0\3\4" - + "\2\0\3\4\2\0\2\4\1\0\1\4\1\0\3\4" + "\4\0\2\4\1\0\21\4\4\0\7\4\1\0\4\4" + "\1\u0113\1\u0114\1\4\1\u0115\7\4\11\0\3\4\2\0" - + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + "\2\4\1\0\21\4\4\0\7\4\1\0\2\4\1\u0116" + "\1\4\1\u0117\12\4\11\0\3\4\2\0\3\4\2\0" - + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\4\0\7\4\1\0\3\4\1\u0118\13\4\11\0" + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" - + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + "\4\4\1\u0119\12\4\11\0\3\4\2\0\3\4\2\0" + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" - + "\21\4\4\0\7\4\1\0\7\4\1\u011a\7\4\11\0" + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\14\0\1\u011b\1\u011c" - + "\1\0\1\u011d\1\0\1\u011e\4\0\1\u011f\1\u0120\24\0" + "\1\226\45\0\1\4\6\5\1\0\16\5\1\u0121\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\5\5\1\315\4\5\1\320" - + "\4\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\333" - + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\13\5\1\u0122" - + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\13\5\1\u0123" - + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u0124" - + "\1\u0125\7\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\u0126\1\u0127\1\0\21\5\4\0\1\4\6\5\1\0" - + "\1\5\1\172\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\3\5\1\u0128\13\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\10\5\1\144\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\21\0\1\u0129\123\0\1\u012a" - + "\161\0\1\u012b\117\0\1\u012c\41\0\1\u012d\123\0\1\u012e" + "\161\0\1\u012f\117\0\1\u0130\24\0\1\4\6\5\1\0" - + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\14\5\1\u0131\4\5\4\0\1\4\6\5\1\0" - + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\14\5\1\u0132\4\5\4\0\1\4\6\5\1\0" - + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\12\5\1\u0133\6\5\4\0\1\4\6\5\1\0" - + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\14\5\1\u0134\4\5\4\0\1\4\6\5\1\0" - + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\13\5\1\u0135\5\5\4\0\3\74\1\256\1\74" + + "\2\0\3\4\2\0\2\4\1\0\1\4\1\0\3\4" + "\4\0\2\4\1\0\21\4\4\0\7\4\1\0\4\4" + + "\1\u0113\1\u0114\1\4\1\u0115\7\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + + "\2\4\1\0\21\4\4\0\7\4\1\0\2\4\1\u0116" + "\1\4\1\u0117\12\4\11\0\3\4\2\0\3\4\2\0" + + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\4\0\7\4\1\0\3\4\1\u0118\13\4\11\0" + + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + + "\4\4\1\u0119\12\4\11\0\3\4\2\0\3\4\2\0" + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + + "\21\4\4\0\7\4\1\0\7\4\1\u011a\7\4\11\0" + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + + "\3\4\4\0\2\4\1\0\21\4\14\0\1\u011b\1\u011c" + "\1\0\1\u011d\1\0\1\u011e\4\0\1\u011f\1\u0120\24\0" + + "\1\226\45\0\1\4\6\5\1\0\16\5\1\u0121\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\5\5\1\315\4\5\1\320" + + "\4\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\333" + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\13\5\1\u0122" + + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\13\5\1\u0123" + "\3\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u0124" + + "\1\u0125\7\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\1\u0126\1\u0127\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\172\15\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\3\5\1\u0128\13\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\144\6\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\21\0\1\u0129\123\0\1\u012a" + + "\161\0\1\u012b\117\0\1\u012c\41\0\1\u012d\123\0\1\u012e" + + "\161\0\1\u012f\117\0\1\u0130\24\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\14\5\1\u0131\4\5\4\0\1\4\6\5\1\0" + + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\14\5\1\u0132\4\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\12\5\1\u0133\6\5\4\0\1\4\6\5\1\0" + + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\14\5\1\u0134\4\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\13\5\1\u0135\5\5\4\0\3\74\1\256\1\74" + "\1\256\1\74\1\0\5\74\1\76\4\74\1\77\4\74" + "\11\0\1\74\1\256\1\74\2\0\2\74\1\256\2\0" + "\1\77\1\76\1\0\1\74\1\0\3\74\4\0\2\74" + "\1\0\5\74\2\256\12\74\7\0\1\256\1\0\1\256" + "\33\0\1\256\5\0\1\256\26\0\2\256\16\0\3\74" + "\1\u0136\1\74\1\u0136\1\74\1\u0137\17\74\10\0\1\u0137" + "\1\74\1\u0136\1\74\2\0\2\74\1\u0136\2\0\2\74" + "\1\0\1\74\1\0\3\74\4\0\2\74\1\0\5\74" - + "\2\u0136\12\74\4\0\1\4\6\5\1\0\14\5\1\u0138" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\2\5\1\171" + "\14\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\1\5\1\126\4\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + "\1\4\2\5\2\0\1\5\1\u0139\1\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\16\5\1\125" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\1\5\1\125\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\4\5\1\u013a\12\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\5\1\273\1\0\21\5" - + "\4\0\1\4\6\5\1\0\1\5\1\u013b\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\7\5\1\u013c\7\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\2\5\1\273\14\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\12\5\1\u013d\4\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\10\5\1\u013e\3\5\1\126" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u013f" + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" - + "\1\u0140\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + "\1\273\6\5\1\u0141\3\5\1\310\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\2\5\1\u0142" + "\16\5\4\0\1\4\6\5\1\0\1\5\1\367\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\352\6\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\1\5\1\u0143\1\0\21\5" + "\4\0\1\4\6\5\1\0\6\5\1\273\10\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\1\5\1\u0144\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\273\16\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\5\5\1\354\11\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\3\5\1\u0145\13\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\3\5\1\u0146\13\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\10\5\1\u0147\6\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\13\5\1\u0148\3\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\4\5\1\u0149\12\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\13\5\1\u014a\3\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\7\5\1\u014b\2\5\1\u014c\4\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\5\5\1\u014d\11\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\u014e\7\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\314\16\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\2\5\1\u0142\16\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\1\265\2\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\15\5\1\u014f\1\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\14\5\1\u0150\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\6\5\1\u0151\12\5\4\0\1\4" + "\6\5\1\0\5\5\1\u0152\11\5\11\0\1\4\2\5" - + "\2\0\1\u0153\1\u0154\1\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\7\5" + "\1\u0155\11\5\4\0\1\4\6\5\1\0\17\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\273\1\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\4\5\1\u0156\12\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u0157\15\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\4\5\1\310\12\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\4\5\1\276\12\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\7\5\1\126\7\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\157\1\171" + + "\2\u0136\12\74\4\0\1\4\6\5\1\0\14\5\1\u0138" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\2\5\1\171" + + "\14\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\1\5\1\126\4\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + + "\1\4\2\5\2\0\1\5\1\u0139\1\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\16\5\1\125" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\125\15\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\4\5\1\u013a\12\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\5\1\273\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\5\1\u013b\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\u013c\7\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\2\5\1\273\14\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\12\5\1\u013d\4\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\10\5\1\u013e\3\5\1\126" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u013f" + + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + + "\1\u0140\1\0\21\5\4\0\1\4\6\5\1\0\1\5" + "\1\273\6\5\1\u0141\3\5\1\310\2\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\2\5\1\u0142" + + "\16\5\4\0\1\4\6\5\1\0\1\5\1\367\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\352\6\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\1\5\1\u0143\1\0\21\5" + "\4\0\1\4\6\5\1\0\6\5\1\273\10\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\1\5\1\u0144\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\273\16\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\5\5\1\354\11\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\3\5\1\u0145\13\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\3\5\1\u0146\13\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\10\5\1\u0147\6\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\13\5\1\u0148\3\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\4\5\1\u0149\12\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\13\5\1\u014a\3\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\7\5\1\u014b\2\5\1\u014c\4\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\5\5\1\u014d\11\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\u014e\7\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\314\16\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\2\5\1\u0142\16\5\4\0" + + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\1\265\2\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\15\5\1\u014f\1\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\14\5\1\u0150\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\6\5\1\u0151\12\5\4\0\1\4" + + "\6\5\1\0\5\5\1\u0152\11\5\11\0\1\4\2\5" + "\2\0\1\u0153\1\u0154\1\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\7\5" + "\1\u0155\11\5\4\0\1\4\6\5\1\0\17\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\273\1\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\4\5\1\u0156\12\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u0157\15\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\4\5\1\310\12\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\4\5\1\276\12\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\7\5\1\126\7\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\157\1\171" + "\1\5\1\u0158\1\303\1\u0159\1\u015a\1\5\1\u015b\1\u015c" + "\1\u015d\3\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u015e\1\0\2\5\1\u015f\16\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\u0160\1\0\21\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u0161\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" - + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + "\1\u0162\1\0\21\5\4\0\1\4\6\5\1\0\14\5" + "\1\227\2\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + "\1\u0163\13\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + "\1\u0164\6\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\12\5" + "\1\u0165\4\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + "\1\336\13\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + "\1\u0121\10\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + "\1\u0166\10\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\5\5" + "\1\273\11\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\14\5" + "\1\u0167\2\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\11\5" + "\1\u013f\5\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + "\1\u0168\10\5\11\0\1\4\2\5\2\0\3\5\2\0" - + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u0169\1\0\21\5\4\0\1\4\6\5\1\0" + "\5\5\1\u016a\11\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\313\7\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\10\5\1\u016b\6\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\3\5\1\u016c\13\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\u016d\15\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\4\5\1\u016e\12\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\6\5\1\273\2\5\1\u016f\5\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\1\u0170\20\5\4\0" + "\1\4\6\5\1\0\4\5\1\273\12\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\5\1\144\15\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\10\5\1\125\6\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\2\5\1\u0171\16\5\4\0" + "\1\4\6\5\1\0\2\5\2\273\1\5\1\273\11\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\4\5\1\u0172\12\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u0173\4\5" - + "\1\273\2\5\1\u016f\5\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\1\u0170\20\5\4\0\1\4" - + "\6\5\1\0\6\5\1\u0174\2\5\1\u0175\4\5\1\347" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\3\5\1\u0176\3\5" + "\1\u0177\7\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\1\5\1\u0178\1\0\21\5\4\0\1\4\6\5\1\0" + "\5\5\1\303\11\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u015e\1\0\2\5\1\u015f\16\5\4\0\1\4" + + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\1\5\1\u0160\1\0\21\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u0161\1\0\21\5\4\0\1\4\6\5\1\0" + + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\1\5" + + "\1\u0162\1\0\21\5\4\0\1\4\6\5\1\0\14\5" + "\1\227\2\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + + "\1\u0163\13\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\10\5" + "\1\u0164\6\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\12\5" + + "\1\u0165\4\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\3\5" + "\1\336\13\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + + "\1\u0121\10\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + "\1\u0166\10\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\5\5" + + "\1\273\11\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\14\5" + "\1\u0167\2\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\11\5" + + "\1\u013f\5\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\6\5" + "\1\u0168\10\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u0169\1\0\21\5\4\0\1\4\6\5\1\0" + + "\5\5\1\u016a\11\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\313\7\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\10\5\1\u016b\6\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\3\5\1\u016c\13\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\5\1\u016d\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\4\5\1\u016e\12\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\6\5\1\273\2\5\1\u016f\5\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\1\u0170\20\5\4\0" + "\1\4\6\5\1\0\4\5\1\273\12\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\1\5\1\144\15\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\10\5\1\125\6\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\2\5\1\u0171\16\5\4\0" + "\1\4\6\5\1\0\2\5\2\273\1\5\1\273\11\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\4\5\1\u0172\12\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u0173\4\5" + + "\1\273\2\5\1\u016f\5\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\1\u0170\20\5\4\0\1\4" + "\6\5\1\0\6\5\1\u0174\2\5\1\u0175\4\5\1\347" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\3\5\1\u0176\3\5" + "\1\u0177\7\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\5\1\u0178\1\0\21\5\4\0\1\4\6\5\1\0" + + "\5\5\1\303\11\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\216\1\0\21\5\4\0\33\u0101\1\203" + "\7\u0101\1\0\102\u0101\3\201\1\u0105\4\201\3\u0101\1\0" - + "\57\u0101\1\201\25\u0101\1\u0102\5\u0101\1\201\1\u0101\1\0" + "\3\u0101\1\201\26\u0101\2\201\16\u0101\33\0\1\u0102\62\0" + + "\57\u0101\1\201\25\u0101\1\u0102\5\u0101\1\201\1\u0101\1\0" + + "\3\u0101\1\201\26\u0101\2\201\16\u0101\33\0\1\u0102\62\0" + "\5\u0101\1\u0104\25\u0101\1\u0102\5\u0101\1\u0104\1\u0101\1\0" + "\3\u0101\1\u0104\26\u0101\2\u0104\21\u0101\4\u0179\1\u0101\3\u0179" + "\6\u0101\1\u0179\2\u0101\1\u0179\6\u0101\1\203\5\u0101\1\u0179" + "\1\u0101\1\0\2\u0101\2\u0179\5\u0101\1\u0179\20\u0101\2\u0179" - + "\2\u0101\2\u0179\5\u0101\1\u0179\4\u0101\3\206\4\u017a\1\206" + "\3\u017a\6\206\1\u017a\2\206\1\u017a\13\206\1\u0109\1\u017a" - + "\2\206\1\u010a\1\206\2\u017a\5\206\1\u017a\20\206\2\u017a" + "\2\206\2\u017a\5\206\1\u017a\47\206\1\0\52\206\1\4" - + "\6\5\1\0\1\313\16\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\14\5\1\u017b\2\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\1\5\1\336\4\5\1\u017c\5\5\1\u017d\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\14\5\1\u017e\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\14\5\1\u017f\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\1\u0180\20\5" - + "\4\0\3\74\4\u0111\1\0\3\u0111\2\74\1\u0181\3\74" + "\1\u0111\1\u0182\1\74\1\u0111\2\74\11\0\1\74\1\u0111" - + "\1\74\2\0\1\74\2\u0111\2\0\1\u0182\1\u0181\1\0" + "\1\u0111\1\0\3\74\4\0\2\74\1\0\5\74\2\u0111" - + "\2\74\2\u0111\5\74\1\u0111\4\0\7\4\1\0\2\4" + "\1\223\14\4\11\0\3\4\2\0\3\4\2\0\2\4" + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" - + "\4\0\7\4\1\0\1\u0183\16\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + "\2\4\1\0\21\4\4\0\7\4\1\0\3\4\1\u0184" - + "\2\4\1\u0185\10\4\11\0\3\4\2\0\3\4\2\0" + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\4\0\7\4\1\0\7\4\1\u0186\7\4\11\0" - + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + "\1\u0187\3\4\1\u0119\12\4\11\0\3\4\2\0\3\4" - + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + "\1\0\21\4\4\0\7\4\1\0\11\4\1\u0188\5\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" - + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + "\1\0\4\4\1\u0185\12\4\11\0\3\4\2\0\3\4" + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" - + "\1\0\21\4\4\0\7\4\1\0\1\u0187\16\4\11\0" + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + + "\2\u0101\2\u0179\5\u0101\1\u0179\4\u0101\3\206\4\u017a\1\206" + + "\3\u017a\6\206\1\u017a\2\206\1\u017a\13\206\1\u0109\1\u017a" + + "\2\206\1\u010a\1\206\2\u017a\5\206\1\u017a\20\206\2\u017a" + + "\2\206\2\u017a\5\206\1\u017a\47\206\1\0\52\206\1\4" + "\6\5\1\0\1\313\16\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\14\5\1\u017b\2\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\1\5\1\336\4\5\1\u017c\5\5\1\u017d\2\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\14\5\1\u017e\2\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\14\5\1\u017f\2\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\1\u0180\20\5" + "\4\0\3\74\4\u0111\1\0\3\u0111\2\74\1\u0181\3\74" + + "\1\u0111\1\u0182\1\74\1\u0111\2\74\11\0\1\74\1\u0111" + "\1\74\2\0\1\74\2\u0111\2\0\1\u0182\1\u0181\1\0" + + "\1\u0111\1\0\3\74\4\0\2\74\1\0\5\74\2\u0111" + "\2\74\2\u0111\5\74\1\u0111\4\0\7\4\1\0\2\4" + + "\1\223\14\4\11\0\3\4\2\0\3\4\2\0\2\4" + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" + + "\4\0\7\4\1\0\1\u0183\16\4\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + + "\2\4\1\0\21\4\4\0\7\4\1\0\3\4\1\u0184" + "\2\4\1\u0185\10\4\11\0\3\4\2\0\3\4\2\0" + + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\4\0\7\4\1\0\7\4\1\u0186\7\4\11\0" + + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + + "\1\u0187\3\4\1\u0119\12\4\11\0\3\4\2\0\3\4" + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + + "\1\0\21\4\4\0\7\4\1\0\11\4\1\u0188\5\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + "\1\0\4\4\1\u0185\12\4\11\0\3\4\2\0\3\4" + + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + "\1\0\21\4\4\0\7\4\1\0\1\u0187\16\4\11\0" + + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + "\14\4\1\u0189\2\4\11\0\3\4\2\0\3\4\2\0" + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" - + "\21\4\15\0\1\u018a\120\0\1\u018b\1\u018c\1\0\1\u018d" + "\110\0\1\u018e\1\0\1\u018f\114\0\1\u0190\116\0\1\u0191" - + "\120\0\1\u0192\76\0\1\4\6\5\1\0\1\5\1\273" + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\2\5\1\u0193" + "\1\5\1\u0194\12\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\u0195\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\21\4\15\0\1\u018a\120\0\1\u018b\1\u018c\1\0\1\u018d" + + "\110\0\1\u018e\1\0\1\u018f\114\0\1\u0190\116\0\1\u0191" + "\120\0\1\u0192\76\0\1\4\6\5\1\0\1\5\1\273" + + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\2\5\1\u0193" + "\1\5\1\u0194\12\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\1\5\1\u0195\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\2\5\1\171\1\5\1\u0158\1\303\1\u0159\1\u0196\1\5" - + "\1\u015b\1\5\1\u015d\3\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\5\1\u0197\1\0\2\5\1\u015f\16\5" - + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\u0198\1\0\21\5\4\0" - + "\1\4\6\5\1\0\14\5\1\u0199\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\10\5\1\u019a\6\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\5\5\1\270\11\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\15\0" - + "\1\u012a\174\0\1\u019b\50\0\1\u019c\146\0\1\u019d\52\0" + "\1\u012e\174\0\1\u019e\50\0\1\u019f\146\0\1\u01a0\41\0" - + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\16\5\1\u01a1\2\5\4\0" - + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\1\5\1\u01a1\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\13\5\1\u01a1\5\5\4\0\1\4" - + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\15\5\1\u01a1\3\5\4\0\1\4" - + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\11\5\1\u01a2\7\5\4\0\3\74" + + "\1\u015b\1\5\1\u015d\3\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\1\5\1\u0197\1\0\2\5\1\u015f\16\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\u0198\1\0\21\5\4\0" + + "\1\4\6\5\1\0\14\5\1\u0199\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\10\5\1\u019a\6\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\5\5\1\270\11\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\15\0" + "\1\u012a\174\0\1\u019b\50\0\1\u019c\146\0\1\u019d\52\0" + + "\1\u012e\174\0\1\u019e\50\0\1\u019f\146\0\1\u01a0\41\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\16\5\1\u01a1\2\5\4\0" + + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\1\5\1\u01a1\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\13\5\1\u01a1\5\5\4\0\1\4" + + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\15\5\1\u01a1\3\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\11\5\1\u01a2\7\5\4\0\3\74" + "\1\u0136\1\74\1\u0136\1\74\1\0\2\74\1\262\2\74" + "\1\262\11\74\11\0\1\74\1\u0136\1\74\2\0\2\74" + "\1\u0136\2\0\1\74\1\262\1\0\1\262\1\0\3\74" + "\4\0\2\74\1\0\5\74\2\u0136\12\74\7\0\1\u0136" + "\1\0\1\u0136\33\0\1\u0136\5\0\1\u0136\26\0\2\u0136" + "\16\0\1\4\6\5\1\0\12\5\1\u01a3\4\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\5\5\1\u01a4\11\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\10\5\1\273\6\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\u016b\7\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\10\5\1\u013e\6\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\6\5\1\u01a5\10\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\273\7\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\1\5\1\273\17\5" + "\4\0\1\4\6\5\1\0\13\5\1\164\3\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\13\5\1\303\3\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\13\5\1\273\3\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\6\5\1\273\2\5\1\273" - + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\1\u01a6\20\5\4\0\1\4\6\5\1\0\6\5" - + "\1\273\2\5\1\273\1\5\1\164\3\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\1\u01a6\20\5" - + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\u0121\1\0\21\5\4\0" - + "\1\4\6\5\1\0\15\5\1\u0171\1\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\1\u01a7\20\5\4\0\1\4" - + "\6\5\1\0\14\5\1\u01a8\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\u01a9\1\0\21\5\4\0\1\4\6\5" - + "\1\0\13\5\1\u01a7\3\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\3\5\1\u01aa\13\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\4\5\1\u01ab\12\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\4\5\1\u01ac\6\5\1\u01ad\3\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\14\5\1\u01ae\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\7\5\1\u0155\11\5\4\0" - + "\1\4\6\5\1\0\5\5\1\u01af\11\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\2\5\1\273\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\10\5\1\u01b0\6\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\1\5" + "\1\u0154\1\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\12\5\1\276\4\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\16\5\1\u0142\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\1\5\1\u010b\12\5\1\354\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\1\5\1\126\4\5\1\0\10\5\1\u01b1\6\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\11\5\1\u01b2\5\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\13\5\1\367\3\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\u013e" - + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u01b3" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u01b4" + "\1\5\1\311\2\5\1\u01b5\1\272\1\5\1\u0142\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\1\u013e\1\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\11\5\1\u0168\5\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\1\5\1\u01b6\1\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\u01b7\6\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\2\5\1\u01b8\14\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\3\5\1\u01b9\13\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\11\5\1\u01ba\5\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u01bb\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\6\5\1\u01bc\10\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" - + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\1\u0121\2\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\u01bd\7\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u01be\15\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\u01bf\7\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" - + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\1\5\1\125\1\0\21\5\4\0" + "\1\4\6\5\1\0\3\5\1\u01c0\13\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\10\5\1\u0180\6\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\4\5\1\125\12\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\15\5\1\u01c1\1\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" - + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\1\5\1\u01c2\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\1\5\1\276\1\0\21\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\1\u01c3\1\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\u016f\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\3\5\1\272\13\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\5\5\1\273\13\5\4\0\1\4\6\5\1\0" + "\4\5\1\u01c4\12\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\272\15\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\13\5\1\u01b5\2\5\1\u0142\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\1\u013e\1\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\4\5\1\u0171\12\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\1\5\1\u0178\1\0\21\5\4\0\1\4\6\5" + "\1\0\10\5\1\u01c5\6\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\21\5\4\0\3\u0101\4\201" + "\1\u0101\3\201\6\u0101\1\201\2\u0101\1\201\6\u0101\1\203" - + "\5\u0101\1\201\1\u0101\1\0\2\u0101\2\201\5\u0101\1\201" + "\20\u0101\2\201\2\u0101\2\201\5\u0101\1\201\4\u0101\3\206" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\5\5\1\u01a4\11\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\10\5\1\273\6\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\7\5\1\u016b\7\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\10\5\1\u013e\6\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\6\5\1\u01a5\10\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\273\7\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\1\5\1\273\17\5" + "\4\0\1\4\6\5\1\0\13\5\1\164\3\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\13\5\1\303\3\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\13\5\1\273\3\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\6\5\1\273\2\5\1\273" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\1\u01a6\20\5\4\0\1\4\6\5\1\0\6\5" + + "\1\273\2\5\1\273\1\5\1\164\3\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\1\u01a6\20\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\u0121\1\0\21\5\4\0" + + "\1\4\6\5\1\0\15\5\1\u0171\1\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\1\u01a7\20\5\4\0\1\4" + + "\6\5\1\0\14\5\1\u01a8\2\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\u01a9\1\0\21\5\4\0\1\4\6\5" + + "\1\0\13\5\1\u01a7\3\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\3\5\1\u01aa\13\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\4\5\1\u01ab\12\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\4\5\1\u01ac\6\5\1\u01ad\3\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\14\5\1\u01ae\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\7\5\1\u0155\11\5\4\0" + + "\1\4\6\5\1\0\5\5\1\u01af\11\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + + "\2\5\1\273\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\10\5\1\u01b0\6\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\1\5" + + "\1\u0154\1\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\12\5\1\276\4\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\16\5\1\u0142\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\1\5\1\u010b\12\5\1\354\2\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\1\5\1\126\4\5\1\0\10\5\1\u01b1\6\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\11\5\1\u01b2\5\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\13\5\1\367\3\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\u013e" + + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u01b3" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\6\5\1\u01b4" + + "\1\5\1\311\2\5\1\u01b5\1\272\1\5\1\u0142\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\1\u013e\1\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\11\5\1\u0168\5\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\1\5\1\u01b6\1\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\u01b7\6\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\2\5\1\u01b8\14\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\3\5\1\u01b9\13\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\11\5\1\u01ba\5\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u01bb\15\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\6\5\1\u01bc\10\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + + "\2\5\2\0\1\u0121\2\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\7\5\1\u01bd\7\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\5\1\u01be\15\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\7\5\1\u01bf\7\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\125\1\0\21\5\4\0" + + "\1\4\6\5\1\0\3\5\1\u01c0\13\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\10\5\1\u0180\6\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\4\5\1\125\12\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\15\5\1\u01c1\1\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\1\5\1\u01c2\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\276\1\0\21\5\4\0\1\4\6\5" + + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\1\u01c3\1\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\11\5\1\u016f\5\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\3\5\1\272\13\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\5\5\1\273\13\5\4\0\1\4\6\5\1\0" + + "\4\5\1\u01c4\12\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\1\5\1\272\15\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\13\5\1\u01b5\2\5\1\u0142\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\1\u013e\1\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\4\5\1\u0171\12\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\1\5\1\u0178\1\0\21\5\4\0\1\4\6\5" + "\1\0\10\5\1\u01c5\6\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\3\u0101\4\201" + + "\1\u0101\3\201\6\u0101\1\201\2\u0101\1\201\6\u0101\1\203" + + "\5\u0101\1\201\1\u0101\1\0\2\u0101\2\201\5\u0101\1\201" + + "\20\u0101\2\201\2\u0101\2\201\5\u0101\1\201\4\u0101\3\206" + "\4\41\1\206\3\41\6\206\1\41\2\206\1\41\13\206" + "\1\u0109\1\41\2\206\1\u010a\1\206\2\41\5\206\1\41" - + "\20\206\2\41\2\206\2\41\5\206\1\41\4\206\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\1\5\1\236\1\0\21\5\4\0\1\4\6\5" + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" - + "\1\5\1\u01c6\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\u01c7\7\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\u01c8\7\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" - + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" - + "\1\0\1\5\1\125\17\5\4\0\1\4\6\5\1\0" + "\11\5\1\273\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\20\206\2\41\2\206\2\41\5\206\1\41\4\206\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\1\5\1\236\1\0\21\5\4\0\1\4\6\5" + + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\1\5\1\u01c6\1\0\21\5\4\0\1\4\6\5\1\0" + "\7\5\1\u01c7\7\5\11\0\1\4\2\5\2\0\3\5" + + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + + "\7\5\1\u01c8\7\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\1\5\1\125\17\5\4\0\1\4\6\5\1\0" + + "\11\5\1\273\5\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\21\5\4\0\7\74\1\0\12\74" + "\1\u01c9\4\74\11\0\3\74\2\0\3\74\2\0\1\u01c9" + "\1\74\1\0\1\74\1\0\3\74\4\0\2\74\1\0" + "\21\74\4\0\7\74\1\0\5\74\1\u01c9\11\74\11\0" - + "\3\74\2\0\3\74\2\0\1\74\1\u01c9\1\0\1\74" + "\1\0\3\74\4\0\2\74\1\0\21\74\4\0\7\4" + "\1\0\3\4\1\u0184\13\4\11\0\3\4\2\0\3\4" - + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + "\1\0\21\4\4\0\7\4\1\0\2\4\1\u01ca\14\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" - + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + "\1\0\1\4\1\u01ca\15\4\11\0\3\4\2\0\3\4" + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" - + "\1\0\21\4\4\0\7\4\1\0\10\4\1\u01cb\6\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" - + "\1\0\1\4\1\u0184\15\4\11\0\3\4\2\0\3\4" + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + "\1\0\21\4\4\0\7\4\1\0\5\4\1\u01cc\11\4" - + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + "\1\0\15\4\1\u01cd\1\4\11\0\3\4\2\0\3\4" + + "\3\74\2\0\3\74\2\0\1\74\1\u01c9\1\0\1\74" + "\1\0\3\74\4\0\2\74\1\0\21\74\4\0\7\4" + + "\1\0\3\4\1\u0184\13\4\11\0\3\4\2\0\3\4" + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + + "\1\0\21\4\4\0\7\4\1\0\2\4\1\u01ca\14\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + "\1\0\1\4\1\u01ca\15\4\11\0\3\4\2\0\3\4" + + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + "\1\0\21\4\4\0\7\4\1\0\10\4\1\u01cb\6\4" + + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + + "\1\0\1\4\1\u0184\15\4\11\0\3\4\2\0\3\4" + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + + "\1\0\21\4\4\0\7\4\1\0\5\4\1\u01cc\11\4" + "\11\0\3\4\2\0\3\4\2\0\2\4\1\0\1\4" + + "\1\0\3\4\4\0\2\4\1\0\21\4\4\0\7\4" + "\1\0\15\4\1\u01cd\1\4\11\0\3\4\2\0\3\4" + "\2\0\2\4\1\0\1\4\1\0\3\4\4\0\2\4" + "\1\0\21\4\16\0\1\u011e\113\0\1\u01ce\120\0\1\u01cf" - + "\2\0\1\u01d0\116\0\1\u01d1\106\0\1\u01d2\3\0\1\u0191" + "\122\0\1\u01d3\110\0\1\u01d0\111\0\1\u01d2\131\0\1\u01d4" - + "\71\0\1\4\6\5\1\0\3\5\1\u01d5\13\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\14\5\1\u01bb\2\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\1\u01d6\16\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" - + "\1\4\6\5\1\0\11\5\1\u01b3\5\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\5\1\u01d7\1\0\21\5" - + "\4\0\1\4\6\5\1\0\10\5\1\u01d8\6\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\10\5\1\u01d9\6\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\7\5\1\u01da\7\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" - + "\4\0\1\4\6\5\1\0\16\5\1\u01db\11\0\1\4" + "\2\5\2\0\1\5\1\273\1\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\36\0\1\u01dc\101\0\1\u012a\51\0\1\u019b\26\0" + "\1\u019d\1\u01dd\4\u019d\1\u01dd\17\u019d\3\u01dd\1\u019d\1\u01dd" - + "\2\0\2\u01dd\1\0\2\u019d\2\0\3\u019d\1\0\1\u01dd" + "\2\u019d\1\u01dd\1\u019d\1\0\1\u01dd\1\u019d\5\u01dd\2\u019d" - + "\1\u01dd\21\u019d\1\0\1\u01dd\34\0\1\u01de\101\0\1\u012e" + "\51\0\1\u019e\26\0\1\u01a0\1\u01df\4\u01a0\1\u01df\17\u01a0" - + "\3\u01df\1\u01a0\1\u01df\2\0\2\u01df\1\0\2\u01a0\2\0" + "\3\u01a0\1\0\1\u01df\2\u01a0\1\u01df\1\u01a0\1\0\1\u01df" + + "\2\0\1\u01d0\116\0\1\u01d1\106\0\1\u01d2\3\0\1\u0191" + + "\122\0\1\u01d3\110\0\1\u01d0\111\0\1\u01d2\131\0\1\u01d4" + "\71\0\1\4\6\5\1\0\3\5\1\u01d5\13\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\14\5\1\u01bb\2\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\u01d6\16\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\11\5\1\u01b3\5\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\1\5\1\u01d7\1\0\21\5" + "\4\0\1\4\6\5\1\0\10\5\1\u01d8\6\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\10\5\1\u01d9\6\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\7\5\1\u01da\7\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\16\5\1\u01db\11\0\1\4" + "\2\5\2\0\1\5\1\273\1\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\36\0\1\u01dc\101\0\1\u012a\51\0\1\u019b\26\0" + + "\1\u019d\1\u01dd\4\u019d\1\u01dd\17\u019d\3\u01dd\1\u019d\1\u01dd" + + "\2\0\2\u01dd\1\0\2\u019d\2\0\3\u019d\1\0\1\u01dd" + + "\2\u019d\1\u01dd\1\u019d\1\0\1\u01dd\1\u019d\5\u01dd\2\u019d" + + "\1\u01dd\21\u019d\1\0\1\u01dd\34\0\1\u01de\101\0\1\u012e" + + "\51\0\1\u019e\26\0\1\u01a0\1\u01df\4\u01a0\1\u01df\17\u01a0" + + "\3\u01df\1\u01a0\1\u01df\2\0\2\u01df\1\0\2\u01a0\2\0" + + "\3\u01a0\1\0\1\u01df\2\u01a0\1\u01df\1\u01a0\1\0\1\u01df" + "\1\u01a0\5\u01df\2\u01a0\1\u01df\21\u01a0\1\0\1\u01df\2\0" + "\1\4\5\5\1\u01e0\1\0\17\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" - + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + "\4\0\2\5\1\0\20\5\1\u01e0\4\0\1\4\6\5" + "\1\0\5\5\1\u0168\11\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\1\5\1\313\15\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\6\5\1\273\2\5\1\273\5\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\1\5\1\u013e\15\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\11\5\1\u0121\5\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\7\5\1\354\7\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\4\5\1\272\12\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\11\5\1\272\5\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\12\5\1\u01bb\4\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" - + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\1\u01e1\1\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\13\5\1\u01a5\3\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\1\5\1\u01e2\15\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\1\5\1\155\1\0\21\5\4\0" + "\1\4\6\5\1\0\11\5\1\u01e3\5\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\2\5\1\125\14\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\13\5\1\u01b5\1\272\1\5\1\u0142" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\1\u013e\1\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\13\5\1\367\3\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" - + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\4\5\1\273\14\5" + "\4\0\1\4\6\5\1\0\7\5\1\u013f\7\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\1\273\4\5\1\273\4\5" - + "\1\354\4\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\1\5\1\273\17\5\4\0\1\4\6\5" - + "\1\0\7\5\1\u01bb\7\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\11\5\1\125\5\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" - + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\1\125\1\5\1\0\21\5\4\0\1\4\6\5\1\0" - + "\16\5\1\273\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\u01e4" + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\u01e5" - + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\5\1\u01e6\1\0" + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u01e7\15\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\4\5\1\u01e8\12\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\4\5\1\u01e9\12\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\11\5\1\273\5\5" - + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\1\u0180\20\5\4\0\1\4\6\5\1\0\14\5\1\u013e" - + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" - + "\1\4\2\5\2\0\1\273\2\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" - + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\1\u01ea\20\5" + "\4\0\1\4\6\5\1\0\14\5\1\144\2\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\15\5\1\273\1\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\11\5\1\u01a5\5\5\11\0" - + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\7\4\1\0\7\4\1\u01ca\7\4\11\0\3\4" - + "\2\0\3\4\2\0\2\4\1\0\1\4\1\0\3\4" + "\4\0\2\4\1\0\21\4\4\0\7\4\1\0\12\4" + "\1\u01eb\4\4\11\0\3\4\2\0\3\4\2\0\2\4" - + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" + "\4\0\7\4\1\0\16\4\1\u01ec\11\0\3\4\2\0" + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" - + "\2\4\1\0\21\4\17\0\1\u01cf\114\0\1\u01ed\114\0" + "\1\u01ed\124\0\1\u01ee\106\0\1\u01cf\121\0\1\u01ef\125\0" - + "\1\u01f0\70\0\1\4\6\5\1\0\5\5\1\u0121\11\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u01b1\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\10\5\1\u01f1\6\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" - + "\21\5\4\0\1\4\6\5\1\0\1\273\4\5\1\273" + "\4\5\1\354\3\5\1\120\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" - + "\1\4\4\0\2\5\1\0\1\5\1\273\17\5\4\0" + "\1\4\6\5\1\0\16\5\1\u01db\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\1\5" + "\1\273\1\5\2\0\2\5\1\0\1\5\1\0\1\4" - + "\1\5\1\4\4\0\2\5\1\0\21\5\36\0\1\u019d" + "\115\0\1\u01a0\63\0\1\4\1\5\1\u01f2\4\5\1\0" - + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\273" - + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u01f3" - + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\u01d5" - + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u01f4" - + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\10\5\1\276" - + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u013e" - + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\12\5\1\270" - + "\4\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u010b" - + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\306" - + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\7\4\1\0\1\u0185\16\4\11\0" - + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + "\14\4\1\u01ca\2\4\11\0\3\4\2\0\3\4\2\0" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\3\5" + "\2\0\2\5\1\0\1\5\1\0\1\4\1\5\1\4" + + "\4\0\2\5\1\0\20\5\1\u01e0\4\0\1\4\6\5" + "\1\0\5\5\1\u0168\11\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\1\5\1\313\15\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\6\5\1\273\2\5\1\273\5\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\1\5\1\u013e\15\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\11\5\1\u0121\5\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\7\5\1\354\7\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\4\5\1\272\12\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\11\5\1\272\5\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\12\5\1\u01bb\4\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\17\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\1\u01e1\1\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\13\5\1\u01a5\3\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\1\5\1\u01e2\15\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\1\5\1\155\1\0\21\5\4\0" + "\1\4\6\5\1\0\11\5\1\u01e3\5\5\11\0\1\4" + + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + + "\1\4\6\5\1\0\2\5\1\125\14\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\21\5\4\0" + "\1\4\6\5\1\0\13\5\1\u01b5\1\272\1\5\1\u0142" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\1\u013e\1\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\13\5\1\367\3\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\4\5\1\273\14\5" + "\4\0\1\4\6\5\1\0\7\5\1\u013f\7\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\1\273\4\5\1\273\4\5" + "\1\354\4\5\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\1\5\1\273\17\5\4\0\1\4\6\5" + + "\1\0\7\5\1\u01bb\7\5\11\0\1\4\2\5\2\0" + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + "\1\0\11\5\1\125\5\5\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\21\5\4\0\1\4\6\5" + + "\1\0\17\5\11\0\1\4\2\5\2\0\3\5\2\0" + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + + "\1\125\1\5\1\0\21\5\4\0\1\4\6\5\1\0" + "\16\5\1\273\11\0\1\4\2\5\2\0\3\5\2\0" + + "\2\5\1\0\1\5\1\0\1\4\1\5\1\4\4\0" + "\2\5\1\0\21\5\4\0\1\4\6\5\1\0\17\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\1\5\1\u01e4" + + "\1\0\21\5\4\0\1\4\6\5\1\0\4\5\1\u01e5" + "\12\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\1\5\1\u01e6\1\0" + + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u01e7\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\4\5\1\u01e8\12\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\4\5\1\u01e9\12\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\11\5\1\273\5\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\1\u0180\20\5\4\0\1\4\6\5\1\0\14\5\1\u013e" + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\17\5\11\0" + + "\1\4\2\5\2\0\1\273\2\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\17\5\11\0\1\4" + "\2\5\2\0\3\5\2\0\2\5\1\0\1\5\1\0" + + "\1\4\1\5\1\4\4\0\2\5\1\0\1\u01ea\20\5" + "\4\0\1\4\6\5\1\0\14\5\1\144\2\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\1\4\6\5\1\0\15\5\1\273\1\5\11\0" + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + "\4\0\1\4\6\5\1\0\11\5\1\u01a5\5\5\11\0" + + "\1\4\2\5\2\0\3\5\2\0\2\5\1\0\1\5" + "\1\0\1\4\1\5\1\4\4\0\2\5\1\0\21\5" + + "\4\0\7\4\1\0\7\4\1\u01ca\7\4\11\0\3\4" + "\2\0\3\4\2\0\2\4\1\0\1\4\1\0\3\4" + + "\4\0\2\4\1\0\21\4\4\0\7\4\1\0\12\4" + "\1\u01eb\4\4\11\0\3\4\2\0\3\4\2\0\2\4" + + "\1\0\1\4\1\0\3\4\4\0\2\4\1\0\21\4" + "\4\0\7\4\1\0\16\4\1\u01ec\11\0\3\4\2\0" + + "\3\4\2\0\2\4\1\0\1\4\1\0\3\4\4\0" + "\2\4\1\0\21\4\17\0\1\u01cf\114\0\1\u01ed\114\0" + + "\1\u01ed\124\0\1\u01ee\106\0\1\u01cf\121\0\1\u01ef\125\0" + "\1\u01f0\70\0\1\4\6\5\1\0\5\5\1\u0121\11\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\1\5\1\u01b1\15\5" + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + "\21\5\4\0\1\4\6\5\1\0\10\5\1\u01f1\6\5" + + "\11\0\1\4\2\5\2\0\3\5\2\0\2\5\1\0" + "\1\5\1\0\1\4\1\5\1\4\4\0\2\5\1\0" + + "\21\5\4\0\1\4\6\5\1\0\1\273\4\5\1\273" + "\4\5\1\354\3\5\1\120\11\0\1\4\2\5\2\0" + + "\3\5\2\0\2\5\1\0\1\5\1\0\1\4\1\5" + "\1\4\4\0\2\5\1\0\1\5\1\273\17\5\4\0" + + "\1\4\6\5\1\0\16\5\1\u01db\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\17\5\11\0\1\4\2\5\2\0\1\5" + + "\1\273\1\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\36\0\1\u019d" + + "\115\0\1\u01a0\63\0\1\4\1\5\1\u01f2\4\5\1\0" + "\17\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\273" + + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\u01f3" + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\14\5\1\u01d5" + + "\2\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u01f4" + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\10\5\1\276" + + "\6\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\7\5\1\u013e" + "\7\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\12\5\1\270" + + "\4\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\1\4\6\5\1\0\1\5\1\u010b" + "\15\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + "\1\0\21\5\4\0\1\4\6\5\1\0\11\5\1\306" + + "\5\5\11\0\1\4\2\5\2\0\3\5\2\0\2\5" + "\1\0\1\5\1\0\1\4\1\5\1\4\4\0\2\5" + + "\1\0\21\5\4\0\7\4\1\0\1\u0185\16\4\11\0" + "\3\4\2\0\3\4\2\0\2\4\1\0\1\4\1\0" + + "\3\4\4\0\2\4\1\0\21\4\4\0\7\4\1\0" + "\14\4\1\u01ca\2\4\11\0\3\4\2\0\3\4\2\0" + "\2\4\1\0\1\4\1\0\3\4\4\0\2\4\1\0" + "\21\4\23\0\1\u01ed\120\0\1\u01f5\121\0\1\u01f6\67\0" - + "\1\4\6\5\1\0\16\5\1\120\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\1\5\1\u01f7\4\5\1\0\17\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\10\5\1\u0173\6\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" - + "\6\5\1\0\7\5\1\125\7\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\14\0\1\u01d0" - + "\131\0\1\u01ed\71\0"; - + + "\1\4\6\5\1\0\16\5\1\120\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\1\5\1\u01f7\4\5\1\0\17\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + + "\6\5\1\0\10\5\1\u0173\6\5\11\0\1\4\2\5" + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + + "\1\5\1\4\4\0\2\5\1\0\21\5\4\0\1\4" + "\6\5\1\0\7\5\1\125\7\5\11\0\1\4\2\5" + + "\2\0\3\5\2\0\2\5\1\0\1\5\1\0\1\4" + "\1\5\1\4\4\0\2\5\1\0\21\5\14\0\1\u01d0" + "\131\0\1\u01ed\71\0"; + private static int[] zzUnpackTrans() { int[] result = new int[37050]; 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 */ @@ -658,7 +856,7 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -670,17 +868,18 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\25\1\1\11\6\1\1\11\6\1\1\11\1\1" + "\2\11\7\1\1\11\5\1\1\11\105\1\1\0\2\11" - + "\2\1\1\11\3\1\1\11\16\1\1\0\11\1\2\0" + "\1\11\6\0\6\1\1\0\122\1\1\11\7\1\1\11" + "\20\1\6\0\10\1\10\0\6\1\1\0\122\1\4\0" + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\25\1\1\11\6\1\1\11\6\1\1\11\1\1" + + "\2\11\7\1\1\11\5\1\1\11\105\1\1\0\2\11" + "\2\1\1\11\3\1\1\11\16\1\1\0\11\1\2\0" + + "\1\11\6\0\6\1\1\0\122\1\1\11\7\1\1\11" + "\20\1\6\0\10\1\10\0\6\1\1\0\122\1\4\0" + "\1\1\4\0\10\1\2\0\1\1\2\0\56\1\7\0" + "\7\1\4\0\15\1\1\11\3\0\4\1\2\0\1\1"; - + private static int[] zzUnpackAttribute() { int[] result = new int[503]; 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 */ @@ -694,7 +893,7 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -702,8 +901,8 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -713,76 +912,66 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public CTokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -790,21 +979,18 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -813,12 +999,12 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.COMMENT_MULTILINE: - state = MLC; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.COMMENT_MULTILINE: + state = MLC; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -830,36 +1016,34 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -869,34 +1053,31 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public CTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public CTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -912,7 +1093,7 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -922,69 +1103,64 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -995,29 +1171,27 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1036,8 +1210,7 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1077,203 +1250,203 @@ public class CTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 27: { - addToken(Token.PREPROCESSOR); - } - case 31: - break; - case 7: { - addNullToken(); - return firstToken; - } - case 32: - break; - case 24: { - addToken(Token.LITERAL_CHAR); - } - case 33: - break; - case 21: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 34: - break; - case 17: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 35: - break; - case 9: { - addToken(Token.WHITESPACE); - } - case 36: - break; - case 26: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 37: - break; - case 18: { - addToken(Token.ERROR_CHAR); /* - * addNullToken(); return - * firstToken; - */ - } - case 38: - break; - case 25: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 39: - break; - case 14: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 40: - break; - case 15: { - addToken(Token.RESERVED_WORD); - } - case 41: - break; - case 5: { - addToken(Token.SEPARATOR); - } - case 42: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 43: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 44: - break; - case 16: { - start = zzMarkedPos - 2; - yybegin(EOL_COMMENT); - } - case 45: - break; - case 22: { - addToken(Token.FUNCTION); - } - case 46: - break; - case 6: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 47: - break; - case 8: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 48: - break; - case 23: { - addToken(Token.DATA_TYPE); - } - case 49: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 50: - break; - case 19: { - addToken(Token.ERROR_CHAR); - } - case 51: - break; - case 20: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 52: - break; - case 29: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 53: - break; - case 28: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 54: - break; - case 30: { - addToken(Token.RESERVED_WORD_2); - } - case 55: - break; - case 13: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 56: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 57: - break; - case 4: { - addToken(Token.OPERATOR); - } - case 58: - break; - case 10: {} - case 59: - break; - case 11: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 60: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 504: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 505: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 506: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 27: { + addToken(Token.PREPROCESSOR); + } + case 31: + break; + case 7: { + addNullToken(); + return firstToken; + } + case 32: + break; + case 24: { + addToken(Token.LITERAL_CHAR); + } + case 33: + break; + case 21: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 34: + break; + case 17: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 35: + break; + case 9: { + addToken(Token.WHITESPACE); + } + case 36: + break; + case 26: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 37: + break; + case 18: { + addToken(Token.ERROR_CHAR); /* + * addNullToken(); return firstToken; + */ + } + case 38: + break; + case 25: { + addToken(Token.ERROR_STRING_DOUBLE); + } + case 39: + break; + case 14: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 40: + break; + case 15: { + addToken(Token.RESERVED_WORD); + } + case 41: + break; + case 5: { + addToken(Token.SEPARATOR); + } + case 42: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 43: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 44: + break; + case 16: { + start = zzMarkedPos - 2; + yybegin(EOL_COMMENT); + } + case 45: + break; + case 22: { + addToken(Token.FUNCTION); + } + case 46: + break; + case 6: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 47: + break; + case 8: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 48: + break; + case 23: { + addToken(Token.DATA_TYPE); + } + case 49: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 50: + break; + case 19: { + addToken(Token.ERROR_CHAR); + } + case 51: + break; + case 20: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 52: + break; + case 29: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 53: + break; + case 28: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 54: + break; + case 30: { + addToken(Token.RESERVED_WORD_2); + } + case 55: + break; + case 13: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 56: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 57: + break; + case 4: { + addToken(Token.OPERATOR); + } + case 58: + break; + case 10: { + } + case 59: + break; + case 11: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 60: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 504: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 505: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 506: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/ClojureTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/ClojureTokenMaker.java index d4114e2..baa1d7a 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/ClojureTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/ClojureTokenMaker.java @@ -22,24 +22,22 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * The original version of this class was graciously donated by the folks at the * Fiji project. - * This version has been modified to fix a few issues. - * Its original location was + * This version has been modified to fix a few issues. Its original location was * here. *

      * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -49,22 +47,22 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated ClojureTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * */ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -77,7 +75,8 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { private static final String ZZ_CMAP_PACKED = "\11\0\1\57\1\16\1\0\1\37\1\35\22\0\1\60\1\71\1\17" + "\1\53\1\72\1\67\1\67\1\12\1\45\1\50\1\66\1\63\1\73" + "\1\44\1\20\1\70\1\4\1\15\1\15\1\15\4\7\2\5\1\2" + "\1\1\1\64\1\65\1\62\1\36\1\52\3\6\1\42\1\43\1\42" + "\5\3\1\41\13\3\1\40\2\3\1\34\1\11\1\34\1\54\1\61" - + "\1\47\1\23\1\27\1\24\1\76\1\25\1\14\1\104\1\74\1\33" + "\1\105\1\106\1\32\1\77\1\30\1\75\1\22\1\101\1\13\1\21" + + "\1\47\1\23\1\27\1\24\1\76\1\25\1\14\1\104\1\74\1\33" + + "\1\105\1\106\1\32\1\77\1\30\1\75\1\22\1\101\1\13\1\21" + "\1\26\1\10\1\103\1\31\1\100\1\102\1\107\1\55\1\46\1\56" + "\1\51\uff81\0"; /** * Translates characters to character classes @@ -87,20 +86,23 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\1\1\2\0\1\2\1\3\1\4\1\1\2\5\1\1" + "\1\2\2\1\1\6\1\7\14\1\1\10\1\4\1\11" - + "\1\4\1\10\1\4\1\2\4\4\11\1\1\12\1\13" + "\1\14\1\15\2\12\1\16\2\12\1\17\2\20\1\21" + "\1\20\2\22\1\20\1\5\1\20\1\1\1\23\3\0" - + "\6\1\1\24\3\1\1\25\52\1\1\24\4\1\4\0" + "\1\4\3\1\1\26\4\1\1\26\11\1\1\24\13\1" + "\1\13\1\12\4\0\1\21\1\22\1\1\1\21\2\1" - + "\3\0\4\1\1\25\5\1\1\25\4\1\1\24\2\1" + "\2\25\40\1\1\24\1\27\1\25\13\1\1\25\3\1" + "\2\0\2\27\26\1\1\24\10\1\1\25\4\1\4\0" - + "\3\1\2\0\4\1\1\25\4\1\2\25\2\1\1\25" + "\1\24\1\25\3\1\1\30\1\1\1\25\3\1\1\25" + "\3\1\1\24\1\1\1\25\5\1\1\25\3\1\2\0" - + "\26\1\1\25\2\1\1\0\1\31\1\0\1\1\2\0" + "\7\1\1\25\52\1\2\0\1\1\1\0\176\1\1\25" + "\112\1"; - + private static final String ZZ_ACTION_PACKED_0 = "\1\1\2\0\1\2\1\3\1\4\1\1\2\5\1\1" + + "\1\2\2\1\1\6\1\7\14\1\1\10\1\4\1\11" + "\1\4\1\10\1\4\1\2\4\4\11\1\1\12\1\13" + + "\1\14\1\15\2\12\1\16\2\12\1\17\2\20\1\21" + "\1\20\2\22\1\20\1\5\1\20\1\1\1\23\3\0" + + "\6\1\1\24\3\1\1\25\52\1\1\24\4\1\4\0" + "\1\4\3\1\1\26\4\1\1\26\11\1\1\24\13\1" + + "\1\13\1\12\4\0\1\21\1\22\1\1\1\21\2\1" + "\3\0\4\1\1\25\5\1\1\25\4\1\1\24\2\1" + + "\2\25\40\1\1\24\1\27\1\25\13\1\1\25\3\1" + "\2\0\2\27\26\1\1\24\10\1\1\25\4\1\4\0" + + "\3\1\2\0\4\1\1\25\4\1\2\25\2\1\1\25" + "\1\24\1\25\3\1\1\30\1\1\1\25\3\1\1\25" + + "\3\1\1\24\1\1\1\25\5\1\1\25\3\1\2\0" + "\26\1\1\25\2\1\1\0\1\31\1\0\1\1\2\0" + + "\7\1\1\25\52\1\2\0\1\1\1\0\176\1\1\25" + "\112\1"; + private static int[] zzUnpackAction() { int[] result = new int[627]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -114,7 +116,7 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -197,14 +199,14 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { + "\0\ua0e0\0\ua128\0\ua170\0\ua1b8\0\ua200\0\ua248\0\ua290\0\ua2d8" + "\0\ua320\0\ua368\0\ua3b0\0\ua3f8\0\ua440\0\ua488\0\ua4d0\0\ua518" + "\0\ua560\0\ua5a8\0\ua5f0\0\ua638\0\ua680\0\ua6c8\0\ua710\0\ua758" + "\0\ua7a0\0\ua7e8\0\u55c8"; - + private static int[] zzUnpackRowMap() { int[] result = new int[627]; 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 */ @@ -215,510 +217,743 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\4\1\5\1\6\1\7\1\10\1\11\1\7\1\11" + "\1\12\1\13\1\4\1\14\1\15\1\11\1\16\1\17" - + "\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27" + "\1\30\1\31\1\32\1\33\1\34\1\4\1\35\1\36" - + "\4\7\1\37\1\40\2\4\1\34\1\41\1\4\1\42" + "\1\41\2\34\2\36\1\7\1\43\1\35\1\44\1\45" - + "\1\46\1\41\1\35\1\44\2\4\1\47\1\50\1\51" + "\1\52\1\7\1\53\1\7\1\54\1\55\1\7\1\56" - + "\1\57\11\60\1\61\4\60\1\62\1\63\70\60\14\64" + "\1\65\1\64\1\66\12\64\1\67\42\64\1\70\13\64" - + "\113\0\1\71\2\0\1\71\1\0\1\71\2\0\2\71" + "\4\0\13\71\2\0\1\71\1\0\5\71\16\0\1\71" + "\2\0\1\71\1\0\2\71\2\0\14\71\3\0\6\7" - + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\1\72\2\0\1\73\1\74\1\75\1\73\1\74\1\73" - + "\1\72\1\0\1\73\1\76\1\74\2\0\1\77\4\73" + "\1\100\4\73\1\101\1\73\2\0\1\7\1\0\1\102" - + "\1\101\1\76\1\100\1\7\2\0\1\72\2\0\2\72" + "\5\0\1\73\3\7\1\0\1\7\1\0\2\7\1\72" + "\1\0\2\73\1\76\1\73\1\102\7\73\1\72\2\0" + private static final String ZZ_TRANS_PACKED_0 = "\1\4\1\5\1\6\1\7\1\10\1\11\1\7\1\11" + + "\1\12\1\13\1\4\1\14\1\15\1\11\1\16\1\17" + "\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27" + + "\1\30\1\31\1\32\1\33\1\34\1\4\1\35\1\36" + "\4\7\1\37\1\40\2\4\1\34\1\41\1\4\1\42" + + "\1\41\2\34\2\36\1\7\1\43\1\35\1\44\1\45" + "\1\46\1\41\1\35\1\44\2\4\1\47\1\50\1\51" + + "\1\52\1\7\1\53\1\7\1\54\1\55\1\7\1\56" + "\1\57\11\60\1\61\4\60\1\62\1\63\70\60\14\64" + + "\1\65\1\64\1\66\12\64\1\67\42\64\1\70\13\64" + "\113\0\1\71\2\0\1\71\1\0\1\71\2\0\2\71" + + "\4\0\13\71\2\0\1\71\1\0\5\71\16\0\1\71" + "\2\0\1\71\1\0\2\71\2\0\14\71\3\0\6\7" + + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\1\72\2\0\1\73\1\74\1\75\1\73\1\74\1\73" + "\1\72\1\0\1\73\1\76\1\74\2\0\1\77\4\73" + + "\1\100\4\73\1\101\1\73\2\0\1\7\1\0\1\102" + "\1\101\1\76\1\100\1\7\2\0\1\72\2\0\2\72" + + "\5\0\1\73\3\7\1\0\1\7\1\0\2\7\1\72" + "\1\0\2\73\1\76\1\73\1\102\7\73\1\72\2\0" + "\1\73\2\11\1\73\1\11\1\73\1\72\1\0\1\73" + "\1\76\1\11\2\0\1\77\4\73\1\100\4\73\1\101" - + "\1\73\2\0\1\7\1\0\1\73\1\101\1\76\1\100" + "\1\7\2\0\1\72\2\0\2\72\5\0\1\73\3\7" + "\1\0\1\7\1\0\2\7\1\72\1\0\2\73\1\76" - + "\11\73\3\0\6\7\2\0\3\7\2\0\10\7\1\103" + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\20\0\1\104\1\105" - + "\4\0\1\106\1\0\1\107\62\0\6\7\2\0\1\110" + "\1\111\1\7\2\0\1\7\1\112\1\7\1\113\1\7" + "\1\114\6\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\1\110\1\111\1\7\2\0\3\7\1\115\4\7" + "\1\116\1\7\1\117\1\120\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\121\12\7\3\0\1\7\2\77\1\7\1\77\1\7" + "\2\0\2\7\1\77\2\0\1\122\13\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\2\7" + "\1\123\2\7\1\124\1\125\5\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\1\126\1\127\4\7\1\130\5\7\3\0\6\7\2\0" + "\1\131\2\7\2\0\5\7\1\132\6\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\7\1\133\1\7\1\134\10\7\3\0\6\7" + "\2\0\1\135\2\7\2\0\1\7\1\136\1\137\5\7" - + "\1\140\1\7\1\141\1\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\10\7" + "\1\142\3\7\3\0\6\7\2\0\3\7\2\0\3\7" - + "\1\143\6\7\1\144\1\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\145" + "\1\146\4\7\1\147\5\7\3\0\6\7\2\0\3\7" - + "\2\0\10\7\1\150\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\5\7" + "\1\151\1\7\1\152\4\7\3\0\6\7\2\0\1\153" - + "\2\7\2\0\3\7\1\154\7\7\1\155\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\156\13\7\3\0\6\7\2\0\3\7\2\0" - + "\13\7\1\157\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\1\7\1\160\4\7" + "\1\161\5\7\3\0\6\7\2\0\3\7\2\0\3\7" - + "\1\162\1\7\1\163\1\164\4\7\1\165\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\7\1\166\12\7\3\0\6\7\2\0\3\7" - + "\2\0\13\7\1\167\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\170\13\7" + "\3\0\6\7\2\0\3\7\2\0\3\7\1\171\1\7" - + "\1\172\5\7\1\173\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\174" + "\12\7\3\0\6\7\2\0\1\7\1\175\1\7\2\0" - + "\6\7\1\176\1\7\1\177\3\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\2\7\1\200\1\201\10\7\37\0\1\36\17\0\2\36" - + "\32\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\1\7\1\122\2\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\12\0\1\202\36\0\1\203" - + "\50\0\1\204\41\0\1\205\36\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\1\7" + "\1\206\2\7\1\41\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\41\1\7\1\0\2\7" + "\2\0\14\7\65\0\1\41\25\0\5\7\1\207\2\0" + + "\1\73\2\0\1\7\1\0\1\73\1\101\1\76\1\100" + "\1\7\2\0\1\72\2\0\2\72\5\0\1\73\3\7" + + "\1\0\1\7\1\0\2\7\1\72\1\0\2\73\1\76" + "\11\73\3\0\6\7\2\0\3\7\2\0\10\7\1\103" + + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\20\0\1\104\1\105" + + "\4\0\1\106\1\0\1\107\62\0\6\7\2\0\1\110" + "\1\111\1\7\2\0\1\7\1\112\1\7\1\113\1\7" + + "\1\114\6\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\1\110\1\111\1\7\2\0\3\7\1\115\4\7" + "\1\116\1\7\1\117\1\120\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\121\12\7\3\0\1\7\2\77\1\7\1\77\1\7" + + "\2\0\2\7\1\77\2\0\1\122\13\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\2\7" + "\1\123\2\7\1\124\1\125\5\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\1\126\1\127\4\7\1\130\5\7\3\0\6\7\2\0" + + "\1\131\2\7\2\0\5\7\1\132\6\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\1\7\1\133\1\7\1\134\10\7\3\0\6\7" + "\2\0\1\135\2\7\2\0\1\7\1\136\1\137\5\7" + + "\1\140\1\7\1\141\1\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\10\7" + + "\1\142\3\7\3\0\6\7\2\0\3\7\2\0\3\7" + "\1\143\6\7\1\144\1\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\145" + "\1\146\4\7\1\147\5\7\3\0\6\7\2\0\3\7" + + "\2\0\10\7\1\150\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\5\7" + + "\1\151\1\7\1\152\4\7\3\0\6\7\2\0\1\153" + "\2\7\2\0\3\7\1\154\7\7\1\155\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\156\13\7\3\0\6\7\2\0\3\7\2\0" + + "\13\7\1\157\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\1\7\1\160\4\7" + + "\1\161\5\7\3\0\6\7\2\0\3\7\2\0\3\7" + "\1\162\1\7\1\163\1\164\4\7\1\165\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\7\1\166\12\7\3\0\6\7\2\0\3\7" + + "\2\0\13\7\1\167\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\170\13\7" + + "\3\0\6\7\2\0\3\7\2\0\3\7\1\171\1\7" + "\1\172\5\7\1\173\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\174" + "\12\7\3\0\6\7\2\0\1\7\1\175\1\7\2\0" + + "\6\7\1\176\1\7\1\177\3\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\2\7\1\200\1\201\10\7\37\0\1\36\17\0\2\36" + "\32\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + + "\1\0\5\7\14\0\1\7\1\122\2\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\12\0\1\202\36\0\1\203" + + "\50\0\1\204\41\0\1\205\36\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\1\7" + + "\1\206\2\7\1\41\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\41\1\7\1\0\2\7" + "\2\0\14\7\65\0\1\41\25\0\5\7\1\207\2\0" + "\1\210\1\211\1\212\2\0\1\7\1\213\1\214\1\215" + "\1\216\1\217\2\7\1\220\1\221\1\7\1\222\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\1\7\1\223\1\7\1\224\10\7\3\0" + "\6\7\2\0\3\7\2\0\3\7\1\225\10\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\1\122\2\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\1\226\2\7\2\0\5\7\1\227\5\7\1\230" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\1\7\1\231\12\7\3\0\6\7" + "\2\0\3\7\2\0\3\7\1\232\1\7\1\233\5\7" + "\1\234\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\1\7\1\235\12\7\3\0" + "\5\7\1\236\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\3\7" + "\1\237\1\7\1\240\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\5\7\1\241\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\5\7\1\242\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\243\5\7" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\1\7\1\223\1\7\1\224\10\7\3\0" + + "\6\7\2\0\3\7\2\0\3\7\1\225\10\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\1\122\2\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\1\226\2\7\2\0\5\7\1\227\5\7\1\230" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\1\7\1\231\12\7\3\0\6\7" + + "\2\0\3\7\2\0\3\7\1\232\1\7\1\233\5\7" + "\1\234\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\1\7\1\235\12\7\3\0" + "\5\7\1\236\2\0\3\7\2\0\14\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\3\7" + + "\1\237\1\7\1\240\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\5\7\1\241\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\242\6\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\243\5\7" + "\1\244\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\11\60\1\0\4\60" + "\2\0\70\60\16\245\1\0\71\245\17\0\1\246\70\0" + "\14\64\1\0\1\64\1\0\12\64\1\0\42\64\1\0" + "\13\64\26\0\1\247\4\0\1\250\105\0\1\251\104\0" + "\1\252\64\0\6\71\2\0\3\71\3\0\13\71\2\0" - + "\1\71\1\0\5\71\16\0\1\71\2\0\1\71\1\0" + "\2\71\2\0\14\71\1\72\2\0\7\72\1\0\3\72" + "\3\0\13\72\4\0\4\72\3\0\1\72\2\0\2\72" - + "\5\0\1\72\10\0\1\72\1\0\15\72\2\0\6\73" + "\1\72\1\0\3\73\2\0\1\7\13\73\2\0\1\7" + "\1\0\4\73\1\7\2\0\1\72\2\0\2\72\5\0" - + "\1\73\3\7\1\0\1\7\1\0\2\7\1\72\1\0" + "\14\73\1\72\2\0\1\73\1\74\1\75\1\73\1\74" + "\1\73\1\72\1\0\1\73\1\76\1\74\2\0\1\77" - + "\4\73\1\100\4\73\1\253\1\73\2\0\1\7\1\0" + "\1\73\1\253\1\76\1\100\1\7\2\0\1\72\2\0" + "\2\72\5\0\1\73\3\7\1\0\1\7\1\0\2\7" + + "\1\71\1\0\5\71\16\0\1\71\2\0\1\71\1\0" + "\2\71\2\0\14\71\1\72\2\0\7\72\1\0\3\72" + + "\3\0\13\72\4\0\4\72\3\0\1\72\2\0\2\72" + "\5\0\1\72\10\0\1\72\1\0\15\72\2\0\6\73" + + "\1\72\1\0\3\73\2\0\1\7\13\73\2\0\1\7" + "\1\0\4\73\1\7\2\0\1\72\2\0\2\72\5\0" + + "\1\73\3\7\1\0\1\7\1\0\2\7\1\72\1\0" + "\14\73\1\72\2\0\1\73\1\74\1\75\1\73\1\74" + + "\1\73\1\72\1\0\1\73\1\76\1\74\2\0\1\77" + "\4\73\1\100\4\73\1\253\1\73\2\0\1\7\1\0" + + "\1\73\1\253\1\76\1\100\1\7\2\0\1\72\2\0" + "\2\72\5\0\1\73\3\7\1\0\1\7\1\0\2\7" + "\1\72\1\0\2\73\1\76\11\73\1\72\2\0\1\73" + "\2\75\1\73\1\75\1\73\1\72\1\0\1\73\1\76" - + "\1\75\2\0\1\77\4\73\1\100\6\73\2\0\1\7" + "\1\0\2\73\1\76\1\100\1\7\2\0\1\72\2\0" + "\2\72\5\0\1\73\3\7\1\0\1\7\1\0\2\7" - + "\1\72\1\0\2\73\1\76\11\73\1\72\2\0\1\73" + "\2\77\1\73\1\77\1\73\1\72\1\0\1\73\1\76" - + "\1\77\2\0\1\7\4\73\1\100\6\73\2\0\1\7" + "\1\0\2\73\1\76\1\100\1\7\2\0\1\72\2\0" + "\2\72\5\0\1\73\3\7\1\0\1\7\1\0\2\7" + + "\1\75\2\0\1\77\4\73\1\100\6\73\2\0\1\7" + "\1\0\2\73\1\76\1\100\1\7\2\0\1\72\2\0" + + "\2\72\5\0\1\73\3\7\1\0\1\7\1\0\2\7" + "\1\72\1\0\2\73\1\76\11\73\1\72\2\0\1\73" + + "\2\77\1\73\1\77\1\73\1\72\1\0\1\73\1\76" + "\1\77\2\0\1\7\4\73\1\100\6\73\2\0\1\7" + + "\1\0\2\73\1\76\1\100\1\7\2\0\1\72\2\0" + "\2\72\5\0\1\73\3\7\1\0\1\7\1\0\2\7" + "\1\72\1\0\2\73\1\76\11\73\1\72\2\0\1\73" + "\2\254\1\73\1\254\1\73\1\72\1\0\2\73\1\254" - + "\2\0\1\7\13\73\2\0\1\7\1\0\4\73\1\255" + "\2\0\1\72\2\0\2\72\5\0\1\73\1\7\1\255" + "\1\7\1\0\1\7\1\0\2\7\1\72\1\0\14\73" - + "\1\72\2\0\1\73\4\256\1\73\1\72\1\0\1\73" + "\2\256\2\0\1\7\2\73\3\256\1\73\1\256\4\73" - + "\2\0\1\7\1\0\2\73\2\256\1\7\2\0\1\72" + "\2\0\2\72\5\0\1\73\3\7\1\0\1\7\1\0" + "\2\7\1\72\1\0\2\73\1\256\11\73\3\0\6\7" - + "\2\0\1\257\2\7\2\0\13\7\1\260\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\22\0\1\261\110\0\1\262\111\0\1\263" - + "\65\0\6\7\2\0\3\7\2\0\5\7\1\264\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\13\7\1\265\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\266\6\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\10\7\1\267\3\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\1\7\1\270\1\7\2\0\1\7\1\271" + "\1\272\1\273\1\274\7\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\2\7" + "\1\275\1\276\3\7\1\277\4\7\3\0\6\7\2\0" + "\3\7\2\0\12\7\1\300\1\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\1\7\1\112" + "\12\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\301" - + "\12\7\3\0\6\7\2\0\1\264\2\7\2\0\10\7" + "\1\302\1\7\1\141\1\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\1\303\2\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" - + "\12\7\1\304\1\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\4\7\1\305\1\7\1\306" - + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\5\7\1\122\6\7\3\0" + "\6\7\2\0\1\307\2\7\2\0\14\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\1\7\1\310\12\7\3\0\6\7" + "\2\0\1\311\2\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\10\7\1\312" + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\3\7\1\122\10\7\3\0" - + "\6\7\2\0\3\7\2\0\10\7\1\122\2\7\1\313" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\5\7\1\314\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\1\7\1\315\1\122" - + "\11\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\316\10\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\1\317\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\1\7\1\320\3\7\1\321\6\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\2\7" + "\1\322\11\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\2\7" + "\1\122\3\7\1\122\5\7\3\0\6\7\2\0\3\7" - + "\2\0\6\7\1\323\5\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\324\6\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\1\7\1\325\12\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\3\7\1\326\1\7" + "\1\327\6\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\3\7\1\50\10\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\5\7\1\313\2\0\3\7\2\0" + "\10\7\1\330\3\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\3\7\1\331" - + "\10\7\3\0\6\7\2\0\3\7\2\0\4\7\1\332" + "\7\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\1\7\1\333\12\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\12\7\1\334" - + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\335\1\7\1\336\6\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\5\7\1\337\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\6\7\1\340\5\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\12\7\1\341\1\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\3\7\1\342\10\7" - + "\3\0\6\7\2\0\1\343\2\7\2\0\13\7\1\344" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\10\7\1\345\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\7\1\346\12\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\342\5\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\3\7\1\347\10\7\3\0\6\7\2\0\3\7" + "\2\0\11\7\1\350\2\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\10\7" - + "\1\315\3\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\1\122\13\7\3\0\6\7\2\0" - + "\3\7\2\0\12\7\1\351\1\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\352" - + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\6\7\1\353\5\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\354" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\13\7\1\355" - + "\3\0\6\7\2\0\3\7\2\0\6\7\1\303\5\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\1\7\1\356\12\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\3\7\1\357\1\360" - + "\3\7\1\361\3\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\362" + "\12\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" - + "\1\7\1\0\4\7\1\363\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\364\6\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\1\7\1\365\2\7" + "\1\122\1\7\1\366\5\7\2\0\1\7\1\0\4\7" - + "\1\367\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\370" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\2\7\1\371\11\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\2\0\1\7\13\73\2\0\1\7\1\0\4\73\1\255" + "\2\0\1\72\2\0\2\72\5\0\1\73\1\7\1\255" + + "\1\7\1\0\1\7\1\0\2\7\1\72\1\0\14\73" + "\1\72\2\0\1\73\4\256\1\73\1\72\1\0\1\73" + + "\2\256\2\0\1\7\2\73\3\256\1\73\1\256\4\73" + "\2\0\1\7\1\0\2\73\2\256\1\7\2\0\1\72" + + "\2\0\2\72\5\0\1\73\3\7\1\0\1\7\1\0" + "\2\7\1\72\1\0\2\73\1\256\11\73\3\0\6\7" + + "\2\0\1\257\2\7\2\0\13\7\1\260\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\22\0\1\261\110\0\1\262\111\0\1\263" + "\65\0\6\7\2\0\3\7\2\0\5\7\1\264\6\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\13\7\1\265\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\5\7\1\266\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\10\7\1\267\3\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\1\7\1\270\1\7\2\0\1\7\1\271" + + "\1\272\1\273\1\274\7\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\2\7" + + "\1\275\1\276\3\7\1\277\4\7\3\0\6\7\2\0" + "\3\7\2\0\12\7\1\300\1\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\1\7\1\112" + + "\12\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\301" + + "\12\7\3\0\6\7\2\0\1\264\2\7\2\0\10\7" + "\1\302\1\7\1\141\1\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\1\303\2\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\12\7\1\304\1\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\4\7\1\305\1\7\1\306" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\5\7\1\122\6\7\3\0" + "\6\7\2\0\1\307\2\7\2\0\14\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\14\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\1\7\1\310\12\7\3\0\6\7" + + "\2\0\1\311\2\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\10\7\1\312" + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\3\7\1\122\10\7\3\0" + "\6\7\2\0\3\7\2\0\10\7\1\122\2\7\1\313" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\5\7\1\314\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\1\7\1\315\1\122" + "\11\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\316\10\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\1\317\2\7\2\0\14\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\1\7\1\320\3\7\1\321\6\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\2\7" + "\1\322\11\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\2\7" + "\1\122\3\7\1\122\5\7\3\0\6\7\2\0\3\7" + + "\2\0\6\7\1\323\5\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\5\7\1\324\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\1\7\1\325\12\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\3\7\1\326\1\7" + + "\1\327\6\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\3\7\1\50\10\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\5\7\1\313\2\0\3\7\2\0" + "\10\7\1\330\3\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\3\7\1\331" + "\10\7\3\0\6\7\2\0\3\7\2\0\4\7\1\332" + + "\7\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\1\7\1\333\12\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\12\7\1\334" + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\335\1\7\1\336\6\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\5\7\1\337\2\0\3\7" + + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\6\7\1\340\5\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\12\7\1\341\1\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\3\7\1\342\10\7" + "\3\0\6\7\2\0\1\343\2\7\2\0\13\7\1\344" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\10\7\1\345\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\1\7\1\346\12\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\342\5\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\3\7\1\347\10\7\3\0\6\7\2\0\3\7" + + "\2\0\11\7\1\350\2\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\10\7" + + "\1\315\3\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\1\122\13\7\3\0\6\7\2\0" + "\3\7\2\0\12\7\1\351\1\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\352" + + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\6\7\1\353\5\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\354" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\13\7\1\355" + "\3\0\6\7\2\0\3\7\2\0\6\7\1\303\5\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\1\7\1\356\12\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\3\7\1\357\1\360" + "\3\7\1\361\3\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\362" + "\12\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + + "\1\7\1\0\4\7\1\363\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\5\7\1\364\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\1\7\1\365\2\7" + "\1\122\1\7\1\366\5\7\2\0\1\7\1\0\4\7" + + "\1\367\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\370" + + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\2\7\1\371\11\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\46\0\1\372\113\0\1\373\36\0\1\34\14\0" + "\2\34\1\204\24\0\1\34\11\0\2\34\27\0\1\205" + "\1\374\14\205\2\374\1\205\1\0\34\205\2\374\1\375" + "\27\205\3\0\6\7\2\0\3\7\2\0\14\7\2\0" - + "\1\7\1\0\5\7\14\0\1\7\1\35\2\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\1\7\1\376\6\7\1\377\3\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u0100\6\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\10\7\1\u0101\1\7\1\u0102" + "\1\u0103\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\u0104" - + "\12\7\3\0\6\7\2\0\1\u0105\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\1\7\1\u0106\10\7\1\u0107\1\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\10\7\1\u0108\3\7\3\0\5\7\1\u0109\2\0" + "\3\7\2\0\12\7\1\u010a\1\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\1\7\1\u010b\12\7\3\0\6\7\2\0\1\u010c\2\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\3\7\2\0\1\7\1\u010d\12\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\3\7" - + "\1\u010e\10\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\10\7\1\u010d\3\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\5\7\1\u010f\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\u0110\10\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\1\7\1\u0111" + "\12\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\u0112" + "\12\7\3\0\6\7\2\0\1\u0113\1\u0114\1\7\2\0" - + "\4\7\1\122\5\7\1\317\1\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\1\7\1\u0115" - + "\12\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\5\7\1\u0116" + "\2\0\3\7\2\0\1\7\1\112\4\7\1\u0117\5\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\2\7\1\307\11\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\4\7" + "\1\122\5\7\1\u0118\1\7\3\0\6\7\2\0\1\267" + "\2\7\2\0\6\7\1\u0119\5\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\3\7\1\u011a\10\7\3\0\6\7\2\0\3\7\2\0" + "\10\7\1\122\3\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\10\7\1\u011b\3\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\1\7\1\u011c\12\7\3\0" - + "\6\7\2\0\1\303\2\7\2\0\12\7\1\u011d\1\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\4\7\1\u011e\7\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\6\7\1\122\1\7" - + "\1\u011f\3\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\6\7" + "\1\u011d\5\7\3\0\6\7\2\0\1\u0120\2\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\2\7\1\u0121\11\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\22\0\1\u0122\117\0\1\u0123\106\0\1\u0124\104\0" + "\1\u0125\61\0\1\72\2\0\1\73\2\254\1\73\1\254" - + "\1\73\1\72\1\0\1\73\1\76\1\254\2\0\1\7" + "\13\73\2\0\1\7\1\0\2\73\1\76\1\73\1\7" + "\2\0\1\72\2\0\2\72\5\0\1\73\3\7\1\0" - + "\1\7\1\0\2\7\1\72\1\0\2\73\1\76\11\73" + "\3\0\1\7\2\254\1\7\1\254\1\7\2\0\2\7" + "\1\254\2\0\14\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\1\72" + "\2\0\1\73\4\256\1\73\1\72\1\0\1\73\2\256" - + "\2\0\1\7\2\73\3\256\1\73\1\256\2\73\1\253" + "\1\73\2\0\1\7\1\0\1\73\1\253\2\256\1\7" + "\2\0\1\72\2\0\2\72\5\0\1\73\3\7\1\0" - + "\1\7\1\0\2\7\1\72\1\0\2\73\1\256\11\73" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u0126\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\10\7\1\u0127\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\3\7" + + "\1\7\1\0\5\7\14\0\1\7\1\35\2\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\1\7\1\376\6\7\1\377\3\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u0100\6\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\10\7\1\u0101\1\7\1\u0102" + + "\1\u0103\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\u0104" + + "\12\7\3\0\6\7\2\0\1\u0105\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\1\7\1\u0106\10\7\1\u0107\1\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\10\7\1\u0108\3\7\3\0\5\7\1\u0109\2\0" + + "\3\7\2\0\12\7\1\u010a\1\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\1\7\1\u010b\12\7\3\0\6\7\2\0\1\u010c\2\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\1\7\1\u010d\12\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\3\7" + + "\1\u010e\10\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\10\7\1\u010d\3\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\5\7\1\u010f\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\u0110\10\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\1\7\1\u0111" + + "\12\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\u0112" + + "\12\7\3\0\6\7\2\0\1\u0113\1\u0114\1\7\2\0" + "\4\7\1\122\5\7\1\317\1\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\1\7\1\u0115" + + "\12\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\5\7\1\u0116" + + "\2\0\3\7\2\0\1\7\1\112\4\7\1\u0117\5\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\2\7\1\307\11\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\4\7" + "\1\122\5\7\1\u0118\1\7\3\0\6\7\2\0\1\267" + + "\2\7\2\0\6\7\1\u0119\5\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\3\7\1\u011a\10\7\3\0\6\7\2\0\3\7\2\0" + "\10\7\1\122\3\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\10\7\1\u011b\3\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\1\7\1\u011c\12\7\3\0" + + "\6\7\2\0\1\303\2\7\2\0\12\7\1\u011d\1\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\4\7\1\u011e\7\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\6\7\1\122\1\7" + + "\1\u011f\3\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\6\7" + + "\1\u011d\5\7\3\0\6\7\2\0\1\u0120\2\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\2\7\1\u0121\11\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\22\0\1\u0122\117\0\1\u0123\106\0\1\u0124\104\0" + + "\1\u0125\61\0\1\72\2\0\1\73\2\254\1\73\1\254" + "\1\73\1\72\1\0\1\73\1\76\1\254\2\0\1\7" + + "\13\73\2\0\1\7\1\0\2\73\1\76\1\73\1\7" + "\2\0\1\72\2\0\2\72\5\0\1\73\3\7\1\0" + + "\1\7\1\0\2\7\1\72\1\0\2\73\1\76\11\73" + "\3\0\1\7\2\254\1\7\1\254\1\7\2\0\2\7" + + "\1\254\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\1\72" + + "\2\0\1\73\4\256\1\73\1\72\1\0\1\73\2\256" + "\2\0\1\7\2\73\3\256\1\73\1\256\2\73\1\253" + + "\1\73\2\0\1\7\1\0\1\73\1\253\2\256\1\7" + "\2\0\1\72\2\0\2\72\5\0\1\73\3\7\1\0" + + "\1\7\1\0\2\7\1\72\1\0\2\73\1\256\11\73" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u0126\6\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\10\7\1\u0127\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\3\7" + "\1\u0128\10\7\23\0\1\u0129\113\0\1\104\111\0\1\u012a" + "\61\0\6\7\2\0\3\7\2\0\1\7\1\271\12\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\1\264" + "\2\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\5\7\1\122\6\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\10\7\1\342\3\7\3\0" - + "\6\7\2\0\3\7\2\0\5\7\1\50\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" - + "\6\7\1\122\5\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\301\4\7\1\u012b" - + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\2\7\1\122" + "\11\7\3\0\5\7\1\121\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\5\7\1\u012c\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\1\7\1\u012d\12\7\3\0\6\7\2\0\3\7\2\0" - + "\5\7\1\u012e\6\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\1\7\1\337\12\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\3\7\1\271\10\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\2\7\1\u012f\11\7\3\0\6\7\2\0\3\7\2\0" + "\13\7\1\u0130\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\u0131\12\7\3\0\6\7\2\0\3\7\2\0\14\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\1\7\1\303\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\4\7\1\301\7\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\1\271\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\u0132\5\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\4\7\1\122\7\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\10\7\1\271\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\12\7\1\122\1\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\122\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\2\7\1\122\11\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\3\7" + "\1\u0133\10\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\312\12\7\3\0\6\7\2\0\3\7\2\0\6\7" - + "\1\u0134\5\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\12\7\1\u0135\1\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\6\7" + "\1\122\1\7\1\u0136\3\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\303\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\1\7\1\344\12\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\3\7\1\u0137\10\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\1\7\1\u0138\2\7\1\301\7\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\2\7\1\u0139\6\7\1\122\2\7\3\0\6\7" - + "\2\0\3\7\2\0\2\7\1\u013a\11\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\3\7\1\u013b\10\7\3\0\6\7\2\0\3\7" - + "\2\0\12\7\1\342\1\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\5\7\1\u013c\2\0\3\7\2\0\14\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\122\1\0\4\7\1\u013d\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\12\7\1\122\1\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\6\7\2\0\1\u0133\2\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\5\7\1\u013e\6\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" - + "\1\7\1\0\4\7\1\u013f\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\u0140\6\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\122\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\1\7\1\u0141\12\7" - + "\3\0\6\7\2\0\3\7\2\0\1\7\1\303\12\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\2\7\1\u0142\11\7" + "\3\0\6\7\2\0\3\7\2\0\12\7\1\u0143\1\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\u0144\6\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\12\7\1\u0145\1\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u0146\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\1\u0147\13\7\3\0\6\7\2\0\3\7\2\0\10\7" - + "\1\u0148\3\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\6\7" + "\1\u0149\5\7\3\0\6\7\2\0\3\7\2\0\6\7" + "\1\u014a\5\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\2\7" - + "\1\u014b\11\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\12\7\1\u0142\1\7\3\0\6\7" - + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\10\7" + "\1\122\3\7\3\0\6\7\2\0\3\7\2\0\2\7" - + "\1\303\11\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\10\7\1\u014c\1\7\1\u014d\1\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\1\u014e" + "\2\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\6\7\1\u014f\5\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\1\7\1\u0150\12\7\3\0" - + "\6\7\2\0\3\7\2\0\10\7\1\u0151\3\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" - + "\10\7\1\u0152\3\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\12\7\1\u0153\1\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\1\7\1\310\12\7\47\0\1\u0154\106\0" - + "\1\u0155\44\0\6\7\2\0\3\7\2\0\5\7\1\u0156" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\4\7\1\u0157\7\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\3\7\1\u0158" - + "\10\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u0159" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\5\7\1\u015a\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\12\7\1\u015b\1\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\5\7\1\u015c\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\13\7" - + "\1\u015d\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\1\7\1\u015e\12\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\12\7\1\u015f" + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\5\7\1\u0160\6\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\1\u0161\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\1\7\1\u0162\12\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\3\7\1\u0163\10\7\3\0\6\7\2\0\1\u010d" + "\2\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\212\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\1\u0164\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\6\7\1\u010d\5\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\6\7\1\u0165\5\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\1\u0166\13\7\3\0" + "\6\7\2\0\3\7\2\0\2\7\1\u0140\11\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u0167\6\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\10\7\1\303\3\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\3\7\1\u0168\10\7\3\0\6\7\2\0" - + "\3\7\2\0\1\7\1\320\12\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\7\7\1\332" - + "\4\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\13\7\1\u0169\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\122\12\7\3\0\6\7\2\0\3\7\2\0\5\7" + "\1\u016a\6\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\3\7\1\122\10\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\6\7\2\0\1\7\1\234\1\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\3\7\2\0\13\7\1\u016b\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u016c" - + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\1\7\1\122\12\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u016d" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\1\7\1\u016e\12\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\1\7\1\315\12\7\3\0\6\7\2\0" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\1\264" + + "\2\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\5\7\1\122\6\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\10\7\1\342\3\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\50\6\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\6\7\1\122\5\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\5\7\1\301\4\7\1\u012b" + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\2\7\1\122" + "\11\7\3\0\5\7\1\121\2\0\3\7\2\0\14\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\5\7\1\u012c\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\1\7\1\u012d\12\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u012e\6\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\1\7\1\337\12\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\3\7\1\271\10\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\2\7\1\u012f\11\7\3\0\6\7\2\0\3\7\2\0" + "\13\7\1\u0130\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\u0131\12\7\3\0\6\7\2\0\3\7\2\0\14\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\1\7\1\303\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\4\7\1\301\7\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\1\271\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\u0132\5\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\4\7\1\122\7\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\10\7\1\271\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\12\7\1\122\1\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\122\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\2\7\1\122\11\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\3\7" + + "\1\u0133\10\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + + "\1\312\12\7\3\0\6\7\2\0\3\7\2\0\6\7" + "\1\u0134\5\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\12\7\1\u0135\1\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\6\7" + + "\1\122\1\7\1\u0136\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\5\7\1\303\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\1\7\1\344\12\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\3\7\1\u0137\10\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\1\7\1\u0138\2\7\1\301\7\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\2\7\1\u0139\6\7\1\122\2\7\3\0\6\7" + "\2\0\3\7\2\0\2\7\1\u013a\11\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\3\7\1\u013b\10\7\3\0\6\7\2\0\3\7" + + "\2\0\12\7\1\342\1\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\5\7\1\u013c\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\122\1\0\4\7\1\u013d\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\12\7\1\122\1\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\1\u0133\2\7\2\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\5\7\1\u013e\6\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\4\7\1\u013f\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\u0140\6\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\122\6\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\1\7\1\u0141\12\7" + + "\3\0\6\7\2\0\3\7\2\0\1\7\1\303\12\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\2\7\1\u0142\11\7" + "\3\0\6\7\2\0\3\7\2\0\12\7\1\u0143\1\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\5\7\1\u0144\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\12\7\1\u0145\1\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u0146\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\1\u0147\13\7\3\0\6\7\2\0\3\7\2\0\10\7" + + "\1\u0148\3\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\6\7" + + "\1\u0149\5\7\3\0\6\7\2\0\3\7\2\0\6\7" + "\1\u014a\5\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\2\7" + "\1\u014b\11\7\3\0\6\7\2\0\3\7\2\0\14\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\12\7\1\u0142\1\7\3\0\6\7" + + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\10\7" + + "\1\122\3\7\3\0\6\7\2\0\3\7\2\0\2\7" + "\1\303\11\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\10\7\1\u014c\1\7\1\u014d\1\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\1\u014e" + + "\2\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\6\7\1\u014f\5\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\1\7\1\u0150\12\7\3\0" + "\6\7\2\0\3\7\2\0\10\7\1\u0151\3\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\10\7\1\u0152\3\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\12\7\1\u0153\1\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\1\7\1\310\12\7\47\0\1\u0154\106\0" + "\1\u0155\44\0\6\7\2\0\3\7\2\0\5\7\1\u0156" + + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\4\7\1\u0157\7\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\3\7\1\u0158" + "\10\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u0159" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\5\7\1\u015a\2\0\3\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\12\7\1\u015b\1\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\5\7\1\u015c\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\13\7" + "\1\u015d\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\1\7\1\u015e\12\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\12\7\1\u015f" + + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\5\7\1\u0160\6\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\1\u0161\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\1\7\1\u0162\12\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\3\7\1\u0163\10\7\3\0\6\7\2\0\1\u010d" + + "\2\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\212\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\1\u0164\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\u010d\5\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\6\7\1\u0165\5\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\1\u0166\13\7\3\0" + + "\6\7\2\0\3\7\2\0\2\7\1\u0140\11\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u0167\6\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\10\7\1\303\3\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\3\7\1\u0168\10\7\3\0\6\7\2\0" + + "\3\7\2\0\1\7\1\320\12\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\7\7\1\332" + "\4\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\13\7\1\u0169\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\122\12\7\3\0\6\7\2\0\3\7\2\0\5\7" + + "\1\u016a\6\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\3\7\1\122\10\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\1\7\1\234\1\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\13\7\1\u016b\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u016c" + + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\1\7\1\122\12\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u016d" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\1\7\1\u016e\12\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\1\7\1\315\12\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\3\7\1\134" + "\10\7\2\0\1\u016f\132\0\1\u0122\102\0\1\u0170\111\0" + "\1\u0171\70\0\6\7\2\0\1\7\1\323\1\7\2\0" - + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\6\7\1\u0172\5\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\2\7\1\126" + "\11\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\6\7\1\u0172\5\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\2\7\1\126" + "\11\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\24\0\1\u0173\115\0" + "\1\u0174\60\0\6\7\2\0\3\7\2\0\13\7\1\u0175" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\4\7\1\342\7\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\7\7\1\u0176\4\7\3\0\6\7\2\0\1\u0177" + "\2\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\4\7\1\u0178\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\6\7" - + "\1\u0179\5\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\10\7\1\273\3\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\5\7" + "\1\u017a\6\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\6\7" - + "\1\122\5\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\4\7\1\u017b\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\6\7\1\u017c\5\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\1\u017d\2\7\2\0\14\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\u017e\5\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\12\7\1\u0153\1\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\5\7\1\161\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\1\342\2\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\1\u017f\2\7\2\0" - + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\1\7\1\u0180\1\7\2\0\14\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\4\7\1\u0181\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\11\7\1\303\2\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\13\7\1\u0182\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" - + "\5\7\1\u0183\6\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\1\7\1\u0184\12\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\13\7\1\u0185\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\3\7\1\u0186\1\7\1\u0187\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u0188\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\4\7\1\u0189\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\14\7" - + "\2\0\1\7\1\0\4\7\1\u018a\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\122\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\4\7\1\u018b\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\1\7\1\172\12\7\3\0\6\7" - + "\2\0\3\7\2\0\5\7\1\172\6\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\3\7" - + "\1\161\10\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\3\7\1\u018c\10\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\4\7\1\u018d\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\u018e\10\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u018f" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\5\7\1\u0190\6\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\50\0\1\34\110\0\1\u0154\41\0\6\7\2\0" - + "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u0191" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\u0192\13\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\2\7\1\u0193\11\7\3\0" + "\6\7\2\0\3\7\2\0\12\7\1\u0194\1\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\1\7\1\u0195\12\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\5\7\1\u010d\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\1\u0196\2\7" - + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\10\7\1\u0197\3\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\5\7" + "\1\u0198\6\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" - + "\1\u0199\12\7\3\0\6\7\2\0\3\7\2\0\10\7" + "\1\u010f\3\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\1\u019a\2\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\11\7\1\u019b\2\7\3\0\6\7\2\0" + "\3\7\2\0\2\7\1\u019c\11\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\3\7\1\u019d\10\7\3\0\6\7\2\0\3\7\2\0" + "\10\7\1\u019e\3\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\1\u019f\13\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\4\7\1\u0121\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\1\7\1\122\1\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\5\7\1\u01a0\2\0\3\7\2\0\3\7" - + "\1\u01a1\1\7\1\u01a2\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\3\7\1\u01a3\10\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u01a4\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\6\7\1\u01a5\5\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\1\7\1\50\12\7\3\0" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\4\7\1\342\7\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\7\7\1\u0176\4\7\3\0\6\7\2\0\1\u0177" + "\2\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + + "\4\7\1\u0178\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\6\7" + + "\1\u0179\5\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\10\7\1\273\3\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\5\7" + "\1\u017a\6\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\6\7" + "\1\122\5\7\3\0\6\7\2\0\3\7\2\0\14\7" + + "\2\0\1\7\1\0\4\7\1\u017b\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\6\7\1\u017c\5\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\1\u017d\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\u017e\5\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\12\7\1\u0153\1\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\5\7\1\161\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\1\342\2\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\1\u017f\2\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\1\7\1\u0180\1\7\2\0\14\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + + "\1\7\1\0\4\7\1\u0181\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\11\7\1\303\2\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\13\7\1\u0182\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u0183\6\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\1\7\1\u0184\12\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\13\7\1\u0185\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\3\7\1\u0186\1\7\1\u0187\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u0188\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + + "\4\7\1\u0189\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\14\7" + + "\2\0\1\7\1\0\4\7\1\u018a\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\122\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\4\7\1\u018b\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\1\7\1\172\12\7\3\0\6\7" + "\2\0\3\7\2\0\5\7\1\172\6\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\3\7" + + "\1\161\10\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\3\7\1\u018c\10\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\4\7\1\u018d\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\u018e\10\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u018f" + + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\5\7\1\u0190\6\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\50\0\1\34\110\0\1\u0154\41\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u0191" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\u0192\13\7\3\0\6\7\2\0\3\7\2\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\2\7\1\u0193\11\7\3\0" + + "\6\7\2\0\3\7\2\0\12\7\1\u0194\1\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\1\7\1\u0195\12\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\u010d\6\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\1\u0196\2\7" + + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\10\7\1\u0197\3\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\5\7" + "\1\u0198\6\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\u0199\12\7\3\0\6\7\2\0\3\7\2\0\10\7" + + "\1\u010f\3\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\1\u019a\2\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\11\7\1\u019b\2\7\3\0\6\7\2\0" + "\3\7\2\0\2\7\1\u019c\11\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\3\7\1\u019d\10\7\3\0\6\7\2\0\3\7\2\0" + + "\10\7\1\u019e\3\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\6\7\1\u01a6\5\7\70\0\1\u01a7\20\0\2\u01a8\6\u0170" + "\1\0\1\u01a8\3\u0170\2\0\1\u01a8\13\u0170\1\u01a8\1\0" - + "\1\u01a8\1\0\4\u0170\2\u01a8\2\0\4\u01a8\5\0\1\u01a8" + "\1\0\1\u01a8\1\0\3\u01a8\1\u0170\1\u01a8\1\u0170\1\u01a8" + + "\1\u019f\13\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\4\7\1\u0121\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\1\7\1\122\1\7\2\0\14\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\5\7\1\u01a0\2\0\3\7\2\0\3\7" + + "\1\u01a1\1\7\1\u01a2\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\3\7\1\u01a3\10\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u01a4\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\6\7\1\u01a5\5\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\1\7\1\50\12\7\3\0" + + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\6\7\1\u01a6\5\7\70\0\1\u01a7\20\0\2\u01a8\6\u0170" + + "\1\0\1\u01a8\3\u0170\2\0\1\u01a8\13\u0170\1\u01a8\1\0" + + "\1\u01a8\1\0\4\u0170\2\u01a8\2\0\4\u01a8\5\0\1\u01a8" + + "\1\0\1\u01a8\1\0\3\u01a8\1\u0170\1\u01a8\1\u0170\1\u01a8" + "\14\u0170\2\0\1\u016f\16\0\1\u0122\71\0\6\7\2\0" + "\3\7\2\0\5\7\1\u01a9\6\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\25\0\1\104\115\0\1\u01aa\57\0\6\7\2\0" + "\3\7\2\0\4\7\1\u014e\7\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u01ab" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\1\7\1\342\12\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\7\7\1\145\4\7\3\0\6\7\2\0" - + "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u01ac" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\2\7\1\u01ad\11\7\3\0\6\7\2\0\1\7" + "\1\u01ae\1\7\2\0\1\7\1\u01af\5\7\1\u01b0\2\7" - + "\1\u01b1\1\313\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\2\7\1\u01b2\11\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\4\7\1\u01b3\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\4\7\1\u01b4\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\3\7\1\u01b5\10\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\5\7" + "\1\u01b6\6\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\3\7\2\0\13\7\1\u01b7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\11\7\1\u01b8" - + "\2\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\10\7\1\361\3\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\3\7\1\234" + "\10\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\2\7\1\u01b9\11\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\10\7\1\342" + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\10\7\1\u0133\3\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\7\7\1\u01ba\4\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\3\7\1\u01bb" + "\10\7\3\0\6\7\2\0\1\7\1\u01bc\1\7\2\0" + "\10\7\1\u014c\1\7\1\u014d\1\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\4\7\1\u01bd" + "\7\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\1\7\1\u01be\1\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\10\7\1\u01bf" + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\3\7\1\u01c0\10\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\3\7\1\u01c1\10\7\3\0\6\7\2\0" + "\3\7\2\0\13\7\1\u01c2\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\3\7\1\u01c3\10\7\3\0\6\7\2\0\3\7" + "\2\0\4\7\1\u01c4\7\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u01c5\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u01c6\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\1\7\1\u01c7\12\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\1\u01c8\13\7\3\0\6\7" + "\2\0\3\7\2\0\4\7\1\u01c9\7\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\6\7" + "\1\u01ca\5\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\1\u010f\2\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\11\7\1\u01cb" - + "\2\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\5\7\1\u01cc\6\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\5\7\1\u01cd\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\13\7\1\u01ce\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\3\7\1\u01cf\10\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" - + "\14\7\2\0\1\7\1\0\4\7\1\u01d0\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\4\7" - + "\1\u01d1\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\12\7\1\u01d2" + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\4\7\1\u01d3\7\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u01d4" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\5\7\1\u01d5\6\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\2\7\1\u01d6" - + "\1\u01c0\10\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\u01d7\12\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\3\7\1\122\10\7\70\0\1\u0170" + "\22\0\6\7\2\0\1\234\2\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\30\0\1\u0173\62\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u01d8" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\3\7\1\271\5\7" + "\1\u01d9\2\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\4\7" + "\1\u01da\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\12\7\1\117" - + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\1\126\13\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\1\7\1\160\4\7\1\161\5\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" - + "\1\u0182\12\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\1\7\1\u01db\12\7\3\0\6\7" - + "\2\0\3\7\2\0\5\7\1\u01dc\6\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\7\1\u0167\12\7\3\0\6\7\2\0\3\7" - + "\2\0\3\7\1\u01dd\10\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\10\7\1\u01de\3\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\1\7" + "\1\315\1\7\2\0\14\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\10\7\1\u01df\3\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\1\u01be\13\7\3\0" - + "\6\7\2\0\3\7\2\0\3\7\1\u012c\10\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" - + "\5\7\1\336\6\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\u01e0\6\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\13\7\1\u01e1\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" - + "\1\u01e2\12\7\3\0\6\7\2\0\3\7\2\0\13\7" + "\1\332\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\4\7\1\u01e3\7\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\1\135\2\7\2\0\14\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\u01e4\6\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\6\7\1\u0133\5\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\313\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\7\1\u01e5\12\7\3\0\6\7\2\0\3\7" - + "\2\0\4\7\1\u01e6\7\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u01e7\6\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\3\7\1\u01e8\10\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\4\7\1\u01e9\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u01ea\6\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\4\7\1\u01eb\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\14\7" - + "\2\0\1\7\1\0\4\7\1\u01ec\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\10\7\1\u01ed\3\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\1\u01ee\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\12\7\1\u01ef\1\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\10\7\1\u01f0\3\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\1\7\1\u01f1\12\7" + "\3\0\6\7\2\0\3\7\2\0\4\7\1\u01f2\7\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\u01f3\5\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\1\u01f4\2\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\1\u01f5\13\7\3\0\6\7" - + "\2\0\1\u01f6\2\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\1\u01f7\2\7\2\0\14\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\3\7\1\u01f8\10\7" + "\3\0\6\7\2\0\3\7\2\0\13\7\1\u01f9\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\3\7\1\u01fa\10\7\3\0" - + "\5\7\1\u0116\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\1\u01fb\2\7\2\0" - + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\10\7\1\u01fc" + "\3\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u01fd" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\u01fe\10\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u0119" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\1\u01ff\2\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\10\7\1\u01d5\3\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\u0200\6\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\10\7\1\u0201\3\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\12\7\1\u0202\1\7" - + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\7\7\1\u0203\4\7\3\0\6\7\2\0\3\7" - + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\2\7\1\u0204\11\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\7\1\u0205\12\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u0206\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\1\u0207\2\7\2\0\12\7\1\u0208\1\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\2\7\1\u0209\1\u020a\10\7\3\0" + "\5\7\1\u020b\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\6\7" + "\1\u020c\5\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\3\7\2\0\5\7\1\u020d\6\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\5\7" - + "\1\u020e\6\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\2\7" + "\1\u020f\11\7\3\0\6\7\2\0\3\7\2\0\10\7" + "\1\u0210\3\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" - + "\1\u0211\12\7\3\0\6\7\2\0\3\7\2\0\13\7" + "\1\122\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\303" + "\12\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\1\7\1\273\12\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\u0212" + "\12\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\4\7\1\u0213\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\u01a2\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\6\7\1\164\5\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\3\7\1\u0214\10\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\1\u0215\2\7\2\0\14\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u0216\6\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\12\7\1\u0133\1\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\12\7\1\u0217\1\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\1\7\1\172\12\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" - + "\14\7\2\0\1\303\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\6\7\1\u0218\5\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u0219" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\u021a\10\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u010c" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\10\7\1\u021b\3\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\2\7\1\u021c" - + "\11\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\5\7\1\u021d\6\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u021e" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\5\7\1\u021f" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u0220\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\10\7\1\u0221\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\4\7\1\u0222\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\4\7\1\u0223\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\4\7" + "\1\u0224\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\4\7\1\u0225\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u0226\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\10\7\1\u0227\3\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\4\7\1\u0133\7\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\u0228\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\2\7\1\u0229\11\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\1\7\1\u022a\12\7\3\0\6\7\2\0\3\7\2\0" - + "\10\7\1\u022b\3\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\12\7\1\u022c\1\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u022d\6\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\2\7\1\u022e\11\7\3\0\6\7\2\0\3\7\2\0" + "\12\7\1\u010d\1\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" - + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\4\7\1\u022f\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\3\7" - + "\1\u0230\10\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\3\7\1\u0231\10\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\10\7" + "\1\u0232\3\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\7\7\1\u0233\4\7" + "\3\0\6\7\2\0\3\7\2\0\2\7\1\u010d\11\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\u0234\5\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\1\u0235\2\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" - + "\10\7\1\u0236\3\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\7\7\1\u0237\4\7\3\0\6\7\2\0\1\7\1\u0238" + "\1\7\2\0\2\7\1\u021c\11\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\12\7\1\u0239" + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\1\u023a\2\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\6\7\1\u023b\5\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\10\7\1\u023c\3\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\4\7" + "\1\u023d\7\7\3\0\6\7\2\0\3\7\2\0\14\7" - + "\2\0\1\7\1\0\4\7\1\u023e\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\1\u01d5\2\7\2\0\14\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\6\7\1\u023f\5\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\6\7\1\303\5\7" - + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\4\7\1\u0240\7\7\3\0\6\7\2\0\3\7" - + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u0241\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\10\7\1\u0242\3\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\6\7\1\u0243\5\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\2\7\1\u0244\11\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\10\7\1\u0230\3\7\3\0" - + "\6\7\2\0\3\7\2\0\5\7\1\u021a\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" - + "\3\7\1\u010d\10\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\u0245\6\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\3\7\1\u0246\10\7\2\0\1\7\1\0\5\7\14\0" - + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\u0247\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\13\7\1\u0248\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" - + "\2\0\3\7\2\0\13\7\1\u0249\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u024a" - + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\5\7\1\u024b\6\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u024c" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\13\7\1\172\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\7\7\1\u0133\4\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u024d\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\6\7\1\u024e\5\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\3\7\1\u021c\10\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\u024f\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\1\u010d\13\7\3\0\6\7" - + "\2\0\3\7\2\0\3\7\1\u0250\10\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\1\7" - + "\1\u0251\12\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\3\7" + "\1\u0252\10\7\3\0\6\7\2\0\1\u0253\2\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\12\7\1\u0254\1\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\10\7\1\u0255" + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\1\7\1\u0256\1\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\4\7\1\u010f\7\7\3\0\6\7\2\0" + "\3\7\2\0\5\7\1\121\6\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u01dc" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u0257" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\11\7\1\u0258\2\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\7\7\1\u0259\4\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\1\7\1\u025a\12\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\u025b\6\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\1\7\1\u025c\12\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\220\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u025d\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\12\7\1\u025e\1\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\4\7\1\u025f\7\7" - + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\12\7\1\u0260\1\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\12\7\1\u0261\1\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" - + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\12\7\1\u0262\1\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\1\7\1\u0263\12\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\13\7\1\u0264\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" - + "\4\7\1\u0265\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\5\7" + "\1\u0266\6\7\2\0\1\7\1\0\5\7\14\0\4\7" - + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\12\7\1\u0267\1\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\13\7" + "\1\u0268\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\6\7\1\u010d" + "\5\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" - + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\7\7\1\u0269\4\7\3\0\6\7\2\0" + "\3\7\2\0\2\7\1\u026a\11\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" - + "\2\7\2\0\1\7\1\222\12\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\u026b\10\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" - + "\14\7\3\0\6\7\2\0\3\7\2\0\4\7\1\u026c" + "\7\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" - + "\3\7\2\0\3\7\1\u026d\10\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\10\7\1\u015b" - + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\5\7\1\u026e\6\7\2\0\1\7\1\0" - + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\3\7\1\u026f" + "\10\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" - + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\1\u0270\2\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" - + "\3\0\6\7\2\0\3\7\2\0\6\7\1\u025c\5\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" - + "\2\0\1\7\1\u0271\12\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" - + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\2\7\1\u025d\11\7\3\0\6\7\2\0\3\7" + "\2\0\4\7\1\u0272\7\7\2\0\1\7\1\0\5\7" - + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" - + "\2\0\10\7\1\220\3\7\3\0\6\7\2\0\3\7" + "\2\0\1\7\1\u0159\12\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\25\0\1\104\115\0\1\u01aa\57\0\6\7\2\0" + + "\3\7\2\0\4\7\1\u014e\7\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u01ab" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\1\7\1\342\12\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\7\7\1\145\4\7\3\0\6\7\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u01ac" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\2\7\1\u01ad\11\7\3\0\6\7\2\0\1\7" + "\1\u01ae\1\7\2\0\1\7\1\u01af\5\7\1\u01b0\2\7" + + "\1\u01b1\1\313\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\2\7\1\u01b2\11\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\4\7\1\u01b3\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\4\7\1\u01b4\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\3\7\1\u01b5\10\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\5\7" + + "\1\u01b6\6\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\13\7\1\u01b7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\11\7\1\u01b8" + "\2\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\10\7\1\361\3\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\3\7\1\234" + + "\10\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\2\7\1\u01b9\11\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\10\7\1\342" + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\10\7\1\u0133\3\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\7\7\1\u01ba\4\7\3\0\6\7\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\3\7\1\u01bb" + + "\10\7\3\0\6\7\2\0\1\7\1\u01bc\1\7\2\0" + "\10\7\1\u014c\1\7\1\u014d\1\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\4\7\1\u01bd" + + "\7\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\1\7\1\u01be\1\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\10\7\1\u01bf" + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\u01c0\10\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\3\7\1\u01c1\10\7\3\0\6\7\2\0" + + "\3\7\2\0\13\7\1\u01c2\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\3\7\1\u01c3\10\7\3\0\6\7\2\0\3\7" + "\2\0\4\7\1\u01c4\7\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u01c5\6\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u01c6\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\1\7\1\u01c7\12\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\1\u01c8\13\7\3\0\6\7" + "\2\0\3\7\2\0\4\7\1\u01c9\7\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\6\7" + + "\1\u01ca\5\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\1\u010f\2\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\11\7\1\u01cb" + "\2\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\5\7\1\u01cc\6\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\5\7\1\u01cd\2\0\3\7\2\0\14\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\13\7\1\u01ce\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\3\7\1\u01cf\10\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\4\7\1\u01d0\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\4\7" + + "\1\u01d1\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\12\7\1\u01d2" + + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\4\7\1\u01d3\7\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u01d4" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\5\7\1\u01d5\6\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\2\7\1\u01d6" + + "\1\u01c0\10\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + + "\1\u01d7\12\7\3\0\6\7\2\0\3\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\3\7\1\122\10\7\70\0\1\u0170" + "\22\0\6\7\2\0\1\234\2\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\30\0\1\u0173\62\0\6\7\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u01d8" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\3\7\1\271\5\7" + "\1\u01d9\2\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\4\7" + + "\1\u01da\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\12\7\1\117" + + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\126\13\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\1\7\1\160\4\7\1\161\5\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\u0182\12\7\3\0\6\7\2\0\3\7\2\0\14\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\1\7\1\u01db\12\7\3\0\6\7" + + "\2\0\3\7\2\0\5\7\1\u01dc\6\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\1\7\1\u0167\12\7\3\0\6\7\2\0\3\7" + "\2\0\3\7\1\u01dd\10\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\10\7\1\u01de\3\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\1\7" + + "\1\315\1\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\10\7\1\u01df\3\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\1\u01be\13\7\3\0" + "\6\7\2\0\3\7\2\0\3\7\1\u012c\10\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\5\7\1\336\6\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\5\7\1\u01e0\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\13\7\1\u01e1\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\u01e2\12\7\3\0\6\7\2\0\3\7\2\0\13\7" + + "\1\332\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\4\7\1\u01e3\7\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\1\135\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\u01e4\6\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\6\7\1\u0133\5\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\5\7\1\313\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\1\7\1\u01e5\12\7\3\0\6\7\2\0\3\7" + "\2\0\4\7\1\u01e6\7\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u01e7\6\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\3\7\1\u01e8\10\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\4\7\1\u01e9\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u01ea\6\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + + "\4\7\1\u01eb\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\14\7" + + "\2\0\1\7\1\0\4\7\1\u01ec\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\10\7\1\u01ed\3\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\1\u01ee\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\12\7\1\u01ef\1\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\10\7\1\u01f0\3\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\1\7\1\u01f1\12\7" + + "\3\0\6\7\2\0\3\7\2\0\4\7\1\u01f2\7\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\u01f3\5\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\1\u01f4\2\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\1\u01f5\13\7\3\0\6\7" + + "\2\0\1\u01f6\2\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\1\u01f7\2\7\2\0\14\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\3\7\1\u01f8\10\7" + "\3\0\6\7\2\0\3\7\2\0\13\7\1\u01f9\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\3\7\1\u01fa\10\7\3\0" + + "\5\7\1\u0116\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\1\u01fb\2\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\10\7\1\u01fc" + "\3\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u01fd" + + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\3\7\1\u01fe\10\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u0119" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\1\u01ff\2\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\10\7\1\u01d5\3\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\5\7\1\u0200\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\10\7\1\u0201\3\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\12\7\1\u0202\1\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\7\7\1\u0203\4\7\3\0\6\7\2\0\3\7" + + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\2\7\1\u0204\11\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\1\7\1\u0205\12\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u0206\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\1\u0207\2\7\2\0\12\7\1\u0208\1\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\2\7\1\u0209\1\u020a\10\7\3\0" + + "\5\7\1\u020b\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\6\7" + "\1\u020c\5\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\5\7\1\u020d\6\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\5\7" + + "\1\u020e\6\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\2\7" + + "\1\u020f\11\7\3\0\6\7\2\0\3\7\2\0\10\7" + "\1\u0210\3\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\7" + "\1\u0211\12\7\3\0\6\7\2\0\3\7\2\0\13\7" + + "\1\122\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\303" + + "\12\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\1\7\1\273\12\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\1\7\1\u0212" + "\12\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + + "\1\7\1\0\4\7\1\u0213\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\5\7\1\u01a2\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\6\7\1\164\5\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\3\7\1\u0214\10\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\1\u0215\2\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\5\7\1\u0216\6\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\12\7\1\u0133\1\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\12\7\1\u0217\1\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\1\7\1\172\12\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\14\7\2\0\1\303\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\6\7\1\u0218\5\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u0219" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\u021a\10\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u010c" + + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\10\7\1\u021b\3\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\2\7\1\u021c" + "\11\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\5\7\1\u021d\6\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u021e" + + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\5\7\1\u021f" + + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u0220\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\10\7\1\u0221\3\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + + "\1\0\4\7\1\u0222\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\14\7\2\0\1\7\1\0\4\7\1\u0223\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\4\7" + "\1\u0224\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\4\7\1\u0225\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u0226\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\10\7\1\u0227\3\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\4\7\1\u0133\7\7\3\0" + + "\6\7\2\0\3\7\2\0\5\7\1\u0228\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\2\7\1\u0229\11\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\1\7\1\u022a\12\7\3\0\6\7\2\0\3\7\2\0" + + "\10\7\1\u022b\3\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\12\7\1\u022c\1\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\5\7\1\u022d\6\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\2\7\1\u022e\11\7\3\0\6\7\2\0\3\7\2\0" + + "\12\7\1\u010d\1\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\4\7\1\u022f\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\3\7" + "\1\u0230\10\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\3\7\1\u0231\10\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\10\7" + + "\1\u0232\3\7\2\0\1\7\1\0\5\7\14\0\4\7" + "\1\0\1\7\1\0\2\7\2\0\7\7\1\u0233\4\7" + + "\3\0\6\7\2\0\3\7\2\0\2\7\1\u010d\11\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\6\7\1\u0234\5\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\1\u0235\2\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\10\7\1\u0236\3\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\7\7\1\u0237\4\7\3\0\6\7\2\0\1\7\1\u0238" + "\1\7\2\0\2\7\1\u021c\11\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\12\7\1\u0239" + + "\1\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\1\u023a\2\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\6\7\1\u023b\5\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\10\7\1\u023c\3\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\4\7" + "\1\u023d\7\7\3\0\6\7\2\0\3\7\2\0\14\7" + + "\2\0\1\7\1\0\4\7\1\u023e\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\1\u01d5\2\7\2\0\14\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\6\7\1\u023f\5\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\14\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\6\7\1\303\5\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\4\7\1\u0240\7\7\3\0\6\7\2\0\3\7" + + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u0241\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\10\7\1\u0242\3\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\6\7\1\u0243\5\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\2\7\1\u0244\11\7\3\0\6\7\2\0\3\7\2\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\10\7\1\u0230\3\7\3\0" + + "\6\7\2\0\3\7\2\0\5\7\1\u021a\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\3\7\1\u010d\10\7\2\0\1\7\1\0\5\7\14\0" + + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\u0245\6\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\3\7\1\u0246\10\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\5\7\1\u0247\6\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\13\7\1\u0248\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\13\7\1\u0249\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u024a" + + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\5\7\1\u024b\6\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\6\7\1\u024c" + "\5\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\13\7\1\172\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\7\7\1\u0133\4\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\14\7\2\0\1\7\1\0\4\7\1\u024d\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\6\7\1\u024e\5\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\3\7\1\u021c\10\7\3\0" + "\6\7\2\0\3\7\2\0\5\7\1\u024f\6\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\14\7\3\0\6\7\2\0\3\7\2\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\1\u010d\13\7\3\0\6\7" + + "\2\0\3\7\2\0\3\7\1\u0250\10\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\1\7" + "\1\u0251\12\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\3\7" + "\1\u0252\10\7\3\0\6\7\2\0\1\u0253\2\7\2\0" + + "\14\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\12\7\1\u0254\1\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\10\7\1\u0255" + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\1\7\1\u0256\1\7\2\0\14\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\4\7\1\u010f\7\7\3\0\6\7\2\0" + + "\3\7\2\0\5\7\1\121\6\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\5\7\1\u01dc" + "\6\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u0257" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\11\7\1\u0258\2\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\7\7\1\u0259\4\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\1\7\1\u025a\12\7\3\0\6\7\2\0\3\7" + "\2\0\5\7\1\u025b\6\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\1\7\1\u025c\12\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\5\7\1\220\6\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u025d\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\12\7\1\u025e\1\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\4\7\1\u025f\7\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\12\7\1\u0260\1\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\12\7\1\u0261\1\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + "\2\0\12\7\1\u0262\1\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\1\7\1\u0263\12\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\13\7\1\u0264\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\3\0" + + "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0" + "\4\7\1\u0265\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\5\7" + "\1\u0266\6\7\2\0\1\7\1\0\5\7\14\0\4\7" + + "\1\0\1\7\1\0\2\7\2\0\14\7\3\0\6\7" + "\2\0\3\7\2\0\12\7\1\u0267\1\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\13\7" + + "\1\u0268\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\14\7\2\0\1\7\1\0\5\7\14\0" + "\4\7\1\0\1\7\1\0\2\7\2\0\6\7\1\u010d" + + "\5\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + + "\2\7\2\0\7\7\1\u0269\4\7\3\0\6\7\2\0" + "\3\7\2\0\2\7\1\u026a\11\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0" + + "\1\7\1\0\5\7\14\0\4\7\1\0\1\7\1\0" + "\2\7\2\0\1\7\1\222\12\7\3\0\6\7\2\0" + + "\3\7\2\0\3\7\1\u026b\10\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\4\7\1\u026c" + "\7\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\3\7\2\0\3\7\1\u026d\10\7\2\0\1\7\1\0" + + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + "\14\7\3\0\6\7\2\0\3\7\2\0\10\7\1\u015b" + + "\3\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + + "\3\7\2\0\5\7\1\u026e\6\7\2\0\1\7\1\0" + "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0" + + "\14\7\3\0\6\7\2\0\3\7\2\0\3\7\1\u026f" + "\10\7\2\0\1\7\1\0\5\7\14\0\4\7\1\0" + + "\1\7\1\0\2\7\2\0\14\7\3\0\6\7\2\0" + "\1\u0270\2\7\2\0\14\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\6\7\1\u025c\5\7" + + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\3\7" + + "\2\0\1\7\1\u0271\12\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + + "\2\0\2\7\1\u025d\11\7\3\0\6\7\2\0\3\7" + "\2\0\4\7\1\u0272\7\7\2\0\1\7\1\0\5\7" + + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\14\7\2\0\1\7" + + "\1\0\5\7\14\0\4\7\1\0\1\7\1\0\2\7" + "\2\0\10\7\1\220\3\7\3\0\6\7\2\0\3\7" + + "\2\0\1\7\1\u0159\12\7\2\0\1\7\1\0\5\7" + "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\14\7" + "\3\0\6\7\2\0\3\7\2\0\5\7\1\u0273\6\7" + "\2\0\1\7\1\0\5\7\14\0\4\7\1\0\1\7" + "\1\0\2\7\2\0\14\7"; - + private static int[] zzUnpackTrans() { int[] result = new int[43056]; 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 */ @@ -733,7 +968,7 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -745,17 +980,17 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\1\2\0\2\11\10\1\2\11\14\1\1\11\4\1" + "\1\11\20\1\1\11\3\1\1\11\15\1\1\11\3\0" - + "\72\1\4\0\37\1\2\11\4\0\6\1\3\0\106\1" + "\2\0\1\11\45\1\4\0\3\1\2\0\51\1\2\0" + "\31\1\1\0\1\1\1\0\1\1\2\0\62\1\2\0" - + "\1\1\1\0\311\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\1\2\0\2\11\10\1\2\11\14\1\1\11\4\1" + + "\1\11\20\1\1\11\3\1\1\11\15\1\1\11\3\0" + "\72\1\4\0\37\1\2\11\4\0\6\1\3\0\106\1" + + "\2\0\1\11\45\1\4\0\3\1\2\0\51\1\2\0" + "\31\1\1\0\1\1\1\0\1\1\2\0\62\1\2\0" + "\1\1\1\0\311\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[627]; 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 */ @@ -769,7 +1004,7 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -777,8 +1012,8 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -788,77 +1023,67 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public ClojureTokenMaker() {} - + public ClojureTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addHyperlinkToken(int, int, int) */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -866,21 +1091,18 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { ";", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -889,22 +1111,16 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - /* - * case Token.COMMENT_MULTILINE: - * state = MLC; - * start = text.offset; - * break; - * case Token.COMMENT_DOCUMENTATION: - * state = DOCCOMMENT; - * start = text.offset; - * break; - */ - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = STRING; - start = text.offset; - break; - default: - state = Token.NULL; + /* + * case Token.COMMENT_MULTILINE: state = MLC; start = text.offset; break; case + * Token.COMMENT_DOCUMENTATION: state = DOCCOMMENT; start = text.offset; break; + */ + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = STRING; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -916,36 +1132,34 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -955,34 +1169,31 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public ClojureTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public ClojureTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -998,7 +1209,7 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1008,69 +1219,64 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1081,29 +1287,27 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1122,8 +1326,7 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1163,167 +1366,168 @@ public class ClojureTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 15: { - addToken(Token.PREPROCESSOR); - } - case 26: - break; - case 6: { - addNullToken(); - return firstToken; - } - case 27: - break; - case 19: { - addToken(Token.LITERAL_CHAR); - } - case 28: - break; - case 9: { - addToken(Token.WHITESPACE); - } - case 29: - break; - case 17: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 30: - break; - case 18: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 31: - break; - case 20: { - addToken(Token.RESERVED_WORD); - } - case 32: - break; - case 22: { - addToken(Token.VARIABLE); - } - case 33: - break; - case 8: { - addToken(Token.SEPARATOR); - } - case 34: - break; - case 1: { - addToken(Token.IDENTIFIER); - } - case 35: - break; - case 14: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 36: - break; - case 21: { - addToken(Token.FUNCTION); - } - case 37: - break; - case 23: { - addToken(Token.DATA_TYPE); - } - case 38: - break; - case 11: { /* Skip escaped chars. */ - } - case 39: - break; - case 2: { - addToken(Token.ERROR_IDENTIFIER); - } - case 40: - break; - case 24: { - addToken(Token.LITERAL_BOOLEAN); - } - case 41: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 42: - break; - case 25: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 43: - break; - case 16: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 44: - break; - case 7: { - start = zzMarkedPos - 1; - yybegin(STRING); - } - case 45: - break; - case 3: { - start = zzMarkedPos - 1; - yybegin(EOL_COMMENT); - } - case 46: - break; - case 5: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 47: - break; - case 4: { - addToken(Token.OPERATOR); - } - case 48: - break; - case 13: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 49: - break; - case 10: {} - case 50: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 628: - break; - case STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 629: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 630: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 15: { + addToken(Token.PREPROCESSOR); + } + case 26: + break; + case 6: { + addNullToken(); + return firstToken; + } + case 27: + break; + case 19: { + addToken(Token.LITERAL_CHAR); + } + case 28: + break; + case 9: { + addToken(Token.WHITESPACE); + } + case 29: + break; + case 17: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 30: + break; + case 18: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 31: + break; + case 20: { + addToken(Token.RESERVED_WORD); + } + case 32: + break; + case 22: { + addToken(Token.VARIABLE); + } + case 33: + break; + case 8: { + addToken(Token.SEPARATOR); + } + case 34: + break; + case 1: { + addToken(Token.IDENTIFIER); + } + case 35: + break; + case 14: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 36: + break; + case 21: { + addToken(Token.FUNCTION); + } + case 37: + break; + case 23: { + addToken(Token.DATA_TYPE); + } + case 38: + break; + case 11: { /* Skip escaped chars. */ + } + case 39: + break; + case 2: { + addToken(Token.ERROR_IDENTIFIER); + } + case 40: + break; + case 24: { + addToken(Token.LITERAL_BOOLEAN); + } + case 41: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 42: + break; + case 25: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 43: + break; + case 16: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 44: + break; + case 7: { + start = zzMarkedPos - 1; + yybegin(STRING); + } + case 45: + break; + case 3: { + start = zzMarkedPos - 1; + yybegin(EOL_COMMENT); + } + case 46: + break; + case 5: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 47: + break; + case 4: { + addToken(Token.OPERATOR); + } + case 48: + break; + case 13: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 49: + break; + case 10: { + } + case 50: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 628: + break; + case STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 629: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 630: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/DTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/DTokenMaker.java index f08585f..7bf4fb4 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/DTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/DTokenMaker.java @@ -23,16 +23,15 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -42,16 +41,16 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated DTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -59,7 +58,7 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * */ public class DTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -76,7 +75,8 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\22\1\11\1\0\1\22\1\20\22\0\1\22\1\60\1\16" + "\1\21\1\1\1\60\1\62\1\10\2\65\1\31\1\32\1\53\1\43" + "\1\44\1\30\1\4\1\5\2\17\4\7\2\3\1\63\1\53\1\54" - + "\1\55\1\57\1\61\1\64\1\6\1\34\1\105\1\40\1\42\1\100" + "\2\1\1\101\2\1\1\33\1\102\1\104\1\103\1\107\1\1\1\110" + + "\1\55\1\57\1\61\1\64\1\6\1\34\1\105\1\40\1\42\1\100" + + "\2\1\1\101\2\1\1\33\1\102\1\104\1\103\1\107\1\1\1\110" + "\1\1\1\106\1\37\2\1\1\36\1\111\1\1\1\65\1\12\1\65" + "\1\56\1\2\1\27\1\47\1\35\1\24\1\41\1\46\1\15\1\71" + "\1\66\1\70\1\1\1\75\1\50\1\72\1\14\1\73\1\67\1\1" + "\1\26\1\51\1\45\1\13\1\76\1\23\1\25\1\74\1\77\1\52" + "\1\56\1\52\1\61\uff81\0"; @@ -88,22 +88,25 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\10\0\1\1\2\2\2\3\1\4\1\5\3\2\1\6" + "\1\1\1\7\4\2\1\10\3\11\2\2\1\11\6\2" - + "\1\12\1\2\4\11\1\13\6\2\1\14\1\15\4\14" + "\1\16\5\14\1\17\3\14\1\20\3\14\1\21\1\22" - + "\1\23\1\24\1\25\1\1\1\2\2\26\1\27\1\3" + "\1\26\1\27\2\26\1\30\2\26\1\4\1\31\1\0" + "\1\4\16\2\2\6\1\22\13\2\1\6\1\32\1\2" - + "\1\33\1\34\1\35\4\2\1\36\24\2\1\0\1\11" + "\1\13\4\2\3\36\10\2\3\0\1\37\4\0\1\40" + "\1\0\1\41\1\42\4\0\1\1\10\2\1\3\1\27" - + "\1\0\4\30\1\3\1\4\1\43\1\31\2\4\1\31" + "\1\4\11\2\1\36\1\6\1\44\1\6\1\22\12\2" + "\2\6\2\2\1\45\1\46\37\2\1\1\6\2\1\47" - + "\12\2\14\0\1\1\11\2\1\30\2\26\1\43\1\4" + "\2\2\1\47\4\2\1\44\1\6\2\2\2\6\1\2" + "\1\50\6\2\1\51\13\2\1\1\13\2\1\0\1\52" - + "\2\0\1\53\2\0\1\54\1\0\1\1\10\2\1\4" + "\1\2\1\36\1\2\1\6\1\2\1\6\10\2\1\1" + "\12\2\6\0\1\1\6\2\1\4\2\2\1\6\1\2" + private static final String ZZ_ACTION_PACKED_0 = "\10\0\1\1\2\2\2\3\1\4\1\5\3\2\1\6" + + "\1\1\1\7\4\2\1\10\3\11\2\2\1\11\6\2" + "\1\12\1\2\4\11\1\13\6\2\1\14\1\15\4\14" + + "\1\16\5\14\1\17\3\14\1\20\3\14\1\21\1\22" + "\1\23\1\24\1\25\1\1\1\2\2\26\1\27\1\3" + + "\1\26\1\27\2\26\1\30\2\26\1\4\1\31\1\0" + "\1\4\16\2\2\6\1\22\13\2\1\6\1\32\1\2" + + "\1\33\1\34\1\35\4\2\1\36\24\2\1\0\1\11" + "\1\13\4\2\3\36\10\2\3\0\1\37\4\0\1\40" + + "\1\0\1\41\1\42\4\0\1\1\10\2\1\3\1\27" + "\1\0\4\30\1\3\1\4\1\43\1\31\2\4\1\31" + + "\1\4\11\2\1\36\1\6\1\44\1\6\1\22\12\2" + "\2\6\2\2\1\45\1\46\37\2\1\1\6\2\1\47" + + "\12\2\14\0\1\1\11\2\1\30\2\26\1\43\1\4" + "\2\2\1\47\4\2\1\44\1\6\2\2\2\6\1\2" + + "\1\50\6\2\1\51\13\2\1\1\13\2\1\0\1\52" + "\2\0\1\53\2\0\1\54\1\0\1\1\10\2\1\4" + + "\1\2\1\36\1\2\1\6\1\2\1\6\10\2\1\1" + "\12\2\6\0\1\1\6\2\1\4\2\2\1\6\1\2" + "\1\6\1\55\2\2\1\1\12\2\1\36\1\6\1\2" + "\1\1\21\2"; - + private static int[] zzUnpackAction() { int[] result = new int[459]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -117,7 +120,7 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -179,14 +182,14 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { + "\0\u71e4\0\u722e\0\u7278\0\u72c2\0\u730c\0\u7356\0\u73a0\0\u73ea" + "\0\u7434\0\u747e\0\u74c8\0\u7512\0\u755c\0\u75a6\0\u75f0\0\u763a" + "\0\u7684\0\u76ce\0\u7718\0\u7762\0\u77ac\0\u77f6\0\u7840\0\u788a" + "\0\u78d4\0\u791e\0\u7968"; - + private static int[] zzUnpackRowMap() { int[] result = new int[459]; 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 */ @@ -197,174 +200,176 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\11\1\12\1\13\1\14\1\15\1\14\1\12\1\14" + "\1\16\1\17\1\11\1\20\1\21\1\22\1\23\1\14" - + "\1\24\1\11\1\25\1\26\1\27\1\30\1\31\1\32" + "\1\33\1\34\1\35\2\12\1\36\3\12\1\37\1\12" - + "\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47" + "\1\50\1\51\2\34\1\52\1\34\1\53\1\54\1\53" - + "\1\55\1\47\1\12\1\56\1\57\1\60\1\61\1\62" + "\2\12\1\63\13\12\11\64\1\65\3\64\1\66\5\64" - + "\1\67\5\64\1\70\34\64\1\71\34\64\1\72\3\64" + "\1\73\5\64\1\74\5\64\1\75\34\64\1\76\23\64" - + "\11\77\1\100\3\77\1\66\5\77\1\67\4\77\1\101" + "\1\77\1\102\33\77\1\71\23\77\11\103\1\104\3\103" - + "\1\105\5\103\1\106\42\103\1\107\34\103\1\110\3\103" + "\1\73\5\103\1\74\42\103\1\76\23\103\16\111\1\112" - + "\73\111\27\113\1\114\62\113\10\11\2\0\4\11\1\0" + "\1\11\1\0\1\11\1\0\4\11\4\0\10\11\2\0" - + "\5\11\12\0\1\11\1\0\25\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" - + "\10\12\2\0\5\12\12\0\1\11\1\0\24\12\1\11" + "\1\12\1\116\5\12\2\0\1\115\3\12\1\0\1\12" - + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\24\12\2\117\1\120\3\14\1\117" - + "\1\14\2\0\3\117\1\121\1\0\1\14\1\0\1\117" + "\1\0\4\117\4\0\1\122\4\117\2\121\1\123\1\0" - + "\1\124\1\117\1\123\1\117\1\122\1\117\12\0\1\117" + "\1\0\12\117\1\121\13\117\1\125\1\126\2\127\1\117" - + "\1\127\2\0\3\117\1\121\1\0\1\127\1\0\1\117" + "\1\0\2\117\1\130\1\117\4\0\1\122\2\131\1\130" - + "\1\117\2\121\1\123\1\0\1\124\1\117\1\123\1\117" + "\1\122\1\117\12\0\1\117\1\0\12\117\1\121\11\117" - + "\10\132\1\133\1\134\1\135\77\132\112\0\1\11\7\12" + "\2\0\1\115\1\12\1\136\1\12\1\0\1\12\1\0" - + "\1\11\1\0\1\12\1\137\2\12\4\0\2\12\1\140" + "\5\12\2\0\3\12\1\141\1\142\12\0\1\11\1\0" - + "\2\12\1\143\21\12\1\11\7\12\2\0\1\115\1\144" + "\2\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" - + "\10\12\2\0\1\12\1\145\3\12\12\0\1\11\1\0" + "\5\12\1\146\16\12\1\11\7\12\2\0\1\115\1\147" - + "\2\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\2\12\1\150\1\151\1\12\12\0\1\11" - + "\1\0\2\12\1\152\2\12\1\153\16\12\11\23\1\154" + "\1\155\3\23\1\156\73\23\22\0\1\25\67\0\1\11" - + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\1\12\1\157\2\12\4\0\10\12\2\0\4\12" - + "\1\160\12\0\1\11\1\0\1\161\1\12\1\162\21\12" + "\1\11\7\12\2\0\1\115\2\12\1\163\1\0\1\12" - + "\1\0\1\11\1\0\3\12\1\164\4\0\6\12\1\165" + "\1\12\2\0\1\12\1\143\1\166\1\167\1\12\12\0" - + "\1\11\1\0\1\170\4\12\1\171\16\12\1\11\7\12" + "\2\0\1\115\3\12\1\172\1\12\1\0\1\11\1\0" - + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\173\1\12" - + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\1\12" + "\1\174\3\12\12\0\1\11\1\0\24\12\30\0\1\175" - + "\1\176\1\177\22\0\1\53\111\0\1\53\66\0\1\53" + "\22\0\1\53\34\0\1\11\7\12\2\0\1\115\3\12" - + "\1\0\1\12\1\0\1\11\1\0\3\12\1\200\4\0" + "\10\12\2\0\5\12\12\0\1\11\1\0\5\12\1\201" - + "\1\202\15\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\1\12\1\157\2\12\4\0" - + "\10\12\2\0\1\12\1\203\2\12\1\160\12\0\1\11" + "\1\0\5\12\1\204\16\12\43\0\1\53\11\0\1\53" - + "\37\0\3\124\1\0\1\124\7\0\1\124\72\0\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\3\12\1\205\4\0\10\12\2\0\1\12\1\206" + "\3\12\12\0\1\11\1\0\1\207\5\12\1\210\15\12" - + "\1\11\7\12\2\0\1\115\1\12\1\211\1\12\1\0" + "\1\12\1\0\1\11\1\0\2\12\1\212\1\12\4\0" - + "\10\12\2\0\3\12\1\213\1\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\1\214\2\12\1\0" - + "\1\12\1\0\1\11\1\0\4\12\4\0\2\12\1\215" + "\5\12\2\0\3\12\1\216\1\217\12\0\1\11\1\0" - + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\2\12" - + "\1\220\2\12\12\0\1\11\1\0\5\12\1\221\16\12" + "\1\11\7\12\2\0\1\115\1\222\2\12\1\0\1\12" - + "\1\0\1\11\1\0\1\223\1\224\2\12\4\0\10\12" + "\2\0\1\225\4\12\12\0\1\11\1\0\1\226\1\12" - + "\1\227\3\12\1\230\15\12\54\0\1\231\1\53\111\0" + "\1\53\1\0\1\232\107\0\1\53\4\0\1\53\27\0" - + "\1\11\2\233\3\11\1\233\1\11\2\0\1\11\3\233" + "\1\0\1\11\1\0\1\11\1\0\4\233\4\0\10\233" - + "\2\0\5\233\12\0\1\11\1\0\24\233\1\11\7\12" + "\2\0\1\115\1\234\2\12\1\0\1\12\1\0\1\11" - + "\1\0\3\12\1\235\4\0\10\12\2\0\1\236\1\12" + "\1\237\2\12\12\0\1\11\1\0\24\12\1\11\7\12" - + "\2\0\1\115\1\12\1\240\1\241\1\0\1\12\1\0" + "\1\11\1\0\3\12\1\164\4\0\6\12\1\165\1\12" - + "\2\0\4\12\1\242\12\0\1\11\1\0\4\12\1\243" + "\17\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" - + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\5\12\1\214\16\12\1\11\7\12" - + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\2\12\1\244\2\12\12\0" - + "\1\11\1\0\2\12\1\245\2\12\1\246\16\12\1\11" + "\7\12\2\0\1\115\1\247\2\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\10\12\1\250\13\12\1\11\7\12\2\0" - + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\1\12\1\251\3\12\12\0\1\11" - + "\1\0\5\12\1\252\16\12\11\64\1\0\3\64\1\0" + "\5\64\1\0\5\64\1\0\34\64\1\0\23\64\45\0" - + "\1\253\22\0\1\254\44\0\1\255\116\0\1\256\126\0" + "\1\257\111\0\1\260\22\0\1\261\44\0\1\262\116\0" - + "\1\263\126\0\1\264\44\0\11\77\1\0\3\77\1\0" + "\5\77\1\0\4\77\1\0\1\77\1\0\33\77\1\0" - + "\23\77\32\0\1\265\107\0\1\266\61\0\11\103\1\0" + "\3\103\1\0\5\103\1\0\42\103\1\0\23\103\45\0" - + "\1\267\22\0\1\270\44\0\1\271\133\0\1\272\44\0" + "\16\111\1\0\73\111\27\113\1\0\62\113\10\11\2\0" - + "\1\11\1\273\2\11\1\0\1\11\1\0\1\11\1\0" + "\4\11\4\0\10\11\2\0\5\11\12\0\1\11\1\0" - + "\25\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\1\274\7\12\2\0\1\275" - + "\4\12\12\0\1\11\1\0\1\12\1\276\1\12\1\277" + "\4\12\1\300\1\12\1\301\1\12\1\302\4\12\1\303" - + "\2\12\10\117\2\0\4\117\1\0\1\117\1\0\1\117" + "\1\0\4\117\4\0\10\117\2\0\5\117\12\0\1\117" - + "\1\0\26\117\1\120\3\304\1\117\1\304\2\0\4\117" + "\1\0\1\304\1\0\1\117\1\0\4\117\4\0\10\117" - + "\2\0\5\117\12\0\1\117\1\0\27\117\3\305\1\117" + "\1\305\2\0\4\117\1\0\1\305\1\0\1\117\1\0" - + "\4\117\3\0\1\306\10\117\1\306\1\0\5\117\12\0" + "\1\117\1\0\27\117\3\124\1\117\1\124\2\0\3\117" - + "\1\121\1\0\1\124\1\0\1\117\1\0\4\117\4\0" + "\5\117\2\121\1\123\2\0\1\117\1\123\3\117\12\0" - + "\1\117\1\0\12\117\1\121\13\117\1\125\1\117\2\307" + "\1\117\1\307\2\0\4\117\1\0\1\307\1\0\1\117" - + "\1\0\4\117\4\0\10\117\2\0\5\117\12\0\1\117" + "\1\0\27\117\3\126\1\117\1\126\2\0\3\117\1\121" - + "\1\0\1\126\1\0\1\117\1\0\4\117\4\0\5\117" + "\2\121\1\123\1\0\1\124\1\117\1\123\3\117\12\0" - + "\1\117\1\0\12\117\1\121\13\117\1\125\1\126\2\127" + "\1\117\1\127\2\0\1\117\1\310\1\117\1\121\1\0" - + "\1\127\1\0\1\117\1\0\4\117\4\0\1\311\3\117" + "\1\310\2\121\1\123\1\0\1\124\1\117\1\123\1\117" - + "\1\311\1\117\12\0\1\117\1\0\12\117\1\121\14\117" + "\5\312\2\0\3\117\1\312\1\0\1\312\1\0\1\117" - + "\1\0\1\117\1\312\2\117\4\0\1\117\2\312\2\117" + "\3\312\2\0\1\117\2\312\2\117\12\0\1\117\1\0" - + "\12\117\1\312\4\117\1\312\10\117\2\313\2\117\2\0" + "\4\117\1\0\1\117\1\0\1\117\1\0\4\117\4\0" - + "\10\117\2\0\5\117\12\0\1\117\1\0\24\117\10\314" + "\1\315\1\0\100\314\23\0\2\316\14\0\1\316\60\0" - + "\1\315\101\0\4\314\2\317\1\314\1\320\1\321\1\0" + "\1\132\1\322\3\132\1\317\6\314\1\132\6\314\1\132" - + "\7\314\1\132\44\314\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\5\12\12\0\1\11\1\0\2\12\1\323\21\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\1\12\1\143" + "\3\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" - + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\6\12" - + "\1\202\15\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" - + "\5\12\12\0\1\11\1\0\5\12\1\221\16\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\1\324\23\12\1\11\7\12\2\0\1\115\1\12" - + "\1\325\1\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\24\12" - + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\3\12\1\326" - + "\1\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\1\242" - + "\3\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" - + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\1\327" + "\4\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" - + "\1\115\1\12\1\330\1\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" - + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" - + "\3\12\1\331\1\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\5\12\1\332\16\12\1\11\7\12\2\0\1\115" - + "\1\12\1\333\1\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\3\12\1\334\4\0\10\12\2\0" - + "\5\12\12\0\1\11\1\0\24\12\12\154\1\335\3\154" + "\1\336\77\154\2\23\1\154\2\23\1\0\1\23\1\337" - + "\4\23\6\154\1\23\6\154\1\23\7\154\1\23\44\154" + "\23\0\2\340\14\0\1\340\50\0\1\11\7\12\2\0" - + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\1\170" - + "\23\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\1\341" - + "\4\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" - + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\2\12" + "\1\342\21\12\1\11\7\12\2\0\1\115\3\12\1\0" - + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\1\343\4\12\12\0\1\11\1\0\24\12\1\11\7\12" - + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\3\12\1\151\1\12\12\0" - + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\1\12\1\344\3\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\5\12\1\345\16\12\1\11\7\12\2\0" - + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\1\346\3\12\1\347\12\0\1\11" - + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" - + "\2\12\1\350\2\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\4\12\4\0\10\12\2\0\2\12\1\351\2\12" + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" - + "\1\12\1\352\1\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\24\12\11\172\1\353\1\354\3\172\1\156\73\172\1\11" + "\7\12\2\0\1\115\2\12\1\242\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\1\355\1\12" + "\1\356\2\12\12\0\1\11\1\0\24\12\30\0\1\357" - + "\112\0\1\360\60\0\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\1\12\1\361\3\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\6\12\1\362\1\12\2\0" + "\5\12\12\0\1\11\1\0\5\12\1\356\16\12\1\11" - + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\1\363\4\12\12\0" - + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\2\12" + "\1\364\1\0\1\12\1\0\1\11\1\0\4\12\4\0" - + "\2\12\1\365\5\12\2\0\3\12\1\366\1\12\12\0" + "\1\11\1\0\1\12\1\367\22\12\1\11\7\12\2\0" - + "\1\115\1\370\2\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\24\12\1\11\7\12\2\0\1\115\1\371\2\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" - + "\5\12\12\0\1\11\1\0\6\12\1\242\15\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\4\12\1\372\17\12\1\11\7\12\2\0\1\115" - + "\3\12\1\0\1\12\1\0\1\11\1\0\3\12\1\373" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\2\12" - + "\1\374\21\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" - + "\5\12\12\0\1\11\1\0\1\12\1\375\22\12\1\11" + "\7\12\2\0\1\115\1\376\2\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" - + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\1\377\4\12\12\0\1\11\1\0\1\12\1\u0100" - + "\22\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\4\12" - + "\1\u0101\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" - + "\4\0\10\12\2\0\1\u0102\4\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" - + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\4\12" + "\1\u0103\12\0\1\11\1\0\24\12\1\11\7\12\2\0" - + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\2\12" - + "\1\u0104\21\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" - + "\4\12\1\u0105\12\0\1\11\1\0\4\12\1\242\17\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\11\12\1\362\12\12\1\11\7\12\2\0" - + "\1\115\1\12\1\u0106\1\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" - + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" - + "\5\12\12\0\1\11\1\0\1\12\1\u0107\22\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\2\12\1\u0108\21\12\1\11\7\12\2\0\1\115" - + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\5\12\12\0\1\11\1\0\5\12\1\u0109" - + "\16\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\3\12\1\u010a\4\0\10\12\2\0" - + "\2\12\1\u010b\2\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\4\12\4\0\10\12\2\0\2\12\1\u010c\2\12" + "\12\0\1\11\1\0\5\12\1\u010d\16\12\1\11\7\12" - + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\11\12\1\u010e\12\12\1\11\7\12\2\0\1\115\1\12" + "\1\u010f\1\12\1\0\1\12\1\0\1\11\1\0\4\12" - + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\24\12" + "\55\0\1\53\1\0\1\34\32\0\1\11\7\233\2\0" - + "\1\u0110\3\233\1\0\1\233\1\0\1\11\1\0\4\233" + "\4\0\10\233\2\0\5\233\12\0\1\11\1\0\24\233" - + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\3\12\1\u0101\4\0\2\12\1\u0111\5\12" - + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" - + "\4\12\4\0\10\12\2\0\2\12\1\u0112\2\12\12\0" + "\1\11\1\0\2\12\1\u0113\2\12\1\u0114\16\12\1\11" - + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\3\12\1\u0115\4\0\10\12\2\0\5\12\12\0" - + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\1\12\1\u0116\2\12" + private static final String ZZ_TRANS_PACKED_0 = "\1\11\1\12\1\13\1\14\1\15\1\14\1\12\1\14" + + "\1\16\1\17\1\11\1\20\1\21\1\22\1\23\1\14" + "\1\24\1\11\1\25\1\26\1\27\1\30\1\31\1\32" + + "\1\33\1\34\1\35\2\12\1\36\3\12\1\37\1\12" + "\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47" + + "\1\50\1\51\2\34\1\52\1\34\1\53\1\54\1\53" + "\1\55\1\47\1\12\1\56\1\57\1\60\1\61\1\62" + + "\2\12\1\63\13\12\11\64\1\65\3\64\1\66\5\64" + "\1\67\5\64\1\70\34\64\1\71\34\64\1\72\3\64" + + "\1\73\5\64\1\74\5\64\1\75\34\64\1\76\23\64" + "\11\77\1\100\3\77\1\66\5\77\1\67\4\77\1\101" + + "\1\77\1\102\33\77\1\71\23\77\11\103\1\104\3\103" + "\1\105\5\103\1\106\42\103\1\107\34\103\1\110\3\103" + + "\1\73\5\103\1\74\42\103\1\76\23\103\16\111\1\112" + "\73\111\27\113\1\114\62\113\10\11\2\0\4\11\1\0" + + "\1\11\1\0\1\11\1\0\4\11\4\0\10\11\2\0" + "\5\11\12\0\1\11\1\0\25\11\7\12\2\0\1\115" + + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\5\12\12\0\1\11\1\0\24\12\1\11" + + "\1\12\1\116\5\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + + "\12\0\1\11\1\0\24\12\2\117\1\120\3\14\1\117" + "\1\14\2\0\3\117\1\121\1\0\1\14\1\0\1\117" + + "\1\0\4\117\4\0\1\122\4\117\2\121\1\123\1\0" + "\1\124\1\117\1\123\1\117\1\122\1\117\12\0\1\117" + + "\1\0\12\117\1\121\13\117\1\125\1\126\2\127\1\117" + "\1\127\2\0\3\117\1\121\1\0\1\127\1\0\1\117" + + "\1\0\2\117\1\130\1\117\4\0\1\122\2\131\1\130" + "\1\117\2\121\1\123\1\0\1\124\1\117\1\123\1\117" + + "\1\122\1\117\12\0\1\117\1\0\12\117\1\121\11\117" + "\10\132\1\133\1\134\1\135\77\132\112\0\1\11\7\12" + + "\2\0\1\115\1\12\1\136\1\12\1\0\1\12\1\0" + "\1\11\1\0\1\12\1\137\2\12\4\0\2\12\1\140" + + "\5\12\2\0\3\12\1\141\1\142\12\0\1\11\1\0" + "\2\12\1\143\21\12\1\11\7\12\2\0\1\115\1\144" + + "\2\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\1\12\1\145\3\12\12\0\1\11\1\0" + + "\5\12\1\146\16\12\1\11\7\12\2\0\1\115\1\147" + "\2\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + + "\10\12\2\0\2\12\1\150\1\151\1\12\12\0\1\11" + "\1\0\2\12\1\152\2\12\1\153\16\12\11\23\1\154" + + "\1\155\3\23\1\156\73\23\22\0\1\25\67\0\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + + "\1\0\1\12\1\157\2\12\4\0\10\12\2\0\4\12" + "\1\160\12\0\1\11\1\0\1\161\1\12\1\162\21\12" + + "\1\11\7\12\2\0\1\115\2\12\1\163\1\0\1\12" + "\1\0\1\11\1\0\3\12\1\164\4\0\6\12\1\165" + + "\1\12\2\0\1\12\1\143\1\166\1\167\1\12\12\0" + "\1\11\1\0\1\170\4\12\1\171\16\12\1\11\7\12" + + "\2\0\1\115\3\12\1\172\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + + "\24\12\1\11\7\12\2\0\1\115\3\12\1\173\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\1\12" + + "\1\174\3\12\12\0\1\11\1\0\24\12\30\0\1\175" + "\1\176\1\177\22\0\1\53\111\0\1\53\66\0\1\53" + + "\22\0\1\53\34\0\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\3\12\1\200\4\0" + + "\10\12\2\0\5\12\12\0\1\11\1\0\5\12\1\201" + "\1\202\15\12\1\11\7\12\2\0\1\115\3\12\1\0" + + "\1\12\1\0\1\11\1\0\1\12\1\157\2\12\4\0" + "\10\12\2\0\1\12\1\203\2\12\1\160\12\0\1\11" + + "\1\0\5\12\1\204\16\12\43\0\1\53\11\0\1\53" + "\37\0\3\124\1\0\1\124\7\0\1\124\72\0\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\3\12\1\205\4\0\10\12\2\0\1\12\1\206" + + "\3\12\12\0\1\11\1\0\1\207\5\12\1\210\15\12" + "\1\11\7\12\2\0\1\115\1\12\1\211\1\12\1\0" + + "\1\12\1\0\1\11\1\0\2\12\1\212\1\12\4\0" + "\10\12\2\0\3\12\1\213\1\12\12\0\1\11\1\0" + + "\24\12\1\11\7\12\2\0\1\115\1\214\2\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\2\12\1\215" + + "\5\12\2\0\3\12\1\216\1\217\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\2\12" + "\1\220\2\12\12\0\1\11\1\0\5\12\1\221\16\12" + + "\1\11\7\12\2\0\1\115\1\222\2\12\1\0\1\12" + "\1\0\1\11\1\0\1\223\1\224\2\12\4\0\10\12" + + "\2\0\1\225\4\12\12\0\1\11\1\0\1\226\1\12" + "\1\227\3\12\1\230\15\12\54\0\1\231\1\53\111\0" + + "\1\53\1\0\1\232\107\0\1\53\4\0\1\53\27\0" + "\1\11\2\233\3\11\1\233\1\11\2\0\1\11\3\233" + + "\1\0\1\11\1\0\1\11\1\0\4\233\4\0\10\233" + "\2\0\5\233\12\0\1\11\1\0\24\233\1\11\7\12" + + "\2\0\1\115\1\234\2\12\1\0\1\12\1\0\1\11" + "\1\0\3\12\1\235\4\0\10\12\2\0\1\236\1\12" + + "\1\237\2\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\1\12\1\240\1\241\1\0\1\12\1\0" + + "\1\11\1\0\3\12\1\164\4\0\6\12\1\165\1\12" + "\2\0\4\12\1\242\12\0\1\11\1\0\4\12\1\243" + + "\17\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + + "\12\0\1\11\1\0\5\12\1\214\16\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\2\12\1\244\2\12\12\0" + "\1\11\1\0\2\12\1\245\2\12\1\246\16\12\1\11" + + "\7\12\2\0\1\115\1\247\2\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + + "\1\11\1\0\10\12\1\250\13\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + + "\4\0\10\12\2\0\1\12\1\251\3\12\12\0\1\11" + "\1\0\5\12\1\252\16\12\11\64\1\0\3\64\1\0" + + "\5\64\1\0\5\64\1\0\34\64\1\0\23\64\45\0" + "\1\253\22\0\1\254\44\0\1\255\116\0\1\256\126\0" + + "\1\257\111\0\1\260\22\0\1\261\44\0\1\262\116\0" + "\1\263\126\0\1\264\44\0\11\77\1\0\3\77\1\0" + + "\5\77\1\0\4\77\1\0\1\77\1\0\33\77\1\0" + "\23\77\32\0\1\265\107\0\1\266\61\0\11\103\1\0" + + "\3\103\1\0\5\103\1\0\42\103\1\0\23\103\45\0" + "\1\267\22\0\1\270\44\0\1\271\133\0\1\272\44\0" + + "\16\111\1\0\73\111\27\113\1\0\62\113\10\11\2\0" + "\1\11\1\273\2\11\1\0\1\11\1\0\1\11\1\0" + + "\4\11\4\0\10\11\2\0\5\11\12\0\1\11\1\0" + "\25\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + + "\1\11\1\0\4\12\4\0\1\274\7\12\2\0\1\275" + "\4\12\12\0\1\11\1\0\1\12\1\276\1\12\1\277" + + "\4\12\1\300\1\12\1\301\1\12\1\302\4\12\1\303" + "\2\12\10\117\2\0\4\117\1\0\1\117\1\0\1\117" + + "\1\0\4\117\4\0\10\117\2\0\5\117\12\0\1\117" + "\1\0\26\117\1\120\3\304\1\117\1\304\2\0\4\117" + + "\1\0\1\304\1\0\1\117\1\0\4\117\4\0\10\117" + "\2\0\5\117\12\0\1\117\1\0\27\117\3\305\1\117" + + "\1\305\2\0\4\117\1\0\1\305\1\0\1\117\1\0" + "\4\117\3\0\1\306\10\117\1\306\1\0\5\117\12\0" + + "\1\117\1\0\27\117\3\124\1\117\1\124\2\0\3\117" + "\1\121\1\0\1\124\1\0\1\117\1\0\4\117\4\0" + + "\5\117\2\121\1\123\2\0\1\117\1\123\3\117\12\0" + "\1\117\1\0\12\117\1\121\13\117\1\125\1\117\2\307" + + "\1\117\1\307\2\0\4\117\1\0\1\307\1\0\1\117" + "\1\0\4\117\4\0\10\117\2\0\5\117\12\0\1\117" + + "\1\0\27\117\3\126\1\117\1\126\2\0\3\117\1\121" + "\1\0\1\126\1\0\1\117\1\0\4\117\4\0\5\117" + + "\2\121\1\123\1\0\1\124\1\117\1\123\3\117\12\0" + "\1\117\1\0\12\117\1\121\13\117\1\125\1\126\2\127" + + "\1\117\1\127\2\0\1\117\1\310\1\117\1\121\1\0" + "\1\127\1\0\1\117\1\0\4\117\4\0\1\311\3\117" + + "\1\310\2\121\1\123\1\0\1\124\1\117\1\123\1\117" + "\1\311\1\117\12\0\1\117\1\0\12\117\1\121\14\117" + + "\5\312\2\0\3\117\1\312\1\0\1\312\1\0\1\117" + "\1\0\1\117\1\312\2\117\4\0\1\117\2\312\2\117" + + "\3\312\2\0\1\117\2\312\2\117\12\0\1\117\1\0" + "\12\117\1\312\4\117\1\312\10\117\2\313\2\117\2\0" + + "\4\117\1\0\1\117\1\0\1\117\1\0\4\117\4\0" + "\10\117\2\0\5\117\12\0\1\117\1\0\24\117\10\314" + + "\1\315\1\0\100\314\23\0\2\316\14\0\1\316\60\0" + "\1\315\101\0\4\314\2\317\1\314\1\320\1\321\1\0" + + "\1\132\1\322\3\132\1\317\6\314\1\132\6\314\1\132" + "\7\314\1\132\44\314\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\5\12\12\0\1\11\1\0\2\12\1\323\21\12" + + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\1\12\1\143" + + "\3\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\6\12" + "\1\202\15\12\1\11\7\12\2\0\1\115\3\12\1\0" + + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\5\12\1\221\16\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + + "\1\0\1\324\23\12\1\11\7\12\2\0\1\115\1\12" + "\1\325\1\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\1\u0117\4\12" + "\12\0\1\11\1\0\5\12\1\u0118\2\12\1\u0119\13\12" + + "\1\11\1\0\4\12\4\0\10\12\2\0\3\12\1\326" + "\1\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\1\242" + "\3\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\1\327" + + "\4\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\1\12\1\330\1\12\1\0\1\12\1\0\1\11" + + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\3\12\1\331\1\12\12\0\1\11\1\0\24\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + + "\1\0\5\12\1\332\16\12\1\11\7\12\2\0\1\115" + "\1\12\1\333\1\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + + "\1\0\1\11\1\0\3\12\1\334\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\24\12\12\154\1\335\3\154" + + "\1\336\77\154\2\23\1\154\2\23\1\0\1\23\1\337" + "\4\23\6\154\1\23\6\154\1\23\7\154\1\23\44\154" + + "\23\0\2\340\14\0\1\340\50\0\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\1\170" + "\23\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\1\341" + "\4\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\2\12" + + "\1\342\21\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + + "\1\343\4\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\3\12\1\151\1\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\1\12\1\344\3\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" - + "\1\11\1\0\1\12\1\u0100\2\12\1\u011a\17\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\1\12\1\u011b\2\12\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" - + "\3\12\1\0\1\12\1\0\1\11\1\0\2\12\1\u011c" + "\1\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\6\12\1\u011d\1\12" - + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" - + "\4\12\4\0\10\12\2\0\1\242\4\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" - + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\1\12\1\u011e\3\12\12\0\1\11\1\0\24\12\1\11" - + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\3\12\1\u011f\4\0\10\12\2\0\5\12\12\0" + + "\1\11\1\0\5\12\1\345\16\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + + "\4\0\10\12\2\0\1\346\3\12\1\347\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\2\12\1\350\2\12\12\0\1\11\1\0\24\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\2\12\1\351\2\12" + + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + "\1\12\1\352\1\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\11\172\1\353\1\354\3\172\1\156\73\172\1\11" + + "\7\12\2\0\1\115\2\12\1\242\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\1\355\1\12" + + "\1\356\2\12\12\0\1\11\1\0\24\12\30\0\1\357" + "\112\0\1\360\60\0\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\1\12\1\361\3\12\12\0\1\11\1\0\24\12" + + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\6\12\1\362\1\12\2\0" + + "\5\12\12\0\1\11\1\0\5\12\1\356\16\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + + "\1\0\4\12\4\0\10\12\2\0\1\363\4\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\2\12" + + "\1\364\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\2\12\1\365\5\12\2\0\3\12\1\366\1\12\12\0" + + "\1\11\1\0\1\12\1\367\22\12\1\11\7\12\2\0" + "\1\115\1\370\2\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\1\371\2\12\1\0" + + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\6\12\1\242\15\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + + "\1\0\4\12\1\372\17\12\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\3\12\1\373" + + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\2\12" + "\1\374\21\12\1\11\7\12\2\0\1\115\3\12\1\0" + + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\1\12\1\375\22\12\1\11" + + "\7\12\2\0\1\115\1\376\2\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\3\12\1\u0120\1\12\12\0\1\11\1\0\2\12" + "\1\u0121\21\12\67\0\1\u0122\72\0\1\u0123\64\0\1\u0124" - + "\133\0\1\u0125\133\0\1\u0126\72\0\1\u0127\64\0\1\u0128" + "\133\0\1\u0129\133\0\1\u012a\72\0\1\u012b\64\0\1\u012c" + + "\2\0\1\377\4\12\12\0\1\11\1\0\1\12\1\u0100" + "\22\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\4\12" + "\1\u0101\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\1\u0102\4\12\12\0\1\11\1\0" + + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\4\12" + + "\1\u0103\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\2\12" + "\1\u0104\21\12\1\11\7\12\2\0\1\115\3\12\1\0" + + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\4\12\1\u0105\12\0\1\11\1\0\4\12\1\242\17\12" + + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + + "\1\11\1\0\11\12\1\362\12\12\1\11\7\12\2\0" + "\1\115\1\12\1\u0106\1\12\1\0\1\12\1\0\1\11" + + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\1\12\1\u0107\22\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + + "\1\0\2\12\1\u0108\21\12\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + + "\10\12\2\0\5\12\12\0\1\11\1\0\5\12\1\u0109" + "\16\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + + "\1\0\1\11\1\0\3\12\1\u010a\4\0\10\12\2\0" + "\2\12\1\u010b\2\12\12\0\1\11\1\0\24\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\2\12\1\u010c\2\12" + + "\12\0\1\11\1\0\5\12\1\u010d\16\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\11\12\1\u010e\12\12\1\11\7\12\2\0\1\115\1\12" + + "\1\u010f\1\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\24\12" + + "\55\0\1\53\1\0\1\34\32\0\1\11\7\233\2\0" + "\1\u0110\3\233\1\0\1\233\1\0\1\11\1\0\4\233" + + "\4\0\10\233\2\0\5\233\12\0\1\11\1\0\24\233" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + + "\1\11\1\0\3\12\1\u0101\4\0\2\12\1\u0111\5\12" + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\2\12\1\u0112\2\12\12\0" + + "\1\11\1\0\2\12\1\u0113\2\12\1\u0114\16\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + + "\1\0\3\12\1\u0115\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\1\12\1\u0116\2\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\24\12" + + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\1\u0117\4\12" + + "\12\0\1\11\1\0\5\12\1\u0118\2\12\1\u0119\13\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\1\12\1\u0100\2\12\1\u011a\17\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\1\12\1\u011b\2\12\4\0\10\12\2\0\5\12" + + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\2\12\1\u011c" + + "\1\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + + "\1\0\1\11\1\0\4\12\4\0\6\12\1\u011d\1\12" + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\1\242\4\12\12\0\1\11" + + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + + "\1\12\1\u011e\3\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + + "\1\0\3\12\1\u011f\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\3\12\1\u0120\1\12\12\0\1\11\1\0\2\12" + + "\1\u0121\21\12\67\0\1\u0122\72\0\1\u0123\64\0\1\u0124" + + "\133\0\1\u0125\133\0\1\u0126\72\0\1\u0127\64\0\1\u0128" + + "\133\0\1\u0129\133\0\1\u012a\72\0\1\u012b\64\0\1\u012c" + "\133\0\1\u012d\44\0\3\11\5\u012e\2\0\3\11\1\u012e" + "\1\0\1\u012e\1\0\1\11\1\0\1\11\1\u012e\2\11" + "\4\0\1\11\2\u012e\2\11\3\u012e\2\0\1\11\2\u012e" + "\2\11\12\0\1\11\1\0\12\11\1\u012e\4\11\1\u012e" + "\5\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" @@ -391,79 +396,81 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { + "\4\117\4\0\10\117\2\0\5\117\12\0\1\117\1\0" + "\24\117\10\314\1\133\1\0\100\314\23\0\2\u013b\14\0" + "\1\u013b\50\0\4\314\2\320\1\314\1\320\1\315\1\0" + "\5\314\1\320\76\314\2\132\1\314\1\132\1\315\1\0" + "\5\314\1\132\72\314\10\0\1\315\12\0\2\316\14\0" + "\1\316\50\0\3\314\5\u013c\1\133\1\0\3\314\1\u013c" - + "\1\314\1\u013c\4\314\1\u013c\7\314\2\u013c\2\314\3\u013c" + "\3\314\2\u013c\30\314\1\u013c\4\314\1\u013c\4\314\1\11" - + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\1\u013d\4\12\12\0" - + "\1\11\1\0\5\12\1\u013e\16\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" - + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\5\12" + "\1\u010d\16\12\1\11\7\12\2\0\1\115\3\12\1\0" - + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\1\u013f\4\12\12\0\1\11\1\0\24\12\1\11\7\12" - + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\3\12\1\242\1\12\12\0" - + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\5\12\12\0\1\11\1\0\1\u0140\23\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\1\12\1\u0141\2\12\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" - + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\4\12\1\371\12\0\1\11\1\0\24\12" - + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\2\12\1\325" - + "\2\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" - + "\4\0\10\12\2\0\2\12\1\u0142\2\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" - + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\1\12\1\u0143\3\12\12\0\1\11\1\0\24\12\11\154" - + "\1\0\100\154\23\0\2\u0144\14\0\1\u0144\50\0\3\154" + "\5\u0145\2\154\1\335\2\154\1\u0145\1\336\1\u0145\4\154" - + "\1\u0145\7\154\2\u0145\2\154\3\u0145\3\154\2\u0145\30\154" + "\1\u0145\4\154\1\u0145\4\154\1\11\7\12\2\0\1\115" - + "\3\12\1\0\1\12\1\0\1\11\1\0\3\12\1\u0146" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\24\12" - + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\3\12\1\u0101" - + "\1\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" - + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\1\242" + "\23\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" - + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\2\12" + "\1\356\2\12\12\0\1\11\1\0\24\12\1\11\7\12" - + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\1\12\1\343\2\12\4\0\10\12\2\0\5\12\12\0" - + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\2\242\3\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\4\12\4\0\10\12\2\0\4\12\1\374\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" - + "\1\0\1\12\1\0\1\11\1\0\3\12\1\u013f\4\0" + "\10\12\2\0\5\12\12\0\1\11\1\0\24\12\1\11" - + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\1\u0147\3\12\1\247" - + "\12\0\1\11\1\0\24\12\12\353\1\u0148\3\353\1\0" + "\77\353\2\172\1\353\2\172\1\0\1\172\1\u0149\4\172" - + "\6\353\1\172\6\353\1\172\7\353\1\172\44\353\1\11" + "\7\12\2\0\1\115\1\u014a\2\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" - + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\3\12\1\u013f\1\12\12\0\1\11\1\0\24\12" - + "\30\0\1\u014b\61\0\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\2\12\1\u014c\2\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\6\12\1\242\15\12\1\11\7\12\2\0" - + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\1\12\1\u013f\3\12\12\0\1\11" + + "\1\314\1\u013c\4\314\1\u013c\7\314\2\u013c\2\314\3\u013c" + + "\3\314\2\u013c\30\314\1\u013c\4\314\1\u013c\4\314\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + + "\1\0\4\12\4\0\10\12\2\0\1\u013d\4\12\12\0" + "\1\11\1\0\5\12\1\u013e\16\12\1\11\7\12\2\0" + + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\5\12" + + "\1\u010d\16\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + + "\1\u013f\4\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\3\12\1\242\1\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\5\12\12\0\1\11\1\0\1\u0140\23\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\1\12\1\u0141\2\12\4\0\10\12\2\0\5\12" + + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + + "\10\12\2\0\4\12\1\371\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + + "\1\11\1\0\4\12\4\0\10\12\2\0\2\12\1\325" + "\2\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\2\12\1\u0142\2\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" - + "\2\12\1\u014d\2\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\1\u014e\2\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" - + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\1\12\1\u014f\3\12\12\0\1\11\1\0\24\12" - + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\3\12\1\u0150\4\0\10\12\2\0\5\12" + + "\1\12\1\u0143\3\12\12\0\1\11\1\0\24\12\11\154" + "\1\0\100\154\23\0\2\u0144\14\0\1\u0144\50\0\3\154" + + "\5\u0145\2\154\1\335\2\154\1\u0145\1\336\1\u0145\4\154" + + "\1\u0145\7\154\2\u0145\2\154\3\u0145\3\154\2\u0145\30\154" + + "\1\u0145\4\154\1\u0145\4\154\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\3\12\1\u0146" + + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + + "\1\11\1\0\4\12\4\0\10\12\2\0\3\12\1\u0101" + "\1\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\1\242" + + "\23\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\2\12" + + "\1\356\2\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + + "\1\12\1\343\2\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\2\242\3\12\12\0\1\11\1\0\24\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\4\12\1\374\12\0" + + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\3\12\1\u013f\4\0" + + "\10\12\2\0\5\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + + "\1\0\4\12\4\0\10\12\2\0\1\u0147\3\12\1\247" + "\12\0\1\11\1\0\24\12\12\353\1\u0148\3\353\1\0" + + "\77\353\2\172\1\353\2\172\1\0\1\172\1\u0149\4\172" + "\6\353\1\172\6\353\1\172\7\353\1\172\44\353\1\11" + + "\7\12\2\0\1\115\1\u014a\2\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + + "\2\0\3\12\1\u013f\1\12\12\0\1\11\1\0\24\12" + "\30\0\1\u014b\61\0\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\2\12\1\u014c\2\12\12\0\1\11\1\0\24\12" + + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + + "\1\11\1\0\6\12\1\242\15\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + + "\4\0\10\12\2\0\1\12\1\u013f\3\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\2\12\1\u014d\2\12\12\0\1\11\1\0\24\12\1\11" + + "\7\12\2\0\1\115\1\u014e\2\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + + "\2\0\1\12\1\u014f\3\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + + "\1\11\1\0\3\12\1\u0150\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\2\12\1\u0151\5\12\2\0\5\12\12\0\1\11\1\0" + + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\1\12" + + "\1\u0152\3\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\1\12\1\u0153\22\12\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\5\12\12\0\1\11\1\0\5\12\1\145\16\12" + + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\4\12\1\242" + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" - + "\2\12\1\u0151\5\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" - + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\1\12" + "\1\u0152\3\12\12\0\1\11\1\0\24\12\1\11\7\12" - + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\1\12\1\u0153\22\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\5\12\12\0\1\11\1\0\5\12\1\145\16\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\4\12\1\242" + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" - + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\1\12\1\u0154\3\12\12\0\1\11\1\0" - + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" - + "\12\0\1\11\1\0\4\12\1\242\17\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" - + "\4\12\4\0\10\12\2\0\1\12\1\u0155\3\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" - + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\5\12\12\0\1\11\1\0\5\12\1\u0156\16\12" - + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\1\12\1\242" - + "\3\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" - + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\5\12" + "\1\242\16\12\1\11\7\12\2\0\1\115\3\12\1\0" - + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\1\u0157\4\12\12\0\1\11\1\0\24\12\1\11\7\12" - + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\2\12\1\374\2\12\12\0" - + "\1\11\1\0\3\12\1\u013e\20\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" - + "\4\0\10\12\2\0\1\12\1\u0156\3\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" - + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\3\12\1\u013f\20\12\1\11" - + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\1\12\1\u0158\3\12" - + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" - + "\10\12\2\0\1\346\4\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\1\12\1\u0101\22\12\1\11\7\12\2\0" - + "\1\115\1\u0159\2\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\2\12\1\221\21\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\1\u015a\4\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\3\12\1\u015b\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" - + "\1\0\1\12\1\0\1\11\1\0\3\12\1\325\4\0" + "\10\12\2\0\5\12\12\0\1\11\1\0\24\12\1\11" - + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\1\12\1\u015c\3\12" - + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\1\12\1\u015d" - + "\2\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\10\11\2\0\1\11\1\u015e\2\11\1\0\1\11" - + "\1\0\1\11\1\0\4\11\4\0\10\11\2\0\5\11" + "\12\0\1\11\1\0\25\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + + "\10\12\2\0\1\12\1\u0154\3\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\4\12\1\242\17\12\1\11\7\12" + + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\1\12\1\u0155\3\12\12\0" + + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + + "\2\0\5\12\12\0\1\11\1\0\5\12\1\u0156\16\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + + "\1\11\1\0\4\12\4\0\10\12\2\0\1\12\1\242" + "\3\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\5\12" + + "\1\242\16\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + + "\1\u0157\4\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\2\12\1\374\2\12\12\0" + "\1\11\1\0\3\12\1\u013e\20\12\1\11\7\12\2\0" + + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\1\12\1\u0156\3\12\12\0\1\11" + + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + + "\5\12\12\0\1\11\1\0\3\12\1\u013f\20\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + + "\1\0\4\12\4\0\10\12\2\0\1\12\1\u0158\3\12" + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\1\346\4\12\12\0\1\11\1\0\24\12" + + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + + "\1\11\1\0\1\12\1\u0101\22\12\1\11\7\12\2\0" + "\1\115\1\u0159\2\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\2\12\1\221\21\12\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\1\u015a\4\12\12\0\1\11\1\0\24\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\3\12\1\u015b\4\0\10\12\2\0\5\12\12\0" + + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\3\12\1\325\4\0" + + "\10\12\2\0\5\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + + "\1\0\4\12\4\0\10\12\2\0\1\12\1\u015c\3\12" + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + + "\3\12\1\0\1\12\1\0\1\11\1\0\1\12\1\u015d" + "\2\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + + "\24\12\10\11\2\0\1\11\1\u015e\2\11\1\0\1\11" + "\1\0\1\11\1\0\4\11\4\0\10\11\2\0\5\11" + + "\12\0\1\11\1\0\25\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\3\12\1\u015a\1\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\3\12\1\u015f\20\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\10\12" @@ -477,15 +484,17 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\2\12" + "\1\u0165\2\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\1\u0166\2\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\3\12\1\u0102\4\0\10\12" - + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\2\12\1\u013e\21\12\1\11\7\12\2\0\1\115\1\342" + "\2\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" - + "\10\12\2\0\5\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\3\12\1\u0167\4\0\10\12\2\0\5\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" - + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\4\12\1\u0168\12\0\1\11\1\0\24\12\1\11" - + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\2\12\1\u0169\2\12" - + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" - + "\6\12\1\242\1\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\63\0\1\u016a\74\0\1\u0122\107\0\1\u016b\134\0" - + "\1\u016c\105\0\1\u016d\74\0\1\u0126\107\0\1\u016e\134\0" + "\1\u016f\105\0\1\u0170\74\0\1\u012a\107\0\1\u0171\134\0" + + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\2\12\1\u013e\21\12\1\11\7\12\2\0\1\115\1\342" + + "\2\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\5\12\12\0\1\11\1\0\24\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\3\12\1\u0167\4\0\10\12\2\0\5\12\12\0" + + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + + "\2\0\4\12\1\u0168\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + + "\1\0\4\12\4\0\10\12\2\0\2\12\1\u0169\2\12" + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\6\12\1\242\1\12\2\0\5\12\12\0\1\11\1\0" + + "\24\12\63\0\1\u016a\74\0\1\u0122\107\0\1\u016b\134\0" + + "\1\u016c\105\0\1\u016d\74\0\1\u0126\107\0\1\u016e\134\0" + + "\1\u016f\105\0\1\u0170\74\0\1\u012a\107\0\1\u0171\134\0" + "\1\u0172\22\0\3\11\5\u0173\2\0\3\11\1\u0173\1\0" + "\1\u0173\1\0\1\11\1\0\1\11\1\u0173\2\11\4\0" + "\1\11\2\u0173\2\11\3\u0173\2\0\1\11\2\u0173\2\11" + "\12\0\1\11\1\0\12\11\1\u0173\4\11\1\u0173\5\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" @@ -494,31 +503,35 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { + "\1\0\1\11\1\0\3\12\1\u0176\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\1\u0177" + "\23\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\1\12\1\u0178\2\12\4\0\10\12" - + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\16\12\1\u0179\5\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\1\u0174" - + "\7\12\2\0\5\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\4\12\4\0\5\12\1\u017a\2\12\2\0\5\12" + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" - + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\7\12\1\u017b\2\0\5\12\12\0\1\11\1\0\24\12" - + "\2\117\1\u0139\5\312\2\0\3\117\1\312\1\0\1\312" + "\1\0\1\117\1\0\1\117\1\312\2\117\4\0\1\117" - + "\2\312\2\117\3\312\2\0\1\117\2\312\2\117\12\0" + "\1\117\1\0\12\117\1\312\4\117\1\312\4\117\3\314" - + "\5\u017c\1\133\1\0\3\314\1\u017c\1\314\1\u017c\4\314" + "\1\u017c\7\314\2\u017c\2\314\3\u017c\3\314\2\u017c\30\314" + + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\16\12\1\u0179\5\12\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\1\u0174" + "\7\12\2\0\5\12\12\0\1\11\1\0\24\12\1\11" + + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\5\12\1\u017a\2\12\2\0\5\12" + + "\12\0\1\11\1\0\24\12\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + + "\7\12\1\u017b\2\0\5\12\12\0\1\11\1\0\24\12" + "\2\117\1\u0139\5\312\2\0\3\117\1\312\1\0\1\312" + + "\1\0\1\117\1\0\1\117\1\312\2\117\4\0\1\117" + "\2\312\2\117\3\312\2\0\1\117\2\312\2\117\12\0" + + "\1\117\1\0\12\117\1\312\4\117\1\312\4\117\3\314" + "\5\u017c\1\133\1\0\3\314\1\u017c\1\314\1\u017c\4\314" + + "\1\u017c\7\314\2\u017c\2\314\3\u017c\3\314\2\u017c\30\314" + "\1\u017c\4\314\1\u017c\4\314\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\1\u017d\4\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\1\12\1\242\1\12\1\0" - + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\3\12" - + "\1\373\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" - + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\1\u0168" + "\4\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" - + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\3\12\1\u017e\1\12\12\0\1\11" + + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\3\12" + "\1\373\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\1\u0168" + + "\4\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + + "\4\0\10\12\2\0\3\12\1\u017e\1\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\2\12\1\u017f\2\12\12\0\1\11\1\0\24\12\3\154" + + "\5\u0180\2\154\1\335\2\154\1\u0180\1\336\1\u0180\4\154" + + "\1\u0180\7\154\2\u0180\2\154\3\u0180\3\154\2\u0180\30\154" + + "\1\u0180\4\154\1\u0180\4\154\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + + "\10\12\2\0\5\12\12\0\1\11\1\0\2\12\1\221" + "\21\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\2\12\1\u0181\21\12\11\353\1\0" + + "\103\353\5\u0182\2\353\1\u0148\2\353\1\u0182\1\0\1\u0182" + + "\4\353\1\u0182\7\353\2\u0182\2\353\3\u0182\3\353\2\u0182" + + "\30\353\1\u0182\4\353\1\u0182\4\353\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\3\12" + + "\1\u0183\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\7\12\1\242\14\12\1\11\7\12" + + "\2\0\1\115\1\u0184\2\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" - + "\2\12\1\u017f\2\12\12\0\1\11\1\0\24\12\3\154" + "\5\u0180\2\154\1\335\2\154\1\u0180\1\336\1\u0180\4\154" - + "\1\u0180\7\154\2\u0180\2\154\3\u0180\3\154\2\u0180\30\154" + "\1\u0180\4\154\1\u0180\4\154\1\11\7\12\2\0\1\115" - + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\5\12\12\0\1\11\1\0\2\12\1\221" - + "\21\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" - + "\12\0\1\11\1\0\2\12\1\u0181\21\12\11\353\1\0" + "\103\353\5\u0182\2\353\1\u0148\2\353\1\u0182\1\0\1\u0182" - + "\4\353\1\u0182\7\353\2\u0182\2\353\3\u0182\3\353\2\u0182" + "\30\353\1\u0182\4\353\1\u0182\4\353\1\11\7\12\2\0" - + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\3\12" + "\1\u0183\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" - + "\12\0\1\11\1\0\7\12\1\242\14\12\1\11\7\12" + "\2\0\1\115\1\u0184\2\12\1\0\1\12\1\0\1\11" - + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\3\12\1\242\20\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\1\u0101\4\12\12\0" + "\1\11\1\0\3\12\1\u0160\20\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\1\12\1\u0185\3\12\12\0\1\11" @@ -554,33 +567,41 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\5\12\12\0\1\11\1\0\2\12\1\u0195\21\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\1\161\4\12" + "\12\0\1\11\1\0\24\12\30\0\1\u0196\62\0\1\u016b" - + "\1\u0197\5\u016b\1\u0197\2\0\3\u016b\1\0\1\u016b\1\0" + "\1\u0197\1\0\4\u016b\1\0\1\u016b\2\u0197\10\u016b\2\u0197" - + "\5\u016b\1\0\1\u0197\1\0\1\u0197\2\0\6\u0197\24\u016b" + "\51\0\1\u0122\11\0\1\u016a\56\0\1\u0198\62\0\1\u016e" - + "\1\u0199\5\u016e\1\u0199\2\0\3\u016e\1\0\1\u016e\1\0" + "\1\u0199\1\0\4\u016e\1\0\1\u016e\2\u0199\10\u016e\2\u0199" - + "\5\u016e\1\0\1\u0199\1\0\1\u0199\2\0\6\u0199\24\u016e" + "\51\0\1\u0126\11\0\1\u016d\56\0\1\u019a\62\0\1\u0171" - + "\1\u019b\5\u0171\1\u019b\2\0\3\u0171\1\0\1\u0171\1\0" + "\1\u019b\1\0\4\u0171\1\0\1\u0171\2\u019b\10\u0171\2\u019b" - + "\5\u0171\1\0\1\u019b\1\0\1\u019b\2\0\6\u019b\24\u0171" + "\51\0\1\u012a\11\0\1\u0170\26\0\3\11\5\u019c\2\0" - + "\3\11\1\u019c\1\0\1\u019c\1\0\1\11\1\0\1\11" + "\1\u019c\2\11\4\0\1\11\2\u019c\2\11\3\u019c\2\0" - + "\1\11\2\u019c\2\11\12\0\1\11\1\0\12\11\1\u019c" + "\4\11\1\u019c\5\11\7\12\2\0\1\115\3\12\1\0" - + "\1\12\1\0\1\11\1\0\4\12\4\0\7\12\1\u019d" + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" - + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" - + "\2\12\1\u019e\21\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\2\12\1\u019f\2\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" - + "\1\11\1\0\4\12\4\0\10\12\2\0\2\12\1\u010c" + "\2\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" - + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\1\u01a0\4\12\12\0\1\11\1\0" - + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" - + "\12\0\1\11\1\0\17\12\1\u01a1\4\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" - + "\4\12\4\0\4\12\1\u0135\3\12\2\0\5\12\12\0" + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" - + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\5\12\12\0\1\11\1\0\20\12\1\u01a2\3\12" - + "\3\314\5\u01a3\1\133\1\0\3\314\1\u01a3\1\314\1\u01a3" + "\4\314\1\u01a3\7\314\2\u01a3\2\314\3\u01a3\3\314\2\u01a3" + + "\1\u0197\5\u016b\1\u0197\2\0\3\u016b\1\0\1\u016b\1\0" + + "\1\u0197\1\0\4\u016b\1\0\1\u016b\2\u0197\10\u016b\2\u0197" + + "\5\u016b\1\0\1\u0197\1\0\1\u0197\2\0\6\u0197\24\u016b" + + "\51\0\1\u0122\11\0\1\u016a\56\0\1\u0198\62\0\1\u016e" + + "\1\u0199\5\u016e\1\u0199\2\0\3\u016e\1\0\1\u016e\1\0" + + "\1\u0199\1\0\4\u016e\1\0\1\u016e\2\u0199\10\u016e\2\u0199" + + "\5\u016e\1\0\1\u0199\1\0\1\u0199\2\0\6\u0199\24\u016e" + + "\51\0\1\u0126\11\0\1\u016d\56\0\1\u019a\62\0\1\u0171" + + "\1\u019b\5\u0171\1\u019b\2\0\3\u0171\1\0\1\u0171\1\0" + + "\1\u019b\1\0\4\u0171\1\0\1\u0171\2\u019b\10\u0171\2\u019b" + + "\5\u0171\1\0\1\u019b\1\0\1\u019b\2\0\6\u019b\24\u0171" + + "\51\0\1\u012a\11\0\1\u0170\26\0\3\11\5\u019c\2\0" + "\3\11\1\u019c\1\0\1\u019c\1\0\1\11\1\0\1\11" + + "\1\u019c\2\11\4\0\1\11\2\u019c\2\11\3\u019c\2\0" + "\1\11\2\u019c\2\11\12\0\1\11\1\0\12\11\1\u019c" + + "\4\11\1\u019c\5\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\7\12\1\u019d" + + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" + "\2\12\1\u019e\21\12\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\2\12\1\u019f\2\12\12\0\1\11\1\0\24\12" + + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\2\12\1\u010c" + + "\2\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + + "\4\0\10\12\2\0\1\u01a0\4\12\12\0\1\11\1\0" + "\24\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\17\12\1\u01a1\4\12\1\11\7\12" + + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\4\12\1\u0135\3\12\2\0\5\12\12\0" + + "\1\11\1\0\24\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + + "\2\0\5\12\12\0\1\11\1\0\20\12\1\u01a2\3\12" + "\3\314\5\u01a3\1\133\1\0\3\314\1\u01a3\1\314\1\u01a3" + + "\4\314\1\u01a3\7\314\2\u01a3\2\314\3\u01a3\3\314\2\u01a3" + "\30\314\1\u01a3\4\314\1\u01a3\4\314\1\11\7\12\2\0" + "\1\115\3\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\1\12\1\u01a4\3\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\3\12\1\362\1\12\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\1\12\1\u01a5\2\12\4\0\10\12\2\0\5\12" - + "\12\0\1\11\1\0\24\12\3\154\5\u01a6\2\154\1\335" + "\2\154\1\u01a6\1\336\1\u01a6\4\154\1\u01a6\7\154\2\u01a6" - + "\2\154\3\u01a6\3\154\2\u01a6\30\154\1\u01a6\4\154\1\u01a6" + "\4\154\1\11\7\12\2\0\1\115\1\12\1\u01a7\1\12" - + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\5\12\12\0\1\11\1\0\24\12\3\353\5\u01a8" - + "\2\353\1\u0148\2\353\1\u01a8\1\0\1\u01a8\4\353\1\u01a8" + "\7\353\2\u01a8\2\353\3\u01a8\3\353\2\u01a8\30\353\1\u01a8" + + "\12\0\1\11\1\0\24\12\3\154\5\u01a6\2\154\1\335" + + "\2\154\1\u01a6\1\336\1\u01a6\4\154\1\u01a6\7\154\2\u01a6" + + "\2\154\3\u01a6\3\154\2\u01a6\30\154\1\u01a6\4\154\1\u01a6" + + "\4\154\1\11\7\12\2\0\1\115\1\12\1\u01a7\1\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + + "\2\0\5\12\12\0\1\11\1\0\24\12\3\353\5\u01a8" + "\2\353\1\u0148\2\353\1\u01a8\1\0\1\u01a8\4\353\1\u01a8" + + "\7\353\2\u01a8\2\353\3\u01a8\3\353\2\u01a8\30\353\1\u01a8" + "\4\353\1\u01a8\4\353\1\11\7\12\2\0\1\115\1\12" + "\1\u01a9\1\12\1\0\1\12\1\0\1\11\1\0\4\12" + "\4\0\10\12\2\0\5\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\4\12\4\0\10\12\2\0\3\12\1\247" + "\1\12\12\0\1\11\1\0\24\12\1\11\7\12\2\0" @@ -609,20 +630,21 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { + "\1\11\1\0\5\12\1\u013e\16\12\30\0\1\u016b\111\0" + "\1\u016e\111\0\1\u0171\61\0\3\11\5\12\2\0\3\11" + "\1\12\1\0\1\12\1\0\1\11\1\0\1\11\1\12" + "\2\11\4\0\1\11\2\12\2\11\3\12\2\0\1\11" + "\2\12\2\11\12\0\1\11\1\0\12\11\1\12\4\11" + "\1\12\5\11\1\12\1\u01b3\5\12\2\0\1\115\3\12" - + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" - + "\4\12\4\0\10\12\2\0\1\374\4\12\12\0\1\11" + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" - + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + "\5\12\12\0\1\11\1\0\4\12\1\u01b4\17\12\1\11" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\5\12\12\0\1\11\1\0\24\12\1\11\7\12" + + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\1\374\4\12\12\0\1\11" + + "\1\0\24\12\1\11\7\12\2\0\1\115\3\12\1\0" + "\1\12\1\0\1\11\1\0\4\12\4\0\10\12\2\0" + + "\5\12\12\0\1\11\1\0\4\12\1\u01b4\17\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\5\12\1\u0158\16\12\1\11\7\12\2\0\1\115" + + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" + "\10\12\2\0\5\12\12\0\1\11\1\0\20\12\1\u01b5" + + "\3\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + + "\12\0\1\11\1\0\20\12\1\u01b6\3\12\3\314\5\132" + "\1\133\1\0\3\314\1\132\1\314\1\132\4\314\1\132" + + "\7\314\2\132\2\314\3\132\3\314\2\132\30\314\1\132" + "\4\314\1\132\4\314\1\11\7\12\2\0\1\115\3\12" + + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\4\12\1\247\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" - + "\1\0\5\12\1\u0158\16\12\1\11\7\12\2\0\1\115" + "\3\12\1\0\1\12\1\0\1\11\1\0\4\12\4\0" - + "\10\12\2\0\5\12\12\0\1\11\1\0\20\12\1\u01b5" + "\3\12\1\11\7\12\2\0\1\115\3\12\1\0\1\12" - + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\20\12\1\u01b6\3\12\3\314\5\132" - + "\1\133\1\0\3\314\1\132\1\314\1\132\4\314\1\132" + "\7\314\2\132\2\314\3\132\3\314\2\132\30\314\1\132" - + "\4\314\1\132\4\314\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" - + "\2\0\4\12\1\247\12\0\1\11\1\0\24\12\1\11" + "\7\12\2\0\1\115\3\12\1\0\1\12\1\0\1\11" - + "\1\0\4\12\4\0\10\12\2\0\5\12\12\0\1\11" + "\1\0\1\u01b7\23\12\3\154\5\23\2\154\1\335\2\154" - + "\1\23\1\336\1\23\4\154\1\23\7\154\2\23\2\154" + "\3\23\3\154\2\23\30\154\1\23\4\154\1\23\4\154" - + "\1\11\7\12\2\0\1\115\1\u0101\2\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" - + "\12\0\1\11\1\0\24\12\3\353\5\u01b8\2\353\1\u0148" + "\2\353\1\u01b8\1\0\1\u01b8\4\353\1\u01b8\7\353\2\u01b8" + + "\1\0\1\u01b7\23\12\3\154\5\23\2\154\1\335\2\154" + "\1\23\1\336\1\23\4\154\1\23\7\154\2\23\2\154" + + "\3\23\3\154\2\23\30\154\1\23\4\154\1\23\4\154" + "\1\11\7\12\2\0\1\115\1\u0101\2\12\1\0\1\12" + + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\24\12\3\353\5\u01b8\2\353\1\u0148" + + "\2\353\1\u01b8\1\0\1\u01b8\4\353\1\u01b8\7\353\2\u01b8" + "\2\353\3\u01b8\3\353\2\u01b8\30\353\1\u01b8\4\353\1\u01b8" + "\4\353\1\11\7\12\2\0\1\115\3\12\1\0\1\12" + "\1\0\1\11\1\0\4\12\4\0\10\12\2\0\2\12" + "\1\u01ad\2\12\12\0\1\11\1\0\24\12\1\11\7\12" + "\2\0\1\115\3\12\1\0\1\12\1\0\1\11\1\0" + "\4\12\4\0\10\12\2\0\5\12\12\0\1\11\1\0" @@ -669,14 +691,14 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { + "\10\12\1\u01ca\13\12\1\11\7\12\2\0\1\115\3\12" + "\1\0\1\12\1\0\1\11\1\0\4\12\4\0\10\12" + "\2\0\1\12\1\u01cb\3\12\12\0\1\11\1\0\24\12" + "\1\11\7\12\2\0\1\115\3\12\1\0\1\12\1\0" + "\1\11\1\0\3\12\1\213\4\0\10\12\2\0\5\12" + "\12\0\1\11\1\0\24\12"; - + private static int[] zzUnpackTrans() { int[] result = new int[31154]; 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 */ @@ -691,7 +713,7 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -703,18 +725,19 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\10\0\6\1\1\11\4\1\1\11\5\1\1\11\14\1" + "\2\11\2\1\1\11\11\1\1\11\4\1\1\11\5\1" - + "\1\11\3\1\1\11\3\1\1\11\1\1\1\11\1\1" + "\1\11\17\1\1\0\36\1\1\11\3\1\1\11\31\1" + "\1\0\21\1\3\0\1\11\4\0\1\11\1\0\2\11" - + "\4\0\13\1\1\0\7\1\1\11\21\1\1\11\16\1" + "\1\11\62\1\14\0\15\1\1\11\10\1\1\11\6\1" + "\1\11\36\1\1\0\1\1\2\0\1\1\2\0\1\1" - + "\1\0\43\1\6\0\60\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\10\0\6\1\1\11\4\1\1\11\5\1\1\11\14\1" + + "\2\11\2\1\1\11\11\1\1\11\4\1\1\11\5\1" + "\1\11\3\1\1\11\3\1\1\11\1\1\1\11\1\1" + + "\1\11\17\1\1\0\36\1\1\11\3\1\1\11\31\1" + "\1\0\21\1\3\0\1\11\4\0\1\11\1\0\2\11" + + "\4\0\13\1\1\0\7\1\1\11\21\1\1\11\16\1" + "\1\11\62\1\14\0\15\1\1\11\10\1\1\11\6\1" + + "\1\11\36\1\1\0\1\1\2\0\1\1\2\0\1\1" + "\1\0\43\1\6\0\60\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[459]; 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 */ @@ -728,7 +751,7 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -736,8 +759,8 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -747,111 +770,100 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** - * Token type specific to DTokenMaker; this signals that the user is in - * a nestable multi-line comment. The nested depth is embedded in the - * actual end token type. + * Token type specific to DTokenMaker; this signals that the user is in a + * nestable multi-line comment. The nested depth is embedded in the actual end + * token type. */ private static final int INTERNAL_IN_NESTABLE_MLC = -(1 << 11); /** * When in a (possibly) nested MLC, this is the current nested depth. */ private int nestedMlcDepth; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public DTokenMaker() {} - + public DTokenMaker() { + } + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + private void addNestedMlcEndToken() { addEndToken(INTERNAL_IN_NESTABLE_MLC - nestedMlcDepth); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addHyperlinkToken(int, int, int) */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + @Override public int getClosestStandardTokenTypeForInternalType(int type) { switch (type) { - case INTERNAL_IN_NESTABLE_MLC: - return TokenTypes.COMMENT_MULTILINE; + case INTERNAL_IN_NESTABLE_MLC: + return TokenTypes.COMMENT_MULTILINE; } return type; } - + /** * {@inheritDoc} */ @@ -859,21 +871,18 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -883,34 +892,34 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case Token.LITERAL_BACKQUOTE: - state = WYSIWYG_STRING_2; - break; - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = WYSIWYG_STRING_1; - break; - case Token.COMMENT_MULTILINE: - state = MLC; - break; - case Token.COMMENT_DOCUMENTATION: - state = DOCCOMMENT; - break; - case INTERNAL_IN_NESTABLE_MLC: - state = NESTABLE_MLC; - break; - default: - if (initialTokenType < -1024) { - int main = -(-initialTokenType & 0xffffff00); - switch (main) { - default: // Should never happen - case INTERNAL_IN_NESTABLE_MLC: - state = NESTABLE_MLC; - break; - } - nestedMlcDepth = -initialTokenType & 0xff; - } else { - state = YYINITIAL; + case Token.LITERAL_BACKQUOTE: + state = WYSIWYG_STRING_2; + break; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = WYSIWYG_STRING_1; + break; + case Token.COMMENT_MULTILINE: + state = MLC; + break; + case Token.COMMENT_DOCUMENTATION: + state = DOCCOMMENT; + break; + case INTERNAL_IN_NESTABLE_MLC: + state = NESTABLE_MLC; + break; + default: + if (initialTokenType < -1024) { + int main = -(-initialTokenType & 0xffffff00); + switch (main) { + default: // Should never happen + case INTERNAL_IN_NESTABLE_MLC: + state = NESTABLE_MLC; + break; } + nestedMlcDepth = -initialTokenType & 0xff; + } else { + state = YYINITIAL; + } } start = text.offset; s = text; @@ -923,38 +932,35 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. - * @exception IOException - * if any I/O-Error occurs. + * @return true if EOF was reached, otherwise false. + * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -964,34 +970,31 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public DTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public DTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -1007,7 +1010,7 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1017,69 +1020,64 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1090,29 +1088,27 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1131,8 +1127,7 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1172,334 +1167,335 @@ public class DTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 14: { - yybegin(YYINITIAL); - addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); - return firstToken; - } - case 46: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 47: - break; - case 41: { - addToken(Token.LITERAL_BOOLEAN); - } - case 48: - break; - case 25: { - addToken(Token.ERROR_CHAR); - } - case 49: - break; - case 22: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 50: - break; - case 4: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 51: - break; - case 18: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 52: - break; - case 11: { - addToken(Token.ANNOTATION); - } - case 53: - break; - case 6: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 54: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 55: - break; - case 20: { - addToken(Token.LITERAL_BACKQUOTE); - } - case 56: - break; - case 33: { - nestedMlcDepth++; - } - case 57: - break; - case 37: { - start = zzMarkedPos - 3; - yybegin(EOL_DOCCOMMENT); - } - case 58: - break; - case 43: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); - start = zzMarkedPos; - } - case 59: - break; - case 35: { - addToken(Token.LITERAL_CHAR); - } - case 60: - break; - case 24: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 61: - break; - case 28: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 62: - break; - case 17: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addNullToken(); - return firstToken; - } - case 63: - break; - case 7: { - addToken(Token.WHITESPACE); - } - case 64: - break; - case 32: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); - } - case 65: - break; - case 39: { - addToken(Token.DATA_TYPE); - } - case 66: - break; - case 34: { - System.out.println("... " + nestedMlcDepth); - if (--nestedMlcDepth == 0) { - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - yybegin(YYINITIAL); - } - } - case 67: - break; - case 31: { - yybegin(YYINITIAL); + case 14: { + yybegin(YYINITIAL); + addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); + return firstToken; + } + case 46: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 47: + break; + case 41: { + addToken(Token.LITERAL_BOOLEAN); + } + case 48: + break; + case 25: { + addToken(Token.ERROR_CHAR); + } + case 49: + break; + case 22: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 50: + break; + case 4: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 51: + break; + case 18: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 52: + break; + case 11: { + addToken(Token.ANNOTATION); + } + case 53: + break; + case 6: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 54: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 55: + break; + case 20: { + addToken(Token.LITERAL_BACKQUOTE); + } + case 56: + break; + case 33: { + nestedMlcDepth++; + } + case 57: + break; + case 37: { + start = zzMarkedPos - 3; + yybegin(EOL_DOCCOMMENT); + } + case 58: + break; + case 43: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); + start = zzMarkedPos; + } + case 59: + break; + case 35: { + addToken(Token.LITERAL_CHAR); + } + case 60: + break; + case 24: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 61: + break; + case 28: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 62: + break; + case 17: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addNullToken(); + return firstToken; + } + case 63: + break; + case 7: { + addToken(Token.WHITESPACE); + } + case 64: + break; + case 32: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); + } + case 65: + break; + case 39: { + addToken(Token.DATA_TYPE); + } + case 66: + break; + case 34: { + System.out.println("... " + nestedMlcDepth); + if (--nestedMlcDepth == 0) { addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 68: - break; - case 21: { - addToken(Token.LITERAL_BACKQUOTE); yybegin(YYINITIAL); } - case 69: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 70: - break; - case 19: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - yybegin(YYINITIAL); - } - case 71: - break; - case 38: { - start = zzMarkedPos - 3; - yybegin(DOCCOMMENT); - } - case 72: - break; - case 15: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addNestedMlcEndToken(); - return firstToken; - } - case 73: - break; - case 30: { - addToken(Token.RESERVED_WORD); - } - case 74: - break; - case 42: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 75: - break; - case 29: { - start = zzMarkedPos - 2; - nestedMlcDepth = 1; - yybegin(NESTABLE_MLC); - } - case 76: - break; - case 45: { - addToken(Token.RESERVED_WORD_2); - } - case 77: - break; - case 16: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 78: - break; - case 10: { - addToken(Token.SEPARATOR); - } - case 79: - break; - case 5: { - addNullToken(); - return firstToken; - } - case 80: - break; - case 13: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 81: - break; - case 8: { - addToken(Token.LITERAL_BACKQUOTE); - yybegin(WYSIWYG_STRING_2); - } - case 82: - break; - case 9: { - addToken(Token.OPERATOR); - } - case 83: - break; - case 23: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 84: - break; - case 26: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - yybegin(WYSIWYG_STRING_1); - } - case 85: - break; - case 44: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 86: - break; - case 40: { - addToken(Token.COMMENT_MULTILINE); - } - case 87: - break; - case 27: { - start = zzMarkedPos - 2; - yybegin(EOL_COMMENT); - } - case 88: - break; - case 36: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 89: - break; - case 12: {} - case 90: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case WYSIWYG_STRING_1: { - if (firstToken == null) { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - return firstToken; - } - case 460: - break; - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 461: - break; - case NESTABLE_MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addNestedMlcEndToken(); - return firstToken; - } - case 462: - break; - case DOCCOMMENT: { - yybegin(YYINITIAL); - addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); - return firstToken; - } - case 463: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 464: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 465: - break; - case WYSIWYG_STRING_2: { - if (firstToken == null) { - addToken(Token.LITERAL_BACKQUOTE); - } - return firstToken; - } - case 466: - break; - case EOL_DOCCOMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addNullToken(); - return firstToken; - } - case 467: - break; - default: - return null; + } + case 67: + break; + case 31: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 68: + break; + case 21: { + addToken(Token.LITERAL_BACKQUOTE); + yybegin(YYINITIAL); + } + case 69: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 70: + break; + case 19: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + yybegin(YYINITIAL); + } + case 71: + break; + case 38: { + start = zzMarkedPos - 3; + yybegin(DOCCOMMENT); + } + case 72: + break; + case 15: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addNestedMlcEndToken(); + return firstToken; + } + case 73: + break; + case 30: { + addToken(Token.RESERVED_WORD); + } + case 74: + break; + case 42: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 75: + break; + case 29: { + start = zzMarkedPos - 2; + nestedMlcDepth = 1; + yybegin(NESTABLE_MLC); + } + case 76: + break; + case 45: { + addToken(Token.RESERVED_WORD_2); + } + case 77: + break; + case 16: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 78: + break; + case 10: { + addToken(Token.SEPARATOR); + } + case 79: + break; + case 5: { + addNullToken(); + return firstToken; + } + case 80: + break; + case 13: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 81: + break; + case 8: { + addToken(Token.LITERAL_BACKQUOTE); + yybegin(WYSIWYG_STRING_2); + } + case 82: + break; + case 9: { + addToken(Token.OPERATOR); + } + case 83: + break; + case 23: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 84: + break; + case 26: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + yybegin(WYSIWYG_STRING_1); + } + case 85: + break; + case 44: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 86: + break; + case 40: { + addToken(Token.COMMENT_MULTILINE); + } + case 87: + break; + case 27: { + start = zzMarkedPos - 2; + yybegin(EOL_COMMENT); + } + case 88: + break; + case 36: { + addToken(Token.ERROR_STRING_DOUBLE); + } + case 89: + break; + case 12: { + } + case 90: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case WYSIWYG_STRING_1: { + if (firstToken == null) { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } - } else { - zzScanError(ZZ_NO_MATCH); + return firstToken; } + case 460: + break; + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 461: + break; + case NESTABLE_MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addNestedMlcEndToken(); + return firstToken; + } + case 462: + break; + case DOCCOMMENT: { + yybegin(YYINITIAL); + addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); + return firstToken; + } + case 463: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 464: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 465: + break; + case WYSIWYG_STRING_2: { + if (firstToken == null) { + addToken(Token.LITERAL_BACKQUOTE); + } + return firstToken; + } + case 466: + break; + case EOL_DOCCOMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addNullToken(); + return firstToken; + } + case 467: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/DartTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/DartTokenMaker.java index 1a44520..d03e52d 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/DartTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/DartTokenMaker.java @@ -18,24 +18,22 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; import org.fife.ui.rsyntaxtextarea.TokenTypes; /** - * Scanner for Dart files. Its states could be simplified, but are - * kept the way they are to keep a degree of similarity (i.e. copy/paste) - * between it and HTML/JSP/PHPTokenMaker. This should cause no difference in - * performance. + * Scanner for Dart files. Its states could be simplified, but are kept the way + * they are to keep a degree of similarity (i.e. copy/paste) between it and + * HTML/JSP/PHPTokenMaker. This should cause no difference in performance. *

      * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -45,23 +43,23 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated DartTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell * @version 1.0 */ public class DartTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -77,8 +75,10 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\1\1\2\1\0\1\1\1\11\22\0\1\1\1\35\1\115" + "\1\12\1\15\1\35\1\37\1\44\2\43\1\17\1\30\1\27\1\24" + "\1\25\1\16\1\5\7\7\2\4\1\40\1\27\1\31\1\32\1\34" - + "\1\36\1\42\1\75\1\6\1\76\1\77\1\23\1\22\1\3\1\101" + "\1\74\1\113\1\3\1\21\1\102\1\73\1\104\1\106\1\107\1\110" - + "\1\103\1\100\1\114\1\3\1\111\1\20\1\3\1\112\1\43\1\13" + "\1\43\1\33\1\14\1\0\1\56\1\57\1\61\1\65\1\54\1\51" + + "\1\36\1\42\1\75\1\6\1\76\1\77\1\23\1\22\1\3\1\101" + + "\1\74\1\113\1\3\1\21\1\102\1\73\1\104\1\106\1\107\1\110" + + "\1\103\1\100\1\114\1\3\1\111\1\20\1\3\1\112\1\43\1\13" + + "\1\43\1\33\1\14\1\0\1\56\1\57\1\61\1\65\1\54\1\51" + "\1\67\1\45\1\52\1\105\1\72\1\53\1\70\1\63\1\62\1\47" + "\1\3\1\60\1\50\1\46\1\10\1\71\1\55\1\64\1\66\1\3" + "\1\26\1\41\1\26\1\36\uff81\0"; /** @@ -89,20 +89,23 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\5\0\2\1\1\2\1\3\1\4\1\5\2\6\1\5" + "\2\2\2\7\3\5\1\7\1\5\1\10\1\5\5\7" - + "\2\2\1\11\37\5\1\12\1\1\1\13\1\14\1\15" + "\1\1\1\16\1\17\1\20\1\1\1\21\5\1\1\22" + "\3\1\1\23\1\24\1\1\1\25\1\26\1\1\1\2" - + "\1\27\1\6\1\30\1\27\1\30\1\27\1\31\1\27" + "\1\5\4\2\1\32\1\33\5\5\1\0\1\7\1\34" + "\1\0\13\5\2\35\21\5\1\35\34\5\1\0\1\36" - + "\1\37\1\40\1\41\10\0\1\24\1\0\1\26\1\0" + "\1\2\1\30\1\0\2\31\1\5\4\2\1\0\7\5" + "\1\42\13\5\1\43\17\5\1\43\31\5\1\44\15\5" - + "\1\45\12\0\1\46\1\47\1\2\1\5\3\2\1\50" + "\7\5\1\51\64\5\1\0\1\1\2\0\1\52\2\0" + "\1\53\1\2\1\5\3\2\7\5\1\35\50\5\4\0" - + "\1\2\1\5\3\2\3\5\1\44\6\5\1\54\23\5" + "\1\44\3\5\1\44\5\5\1\35\1\2\224\5"; - + private static final String ZZ_ACTION_PACKED_0 = "\5\0\2\1\1\2\1\3\1\4\1\5\2\6\1\5" + + "\2\2\2\7\3\5\1\7\1\5\1\10\1\5\5\7" + "\2\2\1\11\37\5\1\12\1\1\1\13\1\14\1\15" + + "\1\1\1\16\1\17\1\20\1\1\1\21\5\1\1\22" + "\3\1\1\23\1\24\1\1\1\25\1\26\1\1\1\2" + + "\1\27\1\6\1\30\1\27\1\30\1\27\1\31\1\27" + "\1\5\4\2\1\32\1\33\5\5\1\0\1\7\1\34" + + "\1\0\13\5\2\35\21\5\1\35\34\5\1\0\1\36" + "\1\37\1\40\1\41\10\0\1\24\1\0\1\26\1\0" + + "\1\2\1\30\1\0\2\31\1\5\4\2\1\0\7\5" + "\1\42\13\5\1\43\17\5\1\43\31\5\1\44\15\5" + + "\1\45\12\0\1\46\1\47\1\2\1\5\3\2\1\50" + "\7\5\1\51\64\5\1\0\1\1\2\0\1\52\2\0" + + "\1\53\1\2\1\5\3\2\7\5\1\35\50\5\4\0" + "\1\2\1\5\3\2\3\5\1\44\6\5\1\54\23\5" + + "\1\44\3\5\1\44\5\5\1\35\1\2\224\5"; + private static int[] zzUnpackAction() { int[] result = new int[616]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -116,7 +119,7 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -198,14 +201,14 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { + "\0\ua8cc\0\ua91a\0\ua968\0\ua9b6\0\uaa04\0\uaa52\0\uaaa0\0\uaaee" + "\0\uab3c\0\uab8a\0\uabd8\0\uac26\0\uac74\0\uacc2\0\uad10\0\uad5e" + "\0\uadac\0\uadfa\0\uae48\0\uae96\0\uaee4\0\uaf32\0\uaf80\0\uafce"; - + private static int[] zzUnpackRowMap() { int[] result = new int[616]; 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 */ @@ -216,18 +219,21 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\14" + "\1\13\1\17\1\20\1\10\2\13\1\21\1\22\1\13" - + "\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32" + "\1\33\2\22\1\34\1\22\1\35\1\36\1\35\1\37" - + "\1\40\1\30\1\41\1\13\1\42\1\13\1\43\1\44" + "\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54" - + "\1\55\1\56\1\13\1\57\1\13\1\60\1\13\1\61" + "\1\13\1\62\1\63\1\64\1\65\1\66\1\67\1\70" - + "\1\71\1\72\1\73\1\13\1\74\1\75\1\76\1\77" + "\2\13\1\100\1\101\2\102\1\103\10\102\1\104\101\102" - + "\1\105\2\106\1\107\10\106\1\110\30\106\1\111\51\106" + "\2\112\1\113\14\112\1\114\25\112\1\115\3\112\1\116" - + "\3\112\1\117\40\112\2\120\1\121\42\120\1\122\3\120" + "\1\123\3\120\1\124\40\120\2\102\1\125\10\102\1\126" + private static final String ZZ_TRANS_PACKED_0 = "\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\14" + + "\1\13\1\17\1\20\1\10\2\13\1\21\1\22\1\13" + "\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32" + + "\1\33\2\22\1\34\1\22\1\35\1\36\1\35\1\37" + "\1\40\1\30\1\41\1\13\1\42\1\13\1\43\1\44" + + "\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54" + "\1\55\1\56\1\13\1\57\1\13\1\60\1\13\1\61" + + "\1\13\1\62\1\63\1\64\1\65\1\66\1\67\1\70" + "\1\71\1\72\1\73\1\13\1\74\1\75\1\76\1\77" + + "\2\13\1\100\1\101\2\102\1\103\10\102\1\104\101\102" + + "\1\105\2\106\1\107\10\106\1\110\30\106\1\111\51\106" + + "\2\112\1\113\14\112\1\114\25\112\1\115\3\112\1\116" + + "\3\112\1\117\40\112\2\120\1\121\42\120\1\122\3\120" + + "\1\123\3\120\1\124\40\120\2\102\1\125\10\102\1\126" + "\101\102\1\127\2\106\1\130\10\106\1\131\30\106\1\132" + "\51\106\1\10\2\0\6\10\1\0\4\10\2\0\4\10" + "\16\0\1\10\2\0\50\10\2\0\1\11\232\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\50\13\1\0\1\134\2\0\1\134" + "\2\14\1\134\1\14\1\134\1\0\4\134\2\0\1\134" @@ -294,84 +300,86 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { + "\7\134\3\304\15\134\1\0\1\10\2\0\6\13\1\0" + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" + "\20\13\1\305\27\13\1\0\1\10\2\0\6\10\1\0" + "\4\10\2\0\4\10\16\0\1\10\2\0\15\10\1\306" + "\32\10\1\0\1\10\2\0\6\10\1\0\4\10\2\0" + "\4\10\16\0\1\10\2\0\23\10\1\307\24\10\1\0" - + "\1\10\2\0\6\10\1\0\4\10\2\0\4\10\16\0" + "\1\10\2\0\5\10\1\310\42\10\1\0\1\10\2\0" + "\6\10\1\0\4\10\2\0\4\10\16\0\1\10\2\0" - + "\7\10\1\311\40\10\20\0\1\312\76\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" - + "\1\10\2\0\3\13\1\313\12\13\1\314\31\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" - + "\4\13\16\0\1\10\2\0\16\13\1\315\31\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" - + "\4\13\16\0\1\10\2\0\6\13\1\316\41\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" - + "\4\13\16\0\1\10\2\0\2\13\1\317\11\13\1\320" + "\33\13\1\0\1\10\2\0\6\13\1\0\1\10\1\133" - + "\2\13\2\0\4\13\16\0\1\10\2\0\2\13\1\321" + "\45\13\33\0\1\35\1\0\1\22\61\0\1\10\2\0" - + "\6\162\1\0\4\10\2\0\4\162\16\0\1\10\2\0" + "\50\162\45\0\1\322\51\0\1\10\2\0\6\13\1\0" - + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" + "\5\13\1\323\5\13\1\324\34\13\1\0\1\10\2\0" - + "\5\13\1\325\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\21\13\1\177\26\13\1\0\1\10" - + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\2\13\1\326\45\13\1\0\1\10" - + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\2\13\1\327\45\13\1\0\1\10" - + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\11\13\1\330\36\13\1\0\1\10" - + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\1\13\1\177\46\13\1\0\1\10" - + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\5\13\1\331\42\13\1\0\1\10" - + "\2\0\5\13\1\332\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\50\13\1\0\1\10\2\0" - + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\16\13\1\333\31\13\1\0\1\10\2\0" - + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\6\13\1\334\5\13\1\335\33\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\13\13\1\177\34\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\1\13\1\336\46\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\2\13\1\337\45\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\12\13\1\340\35\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\3\13\1\341\44\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\1\13\1\342\46\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\5\13\1\343\42\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\3\13\1\344\44\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\3\13\1\345\44\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\7\13\1\346\40\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\15\13\1\347\32\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\1\13\1\350\46\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\11\13\1\351\36\13\1\0" - + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\1\13\1\352\1\13\1\341" - + "\44\13\1\0\1\10\2\0\6\13\1\0\1\10\1\133" + "\2\13\2\0\4\13\16\0\1\10\2\0\16\13\1\353" - + "\31\13\1\0\1\10\2\0\6\13\1\0\1\10\1\133" + "\2\13\2\0\4\13\16\0\1\10\2\0\7\13\1\354" - + "\40\13\1\0\1\10\2\0\6\13\1\0\1\10\1\133" + "\2\13\2\0\4\13\16\0\1\10\2\0\6\13\1\355" - + "\14\13\1\356\24\13\1\0\1\10\2\0\6\13\1\0" + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" - + "\10\13\1\177\11\13\1\357\25\13\1\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" - + "\1\10\2\0\4\13\1\360\43\13\1\0\1\10\2\0" + "\5\13\1\361\1\0\1\10\1\133\2\13\2\0\4\13" - + "\16\0\1\10\2\0\50\13\1\0\1\10\2\0\6\13" + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" - + "\2\0\5\13\1\362\42\13\1\0\1\10\2\0\6\13" + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" - + "\2\0\6\13\1\363\41\13\1\0\1\10\2\0\6\13" + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" - + "\2\0\26\13\1\177\21\13\1\0\1\10\2\0\6\13" + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" - + "\2\0\1\13\1\364\33\13\1\365\1\366\11\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" - + "\4\13\16\0\1\10\2\0\7\13\1\367\40\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" - + "\4\13\16\0\1\10\2\0\15\13\1\370\32\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" - + "\4\13\16\0\1\10\2\0\6\13\1\371\41\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" - + "\4\13\16\0\1\10\2\0\1\13\1\372\2\13\1\373" + "\13\13\1\374\27\13\1\0\1\10\2\0\6\13\1\0" - + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" + "\3\13\1\375\44\13\1\0\1\10\2\0\6\13\1\0" - + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" + "\15\13\1\376\32\13\1\0\1\10\2\0\6\13\1\0" - + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" + "\6\13\1\377\14\13\1\u0100\24\13\1\0\1\10\2\0" - + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\13\13\1\u0101\34\13\1\0\1\10\2\0" - + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\3\13\1\u0102\44\13\1\0\1\10\2\0" - + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\1\13\1\u0103\46\13\1\0\1\10\2\0" - + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\23\13\1\u0104\24\13\1\0\1\10\2\0" - + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\2\13\1\u0105\45\13\1\0\1\10\2\0" - + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\3\13\1\u0106\44\13\1\0\1\10\2\0" - + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\1\13\1\u0107\1\u0108\45\13\1\0\1\10" - + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\11\13\1\u0109\1\13\1\u010a\1\13" - + "\1\u010b\32\13\1\0\1\10\2\0\6\13\1\0\1\10" + "\1\133\2\13\2\0\4\13\16\0\1\10\2\0\1\13" - + "\1\u0108\14\13\1\u010c\31\13\1\0\1\10\2\0\6\13" + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" - + "\2\0\1\13\1\u010d\46\13\1\0\1\10\2\0\6\13" + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" - + "\2\0\40\13\1\u010e\7\13\1\0\1\10\2\0\6\13" + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" - + "\2\0\1\13\1\u010f\46\13\1\0\1\10\2\0\6\13" + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" - + "\2\0\15\13\1\u0110\32\13\1\0\1\10\2\0\6\13" + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" - + "\2\0\7\13\1\u0111\40\13\1\0\1\10\2\0\6\13" + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" - + "\2\0\14\13\1\u0112\5\13\1\u0113\25\13\1\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" - + "\16\0\1\10\2\0\15\13\1\u0114\32\13\1\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" - + "\16\0\1\10\2\0\3\13\1\u0115\44\13\116\0\1\u0116" + "\4\0\4\u0117\12\0\2\u0117\25\0\1\u0117\2\0\1\u0117" - + "\1\0\2\u0117\1\0\1\u0117\3\0\1\u0117\7\0\3\u0117" + "\22\0\4\u0118\12\0\2\u0118\25\0\1\u0118\2\0\1\u0118" - + "\1\0\2\u0118\1\0\1\u0118\3\0\1\u0118\7\0\3\u0118" + "\64\0\1\u0119\116\0\1\u011a\121\0\1\u011b\117\0\1\u011c" - + "\106\0\1\u011d\116\0\1\u011e\121\0\1\u011f\117\0\1\u0120" + "\155\0\1\u0121\44\0\1\u0122\51\0\1\10\2\0\1\10" - + "\4\u0123\1\10\1\0\4\10\2\0\2\10\2\u0123\16\0" + "\1\10\2\0\4\10\1\u0123\2\10\1\u0123\1\10\2\u0123" - + "\1\10\1\u0123\3\10\1\u0123\7\10\3\u0123\15\10\1\0" + "\1\134\2\0\1\134\2\301\1\134\1\301\1\134\1\0" - + "\4\134\2\0\2\134\1\136\1\134\16\0\1\134\2\0" + "\4\134\1\136\13\134\1\136\11\134\1\136\15\134\5\0" - + "\2\301\1\0\1\301\106\0\1\134\2\0\1\134\4\304" + "\1\134\1\0\4\134\2\0\1\134\1\303\2\304\16\0" - + "\1\134\2\0\4\134\1\304\1\134\1\303\1\304\1\134" + "\2\304\1\134\1\304\3\134\1\304\7\134\3\304\15\134" - + "\1\0\1\10\2\0\6\13\1\0\1\10\1\133\2\13" + "\2\0\4\13\16\0\1\10\2\0\26\13\1\u0124\21\13" - + "\1\0\1\10\2\0\5\10\1\u0125\1\0\4\10\2\0" + "\4\10\16\0\1\10\2\0\50\10\1\0\1\10\2\0" + "\6\10\1\0\4\10\2\0\4\10\16\0\1\10\2\0" + + "\1\10\2\0\6\10\1\0\4\10\2\0\4\10\16\0" + "\1\10\2\0\5\10\1\310\42\10\1\0\1\10\2\0" + + "\6\10\1\0\4\10\2\0\4\10\16\0\1\10\2\0" + "\7\10\1\311\40\10\20\0\1\312\76\0\1\10\2\0" + + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\3\13\1\313\12\13\1\314\31\13\1\0" + + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\16\13\1\315\31\13\1\0" + + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\6\13\1\316\41\13\1\0" + + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\2\13\1\317\11\13\1\320" + + "\33\13\1\0\1\10\2\0\6\13\1\0\1\10\1\133" + "\2\13\2\0\4\13\16\0\1\10\2\0\2\13\1\321" + + "\45\13\33\0\1\35\1\0\1\22\61\0\1\10\2\0" + "\6\162\1\0\4\10\2\0\4\162\16\0\1\10\2\0" + + "\50\162\45\0\1\322\51\0\1\10\2\0\6\13\1\0" + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" + + "\5\13\1\323\5\13\1\324\34\13\1\0\1\10\2\0" + "\5\13\1\325\1\0\1\10\1\133\2\13\2\0\4\13" + + "\16\0\1\10\2\0\21\13\1\177\26\13\1\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + + "\16\0\1\10\2\0\2\13\1\326\45\13\1\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + + "\16\0\1\10\2\0\2\13\1\327\45\13\1\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + + "\16\0\1\10\2\0\11\13\1\330\36\13\1\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + + "\16\0\1\10\2\0\1\13\1\177\46\13\1\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + + "\16\0\1\10\2\0\5\13\1\331\42\13\1\0\1\10" + "\2\0\5\13\1\332\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\50\13\1\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + + "\1\10\2\0\16\13\1\333\31\13\1\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + + "\1\10\2\0\6\13\1\334\5\13\1\335\33\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\13\13\1\177\34\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\1\13\1\336\46\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\2\13\1\337\45\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\12\13\1\340\35\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\3\13\1\341\44\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\1\13\1\342\46\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\5\13\1\343\42\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\3\13\1\344\44\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\3\13\1\345\44\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\7\13\1\346\40\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\15\13\1\347\32\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\1\13\1\350\46\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\11\13\1\351\36\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + + "\4\13\16\0\1\10\2\0\1\13\1\352\1\13\1\341" + "\44\13\1\0\1\10\2\0\6\13\1\0\1\10\1\133" + + "\2\13\2\0\4\13\16\0\1\10\2\0\16\13\1\353" + "\31\13\1\0\1\10\2\0\6\13\1\0\1\10\1\133" + + "\2\13\2\0\4\13\16\0\1\10\2\0\7\13\1\354" + "\40\13\1\0\1\10\2\0\6\13\1\0\1\10\1\133" + + "\2\13\2\0\4\13\16\0\1\10\2\0\6\13\1\355" + "\14\13\1\356\24\13\1\0\1\10\2\0\6\13\1\0" + + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" + "\10\13\1\177\11\13\1\357\25\13\1\0\1\10\2\0" + + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + "\1\10\2\0\4\13\1\360\43\13\1\0\1\10\2\0" + + "\5\13\1\361\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\50\13\1\0\1\10\2\0\6\13" + + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" + "\2\0\5\13\1\362\42\13\1\0\1\10\2\0\6\13" + + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" + "\2\0\6\13\1\363\41\13\1\0\1\10\2\0\6\13" + + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" + "\2\0\26\13\1\177\21\13\1\0\1\10\2\0\6\13" + + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" + "\2\0\1\13\1\364\33\13\1\365\1\366\11\13\1\0" + + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\7\13\1\367\40\13\1\0" + + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\15\13\1\370\32\13\1\0" + + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\6\13\1\371\41\13\1\0" + + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\1\13\1\372\2\13\1\373" + + "\13\13\1\374\27\13\1\0\1\10\2\0\6\13\1\0" + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" + + "\3\13\1\375\44\13\1\0\1\10\2\0\6\13\1\0" + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" + + "\15\13\1\376\32\13\1\0\1\10\2\0\6\13\1\0" + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" + + "\6\13\1\377\14\13\1\u0100\24\13\1\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + + "\1\10\2\0\13\13\1\u0101\34\13\1\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + + "\1\10\2\0\3\13\1\u0102\44\13\1\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + + "\1\10\2\0\1\13\1\u0103\46\13\1\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + + "\1\10\2\0\23\13\1\u0104\24\13\1\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + + "\1\10\2\0\2\13\1\u0105\45\13\1\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + + "\1\10\2\0\3\13\1\u0106\44\13\1\0\1\10\2\0" + "\6\13\1\0\1\10\1\133\2\13\2\0\4\13\16\0" + + "\1\10\2\0\1\13\1\u0107\1\u0108\45\13\1\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + + "\16\0\1\10\2\0\11\13\1\u0109\1\13\1\u010a\1\13" + "\1\u010b\32\13\1\0\1\10\2\0\6\13\1\0\1\10" + + "\1\133\2\13\2\0\4\13\16\0\1\10\2\0\1\13" + "\1\u0108\14\13\1\u010c\31\13\1\0\1\10\2\0\6\13" + + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" + "\2\0\1\13\1\u010d\46\13\1\0\1\10\2\0\6\13" + + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" + "\2\0\40\13\1\u010e\7\13\1\0\1\10\2\0\6\13" + + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" + "\2\0\1\13\1\u010f\46\13\1\0\1\10\2\0\6\13" + + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" + "\2\0\15\13\1\u0110\32\13\1\0\1\10\2\0\6\13" + + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" + "\2\0\7\13\1\u0111\40\13\1\0\1\10\2\0\6\13" + + "\1\0\1\10\1\133\2\13\2\0\4\13\16\0\1\10" + "\2\0\14\13\1\u0112\5\13\1\u0113\25\13\1\0\1\10" + + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\15\13\1\u0114\32\13\1\0\1\10" + + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\3\13\1\u0115\44\13\116\0\1\u0116" + + "\4\0\4\u0117\12\0\2\u0117\25\0\1\u0117\2\0\1\u0117" + "\1\0\2\u0117\1\0\1\u0117\3\0\1\u0117\7\0\3\u0117" + + "\22\0\4\u0118\12\0\2\u0118\25\0\1\u0118\2\0\1\u0118" + "\1\0\2\u0118\1\0\1\u0118\3\0\1\u0118\7\0\3\u0118" + + "\64\0\1\u0119\116\0\1\u011a\121\0\1\u011b\117\0\1\u011c" + + "\106\0\1\u011d\116\0\1\u011e\121\0\1\u011f\117\0\1\u0120" + + "\155\0\1\u0121\44\0\1\u0122\51\0\1\10\2\0\1\10" + "\4\u0123\1\10\1\0\4\10\2\0\2\10\2\u0123\16\0" + + "\1\10\2\0\4\10\1\u0123\2\10\1\u0123\1\10\2\u0123" + "\1\10\1\u0123\3\10\1\u0123\7\10\3\u0123\15\10\1\0" + + "\1\134\2\0\1\134\2\301\1\134\1\301\1\134\1\0" + "\4\134\2\0\2\134\1\136\1\134\16\0\1\134\2\0" + + "\4\134\1\136\13\134\1\136\11\134\1\136\15\134\5\0" + "\2\301\1\0\1\301\106\0\1\134\2\0\1\134\4\304" + + "\1\134\1\0\4\134\2\0\1\134\1\303\2\304\16\0" + "\1\134\2\0\4\134\1\304\1\134\1\303\1\304\1\134" + + "\2\304\1\134\1\304\3\134\1\304\7\134\3\304\15\134" + "\1\0\1\10\2\0\6\13\1\0\1\10\1\133\2\13" + + "\2\0\4\13\16\0\1\10\2\0\26\13\1\u0124\21\13" + "\1\0\1\10\2\0\5\10\1\u0125\1\0\4\10\2\0" + + "\4\10\16\0\1\10\2\0\50\10\1\0\1\10\2\0" + "\6\10\1\0\4\10\2\0\4\10\16\0\1\10\2\0" + "\2\10\1\u0126\45\10\1\0\1\10\2\0\6\10\1\0" + "\4\10\2\0\4\10\16\0\1\10\2\0\12\10\1\u0127" + "\35\10\1\0\1\10\2\0\6\10\1\0\4\10\2\0" + "\4\10\16\0\1\10\2\0\3\10\1\145\44\10\17\0" + "\1\u0128\77\0\1\10\2\0\6\13\1\0\1\10\1\133" + "\2\13\2\0\4\13\16\0\1\10\2\0\1\13\1\u0108" @@ -448,7 +456,8 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { + "\1\10\2\0\16\13\1\u0163\31\13\1\0\1\10\2\0" + "\5\13\1\u0164\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\50\13\5\0\4\u0165\12\0\2\u0165" + "\25\0\1\u0165\2\0\1\u0165\1\0\2\u0165\1\0\1\u0165" + "\3\0\1\u0165\7\0\3\u0165\22\0\4\u0166\12\0\2\u0166" + "\25\0\1\u0166\2\0\1\u0166\1\0\2\u0166\1\0\1\u0166" - + "\3\0\1\u0166\7\0\3\u0166\65\0\1\u0167\106\0\1\u0168" + "\131\0\1\u011a\66\0\1\u0169\137\0\1\u016a\106\0\1\u016b" + + "\3\0\1\u0166\7\0\3\u0166\65\0\1\u0167\106\0\1\u0168" + + "\131\0\1\u011a\66\0\1\u0169\137\0\1\u016a\106\0\1\u016b" + "\131\0\1\u011e\66\0\1\u016c\70\0\1\10\2\0\1\10" + "\4\u016d\1\10\1\0\4\10\2\0\2\10\2\u016d\16\0" + "\1\10\2\0\4\10\1\u016d\2\10\1\u016d\1\10\2\u016d" + "\1\10\1\u016d\3\10\1\u016d\7\10\3\u016d\15\10\1\0" + "\1\10\2\0\5\13\1\u016e\1\0\1\10\1\133\2\13" + "\2\0\4\13\16\0\1\10\2\0\50\13\1\0\1\10" @@ -514,8 +523,10 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { + "\16\0\1\10\2\0\17\13\1\u019f\30\13\1\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\22\13\1\u01a0\25\13\1\0\1\10" + "\2\0\6\13\1\0\1\10\1\133\2\13\2\0\4\13" + "\16\0\1\10\2\0\2\13\1\u01a1\45\13\41\0\1\u0168" + "\7\0\1\u011a\63\0\1\u01a2\102\0\6\u0169\1\0\1\u01a3" - + "\1\0\1\u01a3\2\u0169\1\u01a3\4\u0169\2\u01a3\1\0\2\u01a3" + "\1\0\1\u01a3\2\0\4\u01a3\1\0\3\u01a3\50\u0169\41\0" - + "\1\u016b\7\0\1\u011e\63\0\1\u01a4\102\0\6\u016c\1\0" + "\1\u01a5\1\0\1\u01a5\2\u016c\1\u01a5\4\u016c\2\u01a5\1\0" + + "\1\0\1\u01a3\2\u0169\1\u01a3\4\u0169\2\u01a3\1\0\2\u01a3" + + "\1\0\1\u01a3\2\0\4\u01a3\1\0\3\u01a3\50\u0169\41\0" + + "\1\u016b\7\0\1\u011e\63\0\1\u01a4\102\0\6\u016c\1\0" + + "\1\u01a5\1\0\1\u01a5\2\u016c\1\u01a5\4\u016c\2\u01a5\1\0" + "\2\u01a5\1\0\1\u01a5\2\0\4\u01a5\1\0\3\u01a5\50\u016c" + "\1\0\1\10\2\0\1\10\4\u01a6\1\10\1\0\4\10" + "\2\0\2\10\2\u01a6\16\0\1\10\2\0\4\10\1\u01a6" + "\2\10\1\u01a6\1\10\2\u01a6\1\10\1\u01a6\3\10\1\u01a6" + "\7\10\3\u01a6\15\10\1\0\1\10\2\0\6\13\1\0" + "\1\10\1\133\2\13\2\0\4\13\16\0\1\10\2\0" @@ -762,14 +773,14 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { + "\4\13\16\0\1\10\2\0\1\13\1\u0267\46\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\14\13\1\u0268\33\13\1\0" + "\1\10\2\0\6\13\1\0\1\10\1\133\2\13\2\0" + "\4\13\16\0\1\10\2\0\1\u021a\47\13\1\0"; - + private static int[] zzUnpackTrans() { int[] result = new int[45084]; 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 */ @@ -784,7 +795,7 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -796,17 +807,19 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\4\1\1\11\4\1\1\11\10\1\2\11\3\1" + "\1\11\45\1\1\11\1\1\1\11\1\1\1\11\1\1" - + "\1\11\1\1\1\11\5\1\1\11\3\1\1\11\2\1" + "\1\11\20\1\1\11\6\1\1\0\2\1\1\0\73\1" + "\1\0\1\11\2\1\1\11\10\0\1\11\1\0\1\11" - + "\1\0\2\1\1\0\7\1\1\0\7\1\1\11\103\1" + "\1\11\12\0\2\11\5\1\1\11\74\1\1\0\1\11" + "\2\0\1\1\2\0\66\1\4\0\303\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\4\1\1\11\4\1\1\11\10\1\2\11\3\1" + + "\1\11\45\1\1\11\1\1\1\11\1\1\1\11\1\1" + "\1\11\1\1\1\11\5\1\1\11\3\1\1\11\2\1" + + "\1\11\20\1\1\11\6\1\1\0\2\1\1\0\73\1" + "\1\0\1\11\2\1\1\11\10\0\1\11\1\0\1\11" + + "\1\0\2\1\1\0\7\1\1\0\7\1\1\11\103\1" + "\1\11\12\0\2\11\5\1\1\11\74\1\1\0\1\11" + + "\2\0\1\1\2\0\66\1\4\0\303\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[616]; 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 */ @@ -820,7 +833,7 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -828,8 +841,8 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -839,8 +852,7 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ @@ -859,13 +871,11 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { */ private static final int INTERNAL_IN_JS_STRING_VALID = -11; /** - * Token type specifying we're in an invalid multi-line JS single-quoted - * string. + * Token type specifying we're in an invalid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_INVALID = -12; /** - * Token type specifying we're in a valid multi-line JS single-quoted - * string. + * Token type specifying we're in a valid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_VALID = -13; /** @@ -880,84 +890,74 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { * Language state set on JS tokens. Must be 0. */ private static final int LANG_INDEX_DEFAULT = 0; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public DartTokenMaker() { super(); } - + static { jsVersion = "1.0"; } - + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * Returns the closest {@link TokenTypes "standard" token type} for a given * "internal" token type (e.g. one whose value is < 0). @@ -965,17 +965,17 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { @Override public int getClosestStandardTokenTypeForInternalType(int type) { switch (type) { - case INTERNAL_IN_JS_MLC: - return TokenTypes.COMMENT_MULTILINE; - case INTERNAL_IN_JS_STRING_INVALID: - case INTERNAL_IN_JS_STRING_VALID: - case INTERNAL_IN_JS_CHAR_INVALID: - case INTERNAL_IN_JS_CHAR_VALID: - return TokenTypes.LITERAL_STRING_DOUBLE_QUOTE; + case INTERNAL_IN_JS_MLC: + return TokenTypes.COMMENT_MULTILINE; + case INTERNAL_IN_JS_STRING_INVALID: + case INTERNAL_IN_JS_STRING_VALID: + case INTERNAL_IN_JS_CHAR_INVALID: + case INTERNAL_IN_JS_CHAR_VALID: + return TokenTypes.LITERAL_STRING_DOUBLE_QUOTE; } return type; } - + /** * Returns the JavaScript version being highlighted. * @@ -985,7 +985,7 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { public static String getJavaScriptVersion() { return jsVersion; } - + /** * {@inheritDoc} */ @@ -993,21 +993,18 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -1018,32 +1015,32 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = DART_MULTILINE_STRING_DOUBLE; - break; - case Token.LITERAL_CHAR: - state = DART_MULTILINE_STRING_SINGLE; - break; - case INTERNAL_IN_JS_MLC: - state = JS_MLC; - break; - case INTERNAL_IN_JS_STRING_INVALID: - state = JS_STRING; - validJSString = false; - break; - case INTERNAL_IN_JS_STRING_VALID: - state = JS_STRING; - break; - case INTERNAL_IN_JS_CHAR_INVALID: - state = JS_CHAR; - validJSString = false; - break; - case INTERNAL_IN_JS_CHAR_VALID: - state = JS_CHAR; - break; - default: - state = YYINITIAL; // ??? - break; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = DART_MULTILINE_STRING_DOUBLE; + break; + case Token.LITERAL_CHAR: + state = DART_MULTILINE_STRING_SINGLE; + break; + case INTERNAL_IN_JS_MLC: + state = JS_MLC; + break; + case INTERNAL_IN_JS_STRING_INVALID: + state = JS_STRING; + validJSString = false; + break; + case INTERNAL_IN_JS_STRING_VALID: + state = JS_STRING; + break; + case INTERNAL_IN_JS_CHAR_INVALID: + state = JS_CHAR; + validJSString = false; + break; + case INTERNAL_IN_JS_CHAR_VALID: + state = JS_CHAR; + break; + default: + state = YYINITIAL; // ??? + break; } setLanguageIndex(languageIndex); start = text.offset; @@ -1057,63 +1054,59 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** - * Returns whether features for a specific JS version should be honored - * while highlighting. + * Returns whether features for a specific JS version should be honored while + * highlighting. * - * @param version - * JavaScript version required - * @return Whether the JavaScript version is the same or greater than - * version required. + * @param version JavaScript version required + * @return Whether the JavaScript version is the same or greater than version + * required. */ public static boolean isJavaScriptCompatible(String version) { return jsVersion.compareTo(version) >= 0; } - + /** - * Set the supported JavaScript version because some keywords were - * introduced on or after this version. + * Set the supported JavaScript version because some keywords were introduced on + * or after this version. * - * @param javaScriptVersion - * The version of JavaScript to support, such as - * "1.5" or "1.6". + * @param javaScriptVersion The version of JavaScript to support, such as + * "1.5" or "1.6". * @see #isJavaScriptCompatible(String) * @see #getJavaScriptVersion() */ public static void setJavaScriptVersion(String javaScriptVersion) { jsVersion = javaScriptVersion; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -1123,34 +1116,31 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public DartTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public DartTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -1166,7 +1156,7 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1176,69 +1166,64 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1249,29 +1234,27 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1290,8 +1273,7 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1331,323 +1313,324 @@ public class DartTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 11: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; + case 11: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 45: + break; + case 5: { + addToken(Token.IDENTIFIER); + } + case 46: + break; + case 41: { + addToken(Token.LITERAL_BOOLEAN); + } + case 47: + break; + case 39: { + addToken(start, zzStartRead + 2, Token.LITERAL_CHAR); + yybegin(YYINITIAL); + } + case 48: + break; + case 30: { /* Skip all escaped chars. */ + } + case 49: + break; + case 32: { + /* Invalid latin-1 character \xXX */ validJSString = false; + } + case 50: + break; + case 38: { + addToken(start, zzStartRead + 2, Token.LITERAL_STRING_DOUBLE_QUOTE); + yybegin(YYINITIAL); + } + case 51: + break; + case 23: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 52: + break; + case 17: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 53: + break; + case 36: { + addToken(Token.FUNCTION); + } + case 54: + break; + case 28: { + addToken(Token.ANNOTATION); + } + case 55: + break; + case 2: { + addToken(Token.ERROR_IDENTIFIER); + } + case 56: + break; + case 27: { + start = zzMarkedPos - 2; + yybegin(JS_MLC); + } + case 57: + break; + case 13: { + int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; + addToken(start, zzStartRead, type); + yybegin(YYINITIAL); + } + case 58: + break; + case 37: { + start = zzMarkedPos - 3; + yybegin(DART_MULTILINE_STRING_DOUBLE); + } + case 59: + break; + case 16: { + int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; + addToken(start, zzStartRead, type); + yybegin(YYINITIAL); + } + case 60: + break; + case 14: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 61: + break; + case 26: { + start = zzMarkedPos - 2; + yybegin(JS_EOL_COMMENT); + } + case 62: + break; + case 20: { /* Skip escaped chars, handles case: '\"""'. */ + } + case 63: + break; + case 34: { + start = zzMarkedPos - 3; + yybegin(DART_MULTILINE_STRING_SINGLE); + } + case 64: + break; + case 25: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 65: + break; + case 12: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_IN_JS_STRING_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_STRING_INVALID); } - case 45: - break; - case 5: { - addToken(Token.IDENTIFIER); + return firstToken; + } + case 66: + break; + case 3: { + addToken(Token.WHITESPACE); + } + case 67: + break; + case 35: { + addToken(Token.DATA_TYPE); + } + case 68: + break; + case 33: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 69: + break; + case 15: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_CHAR); + addEndToken(INTERNAL_IN_JS_CHAR_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS_CHAR_INVALID); } - case 46: - break; - case 41: { - addToken(Token.LITERAL_BOOLEAN); - } - case 47: - break; - case 39: { - addToken(start, zzStartRead + 2, Token.LITERAL_CHAR); - yybegin(YYINITIAL); - } - case 48: - break; - case 30: { /* Skip all escaped chars. */ - } - case 49: - break; - case 32: { - /* Invalid latin-1 character \xXX */ validJSString = false; - } - case 50: - break; - case 38: { - addToken(start, zzStartRead + 2, Token.LITERAL_STRING_DOUBLE_QUOTE); - yybegin(YYINITIAL); - } - case 51: - break; - case 23: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 52: - break; - case 17: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 53: - break; - case 36: { - addToken(Token.FUNCTION); - } - case 54: - break; - case 28: { - addToken(Token.ANNOTATION); - } - case 55: - break; - case 2: { - addToken(Token.ERROR_IDENTIFIER); - } - case 56: - break; - case 27: { - start = zzMarkedPos - 2; - yybegin(JS_MLC); - } - case 57: - break; - case 13: { - int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; - addToken(start, zzStartRead, type); - yybegin(YYINITIAL); - } - case 58: - break; - case 37: { - start = zzMarkedPos - 3; - yybegin(DART_MULTILINE_STRING_DOUBLE); - } - case 59: - break; - case 16: { - int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; - addToken(start, zzStartRead, type); - yybegin(YYINITIAL); - } - case 60: - break; - case 14: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 61: - break; - case 26: { - start = zzMarkedPos - 2; - yybegin(JS_EOL_COMMENT); - } - case 62: - break; - case 20: { /* Skip escaped chars, handles case: '\"""'. */ - } - case 63: - break; - case 34: { - start = zzMarkedPos - 3; - yybegin(DART_MULTILINE_STRING_SINGLE); - } - case 64: - break; - case 25: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 65: - break; - case 12: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_IN_JS_STRING_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_STRING_INVALID); + return firstToken; + } + case 70: + break; + case 6: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 71: + break; + case 10: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_STRING); + } + case 72: + break; + case 31: { + /* Invalid Unicode character \\uXXXX */ validJSString = false; + } + case 73: + break; + case 22: { /* Skip escaped chars, handles case: "\'''". */ + } + case 74: + break; + case 9: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_CHAR); + } + case 75: + break; + case 29: { + addToken(Token.RESERVED_WORD); + } + case 76: + break; + case 42: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 77: + break; + case 44: { + addToken(Token.RESERVED_WORD_2); + } + case 78: + break; + case 18: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 79: + break; + case 8: { + addToken(Token.SEPARATOR); + } + case 80: + break; + case 4: { + addNullToken(); + return firstToken; + } + case 81: + break; + case 7: { + addToken(Token.OPERATOR); + } + case 82: + break; + case 21: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 83: + break; + case 24: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 84: + break; + case 43: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 85: + break; + case 40: { + addToken(Token.COMMENT_MULTILINE); + } + case 86: + break; + case 1: { + } + case 87: + break; + case 19: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 88: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case JS_STRING: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; } - return firstToken; - } - case 66: - break; - case 3: { - addToken(Token.WHITESPACE); - } - case 67: - break; - case 35: { - addToken(Token.DATA_TYPE); - } - case 68: - break; - case 33: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 69: - break; - case 15: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_INVALID); + case 617: + break; + case JS_CHAR: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addNullToken(); + return firstToken; } - return firstToken; - } - case 70: - break; - case 6: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 71: - break; - case 10: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_STRING); - } - case 72: - break; - case 31: { - /* Invalid Unicode character \\uXXXX */ validJSString = false; - } - case 73: - break; - case 22: { /* Skip escaped chars, handles case: "\'''". */ - } - case 74: - break; - case 9: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_CHAR); - } - case 75: - break; - case 29: { - addToken(Token.RESERVED_WORD); - } - case 76: - break; - case 42: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 77: - break; - case 44: { - addToken(Token.RESERVED_WORD_2); - } - case 78: - break; - case 18: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 79: - break; - case 8: { - addToken(Token.SEPARATOR); - } - case 80: - break; - case 4: { - addNullToken(); - return firstToken; - } - case 81: - break; - case 7: { - addToken(Token.OPERATOR); - } - case 82: - break; - case 21: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 83: - break; - case 24: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 84: - break; - case 43: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 85: - break; - case 40: { - addToken(Token.COMMENT_MULTILINE); - } - case 86: - break; - case 1: {} - case 87: - break; - case 19: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 88: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case JS_STRING: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 617: - break; - case JS_CHAR: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 618: - break; - case DART_MULTILINE_STRING_DOUBLE: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 619: - break; - case JS_EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 620: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 621: - break; - case JS_MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 622: - break; - case DART_MULTILINE_STRING_SINGLE: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 623: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 618: + break; + case DART_MULTILINE_STRING_DOUBLE: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; } + case 619: + break; + case JS_EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 620: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 621: + break; + case JS_MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 622: + break; + case DART_MULTILINE_STRING_SINGLE: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 623: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/DelphiTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/DelphiTokenMaker.java index 5000a04..99be881 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/DelphiTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/DelphiTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated DelphiTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -74,8 +73,8 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { private static final String ZZ_CMAP_PACKED = "\11\0\1\13\1\12\1\0\1\13\1\7\22\0\1\13\1\42\1\7" + "\1\10\1\11\1\42\1\42\1\14\1\17\1\21\1\20\1\27\1\42" + "\1\27\1\30\1\22\1\4\7\6\2\3\1\45\1\42\1\44\1\46" + "\1\44\1\42\1\43\3\5\1\25\1\26\1\25\5\1\1\24\13\1" + "\1\23\2\1\1\41\1\0\1\41\1\44\1\2\1\0\1\36\1\55" - + "\1\60\1\62\1\34\1\35\1\56\1\47\1\51\1\66\1\67\1\37" + "\1\54\1\57\1\61\1\50\1\70\1\32\1\40\1\31\1\33\1\63" - + "\1\52\1\64\1\53\1\65\1\15\1\7\1\16\1\42\uff81\0"; + + "\1\60\1\62\1\34\1\35\1\56\1\47\1\51\1\66\1\67\1\37" + + "\1\54\1\57\1\61\1\50\1\70\1\32\1\40\1\31\1\33\1\63" + "\1\52\1\64\1\53\1\65\1\15\1\7\1\16\1\42\uff81\0"; /** * Translates characters to character classes */ @@ -84,19 +83,20 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\6\0\1\1\1\2\2\3\1\2\1\4\1\5\1\6" + "\1\7\1\10\1\11\1\12\1\11\1\12\11\2\1\12" - + "\14\2\1\13\1\14\1\15\4\13\1\16\2\13\1\17" + "\1\20\1\13\1\21\2\13\1\22\3\13\1\23\1\3" - + "\1\24\1\23\1\24\1\23\1\25\1\23\1\26\1\27" + "\1\30\1\31\3\2\1\32\15\2\1\32\20\2\1\32" - + "\31\2\1\32\3\2\4\0\1\33\1\34\4\0\1\24" + "\1\0\2\25\1\35\22\2\1\36\2\2\1\32\73\2" + "\1\32\1\2\10\0\1\37\1\2\1\40\1\36\56\2" + private static final String ZZ_ACTION_PACKED_0 = "\6\0\1\1\1\2\2\3\1\2\1\4\1\5\1\6" + + "\1\7\1\10\1\11\1\12\1\11\1\12\11\2\1\12" + "\14\2\1\13\1\14\1\15\4\13\1\16\2\13\1\17" + + "\1\20\1\13\1\21\2\13\1\22\3\13\1\23\1\3" + "\1\24\1\23\1\24\1\23\1\25\1\23\1\26\1\27" + + "\1\30\1\31\3\2\1\32\15\2\1\32\20\2\1\32" + "\31\2\1\32\3\2\4\0\1\33\1\34\4\0\1\24" + + "\1\0\2\25\1\35\22\2\1\36\2\2\1\32\73\2" + "\1\32\1\2\10\0\1\37\1\2\1\40\1\36\56\2" + "\1\40\2\2\1\36\16\2\2\0\1\41\2\0\1\42" + "\13\2\1\32\40\2\1\32\10\2\4\0\10\2\1\36" + "\65\2"; - + private static int[] zzUnpackAction() { int[] result = new int[437]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -110,7 +110,7 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -168,15 +168,16 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { + "\0\u52d4\0\u530d\0\u5346\0\u537f\0\u53b8\0\u53f1\0\u542a\0\u5463" + "\0\u549c\0\u54d5\0\u550e\0\u5547\0\u5580\0\u55b9\0\u55f2\0\u562b" + "\0\u5664\0\u569d\0\u56d6\0\u570f\0\u5748\0\u5781\0\u57ba\0\u57f3" - + "\0\u582c\0\u5865\0\u589e\0\u58d7\0\u5910\0\u5949\0\u5982\0\u59bb" + "\0\u59f4\0\u5a2d\0\u5a66\0\u5a9f\0\u5ad8"; - + + "\0\u582c\0\u5865\0\u589e\0\u58d7\0\u5910\0\u5949\0\u5982\0\u59bb" + + "\0\u59f4\0\u5a2d\0\u5a66\0\u5a9f\0\u5ad8"; + private static int[] zzUnpackRowMap() { int[] result = new int[437]; 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 */ @@ -187,17 +188,18 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\7\2\10\1\11\1\12\1\10\1\11\1\13\1\14" + "\1\10\1\15\1\16\1\17\1\20\1\13\1\21\1\22" - + "\1\23\1\24\4\10\1\22\1\25\1\26\1\27\1\30" + "\1\31\1\32\1\33\1\34\1\35\1\23\1\13\1\36" - + "\3\22\1\10\1\37\1\40\1\41\1\10\1\42\1\43" + "\1\44\1\45\1\46\1\47\1\50\1\51\1\52\4\10" - + "\12\53\1\54\3\53\1\55\16\53\1\56\11\53\1\57" + "\2\53\1\60\16\53\12\61\1\62\5\61\1\63\14\61" - + "\1\56\11\61\1\57\2\61\1\60\16\61\12\64\1\65" + "\3\64\1\66\52\64\12\67\1\70\5\67\1\71\50\67" - + "\12\72\1\73\22\72\1\74\11\72\1\75\2\72\1\76" + "\16\72\7\7\1\0\2\7\11\0\4\7\2\0\10\7" + "\2\0\1\7\3\0\23\7\6\10\1\0\1\7\1\10" + private static final String ZZ_TRANS_PACKED_0 = "\1\7\2\10\1\11\1\12\1\10\1\11\1\13\1\14" + + "\1\10\1\15\1\16\1\17\1\20\1\13\1\21\1\22" + "\1\23\1\24\4\10\1\22\1\25\1\26\1\27\1\30" + + "\1\31\1\32\1\33\1\34\1\35\1\23\1\13\1\36" + "\3\22\1\10\1\37\1\40\1\41\1\10\1\42\1\43" + + "\1\44\1\45\1\46\1\47\1\50\1\51\1\52\4\10" + "\12\53\1\54\3\53\1\55\16\53\1\56\11\53\1\57" + + "\2\53\1\60\16\53\12\61\1\62\5\61\1\63\14\61" + "\1\56\11\61\1\57\2\61\1\60\16\61\12\64\1\65" + + "\3\64\1\66\52\64\12\67\1\70\5\67\1\71\50\67" + "\12\72\1\73\22\72\1\74\11\72\1\75\2\72\1\76" + + "\16\72\7\7\1\0\2\7\11\0\4\7\2\0\10\7" + "\2\0\1\7\3\0\23\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\22\10" + "\3\77\2\11\1\77\1\11\1\0\2\77\11\0\1\77" + "\1\100\1\101\1\102\1\0\1\103\3\77\1\102\1\101" + "\1\77\1\100\1\77\2\0\1\77\3\0\13\77\1\101" + "\11\77\1\104\1\105\1\77\1\105\1\0\2\77\11\0" + "\1\106\1\100\1\101\1\102\1\0\1\103\3\77\1\102" @@ -205,142 +207,170 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { + "\1\14\1\0\2\7\11\0\4\7\2\0\10\7\2\0" + "\1\7\3\0\22\7\13\0\1\16\55\0\14\17\1\107" + "\54\17\11\0\1\110\77\0\1\111\72\0\1\112\51\0" + "\2\103\1\0\1\103\62\0\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\1\10\1\113\6\10\2\0" + "\1\7\3\0\1\114\3\10\1\115\5\10\1\116\7\10" - + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\3\10\1\117\1\10\1\120\2\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\7\10\1\121\2\0\1\7\3\0\10\10\1\122" + "\11\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\6\10\1\123\1\10\2\0\1\7\3\0\10\10" + "\1\124\4\10\1\125\4\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\2\10\1\126\2\10\1\127" + "\2\10\2\0\1\7\3\0\2\10\1\130\7\10\1\131" - + "\7\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\1\116\1\132\1\133\4\10\1\134\2\0\1\7" - + "\3\0\6\10\1\135\13\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\5\10\1\136\2\10\2\0" - + "\1\7\3\0\2\10\1\137\7\10\1\140\7\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\141" - + "\2\10\1\142\1\10\1\143\2\10\2\0\1\7\3\0" + "\1\144\1\10\1\145\2\10\1\146\14\10\1\7\6\10" - + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\147" + "\1\150\2\10\1\151\1\152\1\10\2\0\1\7\3\0" - + "\12\10\1\153\7\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\4\10\1\116\2\10\1\116\2\0" - + "\1\7\3\0\5\10\1\154\2\10\1\155\11\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" - + "\1\156\6\10\2\0\1\7\3\0\1\157\1\10\1\160" + "\7\10\1\161\7\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\3\10\1\162\4\10\2\0\1\7" + "\3\0\12\10\1\124\7\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\3\10\1\163\4\10\2\0" + "\1\7\3\0\4\10\1\164\5\10\1\165\7\10\1\7" - + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\12\10\1\166\7\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\167" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\3\10\1\117\1\10\1\120\2\10\2\0\1\7\3\0" + + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\7\10\1\121\2\0\1\7\3\0\10\10\1\122" + + "\11\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\6\10\1\123\1\10\2\0\1\7\3\0\10\10" + + "\1\124\4\10\1\125\4\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\2\10\1\126\2\10\1\127" + + "\2\10\2\0\1\7\3\0\2\10\1\130\7\10\1\131" + "\7\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + + "\2\0\1\116\1\132\1\133\4\10\1\134\2\0\1\7" + "\3\0\6\10\1\135\13\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\5\10\1\136\2\10\2\0" + "\1\7\3\0\2\10\1\137\7\10\1\140\7\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\141" + "\2\10\1\142\1\10\1\143\2\10\2\0\1\7\3\0" + + "\1\144\1\10\1\145\2\10\1\146\14\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\147" + + "\1\150\2\10\1\151\1\152\1\10\2\0\1\7\3\0" + "\12\10\1\153\7\10\1\7\6\10\1\0\1\7\1\10" + + "\11\0\4\10\2\0\4\10\1\116\2\10\1\116\2\0" + "\1\7\3\0\5\10\1\154\2\10\1\155\11\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" + "\1\156\6\10\2\0\1\7\3\0\1\157\1\10\1\160" + + "\7\10\1\161\7\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\3\10\1\162\4\10\2\0\1\7" + + "\3\0\12\10\1\124\7\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\3\10\1\163\4\10\2\0" + + "\1\7\3\0\4\10\1\164\5\10\1\165\7\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + + "\2\0\1\7\3\0\12\10\1\166\7\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\167" + "\1\10\1\170\2\10\2\0\1\7\3\0\2\10\1\171" + "\7\10\1\172\7\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\2\10\1\173\2\10\1\174\1\175" + "\1\10\2\0\1\7\3\0\1\176\11\10\1\177\1\200" + "\6\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\1\10\1\116\1\201\1\10\1\116\3\10\2\0" + "\1\7\3\0\6\10\1\202\1\10\1\116\3\10\1\203" + "\5\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\3\10\1\204\4\10\2\0\1\7\3\0\2\10" + "\1\205\1\10\1\206\5\10\1\207\7\10\1\7\6\10" - + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\210" + "\2\10\2\0\1\7\3\0\2\10\1\211\17\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" - + "\2\0\1\7\3\0\12\10\1\212\7\10\12\53\1\0" + "\3\53\1\0\16\53\1\0\11\53\1\0\2\53\1\0" - + "\16\53\31\0\1\213\17\0\1\214\50\0\1\215\111\0" + "\1\216\16\0\12\61\1\0\5\61\1\0\14\61\1\0" - + "\11\61\1\0\2\61\1\0\16\61\21\0\1\217\47\0" + "\12\64\1\0\3\64\1\0\52\64\12\67\1\0\5\67" - + "\1\0\50\67\21\0\1\220\47\0\12\72\1\0\22\72" + "\1\0\11\72\1\0\2\72\1\0\16\72\31\0\1\221" - + "\17\0\1\222\50\0\1\223\111\0\1\224\16\0\7\77" + "\1\0\2\77\11\0\4\77\2\0\10\77\2\0\1\77" - + "\3\0\25\77\2\225\1\77\1\225\1\0\2\77\11\0" + "\4\77\1\226\1\0\10\77\2\0\1\77\3\0\25\77" - + "\2\103\1\77\1\103\1\0\2\77\11\0\2\77\1\101" + "\1\102\2\0\3\77\1\102\1\101\3\77\2\0\1\77" - + "\3\0\13\77\1\101\11\77\2\104\1\77\1\104\1\0" + "\2\77\11\0\2\77\1\101\1\102\1\0\1\103\3\77" - + "\1\102\1\101\3\77\2\0\1\77\3\0\13\77\1\101" + "\11\77\1\104\1\105\1\77\1\105\1\0\2\77\11\0" - + "\1\77\1\227\1\101\1\102\1\0\1\103\3\77\1\102" + "\1\101\1\77\1\227\1\77\2\0\1\77\3\0\13\77" - + "\1\101\11\77\4\230\1\0\2\77\11\0\2\77\2\230" + "\2\0\3\77\3\230\2\77\2\0\1\77\3\0\6\77" - + "\1\230\2\77\1\230\1\77\1\230\6\77\11\0\1\231" + "\57\0\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\2\10\1\232\5\10\2\0\1\7\3\0\4\10" + "\1\116\15\10\1\7\6\10\1\0\1\7\1\10\11\0" - + "\4\10\2\0\1\10\1\233\1\10\1\234\4\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\1\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\210" + "\2\10\2\0\1\7\3\0\2\10\1\211\17\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\12\10\1\212\7\10\12\53\1\0" + + "\3\53\1\0\16\53\1\0\11\53\1\0\2\53\1\0" + "\16\53\31\0\1\213\17\0\1\214\50\0\1\215\111\0" + + "\1\216\16\0\12\61\1\0\5\61\1\0\14\61\1\0" + "\11\61\1\0\2\61\1\0\16\61\21\0\1\217\47\0" + + "\12\64\1\0\3\64\1\0\52\64\12\67\1\0\5\67" + "\1\0\50\67\21\0\1\220\47\0\12\72\1\0\22\72" + + "\1\0\11\72\1\0\2\72\1\0\16\72\31\0\1\221" + "\17\0\1\222\50\0\1\223\111\0\1\224\16\0\7\77" + + "\1\0\2\77\11\0\4\77\2\0\10\77\2\0\1\77" + "\3\0\25\77\2\225\1\77\1\225\1\0\2\77\11\0" + + "\4\77\1\226\1\0\10\77\2\0\1\77\3\0\25\77" + "\2\103\1\77\1\103\1\0\2\77\11\0\2\77\1\101" + + "\1\102\2\0\3\77\1\102\1\101\3\77\2\0\1\77" + "\3\0\13\77\1\101\11\77\2\104\1\77\1\104\1\0" + + "\2\77\11\0\2\77\1\101\1\102\1\0\1\103\3\77" + "\1\102\1\101\3\77\2\0\1\77\3\0\13\77\1\101" + + "\11\77\1\104\1\105\1\77\1\105\1\0\2\77\11\0" + "\1\77\1\227\1\101\1\102\1\0\1\103\3\77\1\102" + + "\1\101\1\77\1\227\1\77\2\0\1\77\3\0\13\77" + "\1\101\11\77\4\230\1\0\2\77\11\0\2\77\2\230" + + "\2\0\3\77\3\230\2\77\2\0\1\77\3\0\6\77" + "\1\230\2\77\1\230\1\77\1\230\6\77\11\0\1\231" + + "\57\0\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\2\10\1\232\5\10\2\0\1\7\3\0\4\10" + + "\1\116\15\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\10\1\233\1\10\1\234\4\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\1\10" + "\1\235\20\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\5\10\1\236\1\10\1\237\2\0\1\7" + "\3\0\1\10\1\240\1\241\4\10\1\242\1\10\1\243" + "\7\10\1\244\1\7\6\10\1\0\1\7\1\10\11\0" - + "\4\10\2\0\10\10\2\0\1\7\3\0\2\10\1\123" + "\17\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\3\10\1\245\4\10\2\0\1\7\3\0\22\10" - + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\1\246\6\10\1\247\2\0\1\7\3\0\2\10\1\201" + "\17\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\7\10\1\235\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\13\10\1\116\6\10\1\7\6\10" - + "\1\0\1\7\1\10\11\0\4\10\2\0\1\250\7\10" + "\2\0\1\7\3\0\1\10\1\251\7\10\1\252\10\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\4\10\2\0\10\10\2\0\1\7\3\0\2\10\1\123" + "\17\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + + "\2\0\3\10\1\245\4\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\1\246\6\10\1\247\2\0\1\7\3\0\2\10\1\201" + "\17\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + + "\2\0\7\10\1\235\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + + "\2\0\1\7\3\0\13\10\1\116\6\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\250\7\10" + + "\2\0\1\7\3\0\1\10\1\251\7\10\1\252\10\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\10\10\1\253\11\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" + "\1\254\4\10\1\255\1\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\6\10\1\235\1\10\2\0\1\7\3\0\10\10\1\256" + "\11\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\1\10\1\257\6\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\1\10\1\260\6\10\2\0\1\7\3\0\22\10\1\7" - + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\261" + "\7\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\7\10\1\262\2\0" - + "\1\7\3\0\5\10\1\116\14\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\7\10\1\263\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\6\10" + "\1\264\13\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\6\10\1\265" + + "\2\0\1\10\1\257\6\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\1\10\1\260\6\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\261" + + "\7\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\7\10\1\262\2\0" + + "\1\7\3\0\5\10\1\116\14\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\7\10\1\263\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\6\10" + + "\1\264\13\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\6\10\1\265" + "\13\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\10\10\2\0\1\7\3\0\10\10\1\266\1\267" + "\10\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\1\10\1\270\3\10\1\271\2\10\2\0\1\7" + "\3\0\12\10\1\272\1\273\6\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\1\116\4\10\1\274" - + "\1\275\1\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\4\10\1\276" + "\3\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\1\10\1\116\4\10" + "\1\116\1\10\2\0\1\7\3\0\12\10\1\277\7\10" - + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\10\10\1\300\11\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\5\10" - + "\1\301\2\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\2\10\1\302\7\10\1\303\7\10\1\7" - + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\6\10\1\304\13\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\7\10\1\305" - + "\2\0\1\7\3\0\11\10\1\306\10\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\307" + "\2\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\2\10\1\310\17\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + + "\1\275\1\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\4\10\1\276" + + "\3\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\1\10\1\116\4\10" + + "\1\116\1\10\2\0\1\7\3\0\12\10\1\277\7\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\10\10\2\0\1\7\3\0\10\10\1\300\11\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\5\10" + + "\1\301\2\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + + "\1\7\3\0\2\10\1\302\7\10\1\303\7\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + + "\2\0\1\7\3\0\6\10\1\304\13\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\7\10\1\305" + + "\2\0\1\7\3\0\11\10\1\306\10\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\307" + + "\2\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + + "\3\0\2\10\1\310\17\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\1\10\1\311\20\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\312\5\10\1\313\1\10\2\0" + "\1\7\3\0\1\314\1\10\1\315\10\10\1\316\6\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\2\10\1\317\17\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" - + "\2\0\1\7\3\0\2\10\1\320\17\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\321\7\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\1\10\1\322\6\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\7\10\1\323\2\0\1\7\3\0" - + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\10\10\2\0\1\7\3\0\7\10\1\324\12\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\1\325\7\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\12\10\1\326\7\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\1\327\7\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\5\10\1\330\2\10\2\0\1\7" - + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\5\10\1\331" + "\14\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\6\10\1\254\1\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\1\116\7\10\2\0\1\7\3\0\13\10\1\332\6\10" - + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\1\10\1\333\6\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" - + "\1\334\5\10\1\235\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\5\10" + "\1\335\2\10\2\0\1\7\3\0\22\10\1\7\6\10" - + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\336" + "\2\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + + "\2\0\1\7\3\0\2\10\1\320\17\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\321\7\10" + + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\1\10\1\322\6\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\7\10\1\323\2\0\1\7\3\0" + + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\10\10\2\0\1\7\3\0\7\10\1\324\12\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\1\325\7\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\12\10\1\326\7\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\1\327\7\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + + "\11\0\4\10\2\0\5\10\1\330\2\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + + "\4\10\2\0\10\10\2\0\1\7\3\0\5\10\1\331" + "\14\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + + "\2\0\6\10\1\254\1\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\1\116\7\10\2\0\1\7\3\0\13\10\1\332\6\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\1\10\1\333\6\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" + + "\1\334\5\10\1\235\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\5\10" + + "\1\335\2\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\336" + + "\2\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\5\10\1\337\2\10\1\340\11\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\341" - + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\1\116\7\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\17\10" + "\1\342\2\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\3\10\1\343\4\10\2\0\1\7\3\0" + + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\1\116\7\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\17\10" + + "\1\342\2\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\3\10\1\343\4\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\4\10\1\344\2\10\1\345\2\0\1\7\3\0" + "\1\10\1\346\20\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\7\10\1\347\2\0\1\7\3\0" + "\14\10\1\116\5\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\10\10" + "\1\350\11\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\2\10\1\351\5\10\2\0\1\7\3\0" - + "\3\10\1\352\16\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\10\1\353\6\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" - + "\4\10\2\0\1\10\1\354\6\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\1\10\1\116\6\10\2\0\1\7\3\0\22\10" + + "\3\10\1\352\16\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\10\1\353\6\10\2\0\1\7" + + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\10\1\354\6\10\2\0\1\7\3\0" + + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\1\10\1\116\6\10\2\0\1\7\3\0\22\10" + "\50\0\1\355\57\0\1\356\62\0\1\357\111\0\1\360" + "\66\0\1\361\57\0\1\362\62\0\1\363\111\0\1\364" + "\16\0\3\77\2\225\1\77\1\225\1\0\2\77\11\0" + "\2\77\1\101\1\77\2\0\4\77\1\101\3\77\2\0" + "\1\77\3\0\13\77\1\101\6\77\3\0\2\225\1\0" + "\1\225\62\0\3\77\4\230\1\0\2\77\11\0\1\77" + "\1\227\2\230\2\0\3\77\3\230\1\227\1\77\2\0" + "\1\77\3\0\6\77\1\230\2\77\1\230\1\77\1\230" - + "\6\77\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\3\10\1\365\4\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\3\10\1\366\4\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" - + "\2\0\1\7\3\0\10\10\1\116\11\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\116" + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\6\10\1\367\1\10" + "\2\0\1\7\3\0\13\10\1\370\6\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" - + "\1\7\3\0\2\10\1\371\7\10\1\372\7\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\3\10" + "\1\373\4\10\2\0\1\7\3\0\22\10\1\7\6\10" - + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\10\10\1\374\11\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" - + "\3\0\2\10\1\375\17\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\12\10\1\376\7\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\2\10\1\377\5\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\7\10\1\116\2\0\1\7\3\0\22\10" - + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\2\10\1\u0100\17\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\5\10" + + "\6\77\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\3\10\1\365\4\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\3\10\1\366\4\10\2\0\1\7\3\0\22\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\10\10\1\116\11\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\116" + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\6\10\1\367\1\10" + "\2\0\1\7\3\0\13\10\1\370\6\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\2\10\1\371\7\10\1\372\7\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\3\10" + "\1\373\4\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\10\10\1\374\11\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\2\10\1\375\17\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\12\10\1\376\7\10\1\7\6\10\1\0\1\7\1\10" + + "\11\0\4\10\2\0\2\10\1\377\5\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + + "\4\10\2\0\7\10\1\116\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\10\10\2\0\1\7\3\0\2\10\1\u0100\17\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\5\10" + "\1\u0101\2\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\u0102" - + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\12\10\1\u0103\7\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\3\10\1\u0104\4\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\11\10" + "\1\u0105\10\10\1\7\6\10\1\0\1\7\1\10\11\0" - + "\4\10\2\0\7\10\1\232\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\5\10\1\u0106\2\10\2\0\1\7\3\0\22\10\1\7" + + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + + "\3\0\12\10\1\u0103\7\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\3\10\1\u0104\4\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\11\10" + + "\1\u0105\10\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\7\10\1\232\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\5\10\1\u0106\2\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\3\10\1\u0107\16\10\1\7\6\10" - + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\u0108" + "\2\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" - + "\3\0\12\10\1\u0109\7\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\3\10\1\u010a\4\10\2\0" - + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\u010b\7\10\2\0\1\7\3\0" - + "\12\10\1\u010c\7\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\3\10\1\u0100\4\10\2\0\1\7" - + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\10\1\u010d\6\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\u0108" + "\2\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\12\10\1\u0109\7\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\3\10\1\u010a\4\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + + "\11\0\4\10\2\0\1\u010b\7\10\2\0\1\7\3\0" + "\12\10\1\u010c\7\10\1\7\6\10\1\0\1\7\1\10" + + "\11\0\4\10\2\0\3\10\1\u0100\4\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + + "\4\10\2\0\1\10\1\u010d\6\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\10\10\2\0\1\7\3\0\7\10\1\u010e\12\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\5\10\1\171\2\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\2\10\1\u010f\17\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\u0110\7\10" - + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\1\10\1\u0111\6\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\11\10" + "\1\u0112\10\10\1\7\6\10\1\0\1\7\1\10\11\0" - + "\4\10\2\0\6\10\1\u0113\1\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\4\10\1\254\3\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\3\10\1\273\4\10\2\0\1\7\3\0\22\10\1\7" - + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" + "\1\u0114\6\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" - + "\1\7\3\0\7\10\1\u0115\12\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\6\10\1\u0116\1\10" - + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\14\10\1\u0117\5\10\1\7\6\10\1\0\1\7\1\10" + + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\1\10\1\u0111\6\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\11\10" + + "\1\u0112\10\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\6\10\1\u0113\1\10\2\0\1\7\3\0" + + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\4\10\1\254\3\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\3\10\1\273\4\10\2\0\1\7\3\0\22\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" + "\1\u0114\6\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\7\10\1\u0115\12\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\6\10\1\u0116\1\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\14\10\1\u0117\5\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\u0118\7\10\2\0\1\7\3\0" + "\1\10\1\u0119\5\10\1\u011a\1\10\1\u011b\10\10\1\7" - + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\6\10" + "\1\u011c\1\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" - + "\1\7\3\0\11\10\1\267\10\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" - + "\3\0\20\10\1\u011d\1\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\1\u011e\7\10\2\0\1\7" - + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\10\10\1\u011f" - + "\11\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\6\10\1\u0120\1\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\6\10" + "\1\u011c\1\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\11\10\1\267\10\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\20\10\1\u011d\1\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\1\u011e\7\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + + "\4\10\2\0\10\10\2\0\1\7\3\0\10\10\1\u011f" + "\11\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + + "\2\0\6\10\1\u0120\1\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\3\10\1\u0121\4\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\2\10\1\u0122\17\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\u0123" - + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\1\u0124\7\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\3\10\1\u0125\4\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" - + "\4\10\2\0\1\u0126\7\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\6\10\1\235\1\10\2\0\1\7\3\0\22\10\1\7" - + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\1\116\21\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" - + "\3\0\13\10\1\u0127\6\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\7\10\1\u0128\2\0\1\7" - + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\2\10\1\234" + "\17\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\1\u0124\7\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\3\10\1\u0125\4\10\2\0\1\7" + + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\u0126\7\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\6\10\1\235\1\10\2\0\1\7\3\0\22\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\1\116\21\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\13\10\1\u0127\6\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\7\10\1\u0128\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + + "\4\10\2\0\10\10\2\0\1\7\3\0\2\10\1\234" + "\17\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\3\10\1\u0127\4\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\6\10\1\u0129\1\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" - + "\2\0\1\7\3\0\12\10\1\116\7\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\254" + "\6\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\3\10\1\u012a\4\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\3\10\1\u012b\4\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\1\10\1\u012c\6\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" - + "\4\10\2\0\10\10\2\0\1\7\3\0\13\10\1\u012d" + "\6\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\7\10\1\245\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" + "\1\367\6\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\2\0\1\7\3\0\12\10\1\116\7\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\254" + + "\6\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\3\10\1\u012a\4\10" + + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\3\10\1\u012b\4\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\10\1\u012c\6\10\2\0\1\7" + + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\13\10\1\u012d" + + "\6\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\7\10\1\245\2\0\1\7\3\0\22\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" + "\1\367\6\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\1\10\1\367\20\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\1\u012e\6\10\1\u012f" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\11\10\1\171\10\10\1\7\6\10\1\0\1\7\1\10" @@ -348,26 +378,30 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { + "\4\10\2\0\1\10\1\u0131\6\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\5\10\1\u0132\2\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\1\u0133\7\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\u0134" - + "\6\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\1\10\1\u0135\20\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\5\10\1\u0136\2\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\6\10" + + "\6\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + + "\3\0\1\10\1\u0135\20\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\5\10\1\u0136\2\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\6\10" + "\1\u0115\13\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\10\10\1\166" - + "\11\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\5\10\1\u0137\2\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\1\u0138\7\10\2\0\1\7\3\0\22\10\45\0\1\u0139" + "\57\0\1\355\104\0\1\u013a\50\0\1\u013b\105\0\1\u013c" - + "\57\0\1\361\104\0\1\u013d\50\0\1\u013e\40\0\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\5\10" - + "\1\u013f\2\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" - + "\1\7\3\0\12\10\1\u0140\7\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" - + "\3\0\13\10\1\u0141\6\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\2\10\1\u0142\5\10\2\0" - + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\5\10\1\201\2\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + + "\11\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\5\10\1\u0137\2\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\1\u0138\7\10\2\0\1\7\3\0\22\10\45\0\1\u0139" + + "\57\0\1\355\104\0\1\u013a\50\0\1\u013b\105\0\1\u013c" + "\57\0\1\361\104\0\1\u013d\50\0\1\u013e\40\0\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\5\10" + "\1\u013f\2\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\12\10\1\u0140\7\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\13\10\1\u0141\6\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\2\10\1\u0142\5\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + + "\11\0\4\10\2\0\5\10\1\201\2\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\u0143\7\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\7\10\1\u0144\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\124" + "\6\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\2\10\1\u0145\17\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\6\10\1\116\1\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\4\10\1\235\3\10\2\0\1\7" + + "\7\10\1\u0144\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\124" + + "\6\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + + "\3\0\2\10\1\u0145\17\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\6\10\1\116\1\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\4\10\1\235\3\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\10\1\u0146\6\10\2\0\1\7\3\0" + "\10\10\1\u0147\11\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\10\1\u0148\6\10\2\0\1\7" - + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\1\10\1\201" + "\20\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\1\u0149\7\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\6\10" - + "\1\u014a\1\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\u014b" - + "\2\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\4\10\1\116\15\10\1\7\6\10\1\0\1\7" + + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\1\10\1\201" + + "\20\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\1\u0149\7\10\2\0\1\7\3\0\22\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\6\10" + "\1\u014a\1\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\u014b" + "\2\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\4\10\1\116\15\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\5\10\1\u014c\14\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\5\10" + "\1\u014d\14\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\10\1\u014e\6\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" @@ -376,12 +410,14 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { + "\2\0\1\7\3\0\2\10\1\u0151\3\10\1\u0152\13\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\10\10\1\u0153\11\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\2\10\1\u0154\17\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\u0155" - + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\5\10\1\u0156\2\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\3\10\1\124\4\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\u0157\7\10\2\0\1\7\3\0" - + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\6\10\1\u0158\1\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\6\10\1\u0157\1\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\5\10" - + "\1\u0159\2\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\u015a" - + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\3\10\1\u015b\4\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\5\10\1\u0156\2\10" + + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\3\10\1\124\4\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\u0157\7\10\2\0\1\7\3\0" + + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\6\10\1\u0158\1\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\6\10\1\u0157\1\10\2\0\1\7\3\0\22\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\5\10" + "\1\u0159\2\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\u015a" + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\3\10\1\u015b\4\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\1\10\1\u015c\6\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\3\10\1\u015d\4\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\2\10\1\u015e" + "\17\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" @@ -391,36 +427,42 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { + "\1\u0162\4\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\u0163" + "\6\10\2\0\1\7\3\0\7\10\1\u0161\12\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\10\10\1\235\11\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\u0164" - + "\6\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\2\10\1\u0165\17\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\15\10\1\254\4\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\3\10\1\370\4\10\2\0\1\7" + + "\6\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + + "\3\0\2\10\1\u0165\17\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + + "\15\10\1\254\4\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\3\10\1\370\4\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\6\10\1\u0152" - + "\13\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\5\10\1\u015f\2\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\3\10\1\u0166\4\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\7\10" - + "\1\u0167\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\4\10\1\344\3\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\3\10\1\u0168\4\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\2\10" - + "\1\u0169\17\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\5\10\1\u016a\2\10\2\0\1\7\3\0" - + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\1\u016b\7\10\2\0\1\7\3\0\22\10\1\7" - + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\11\10\1\201\10\10\1\7\6\10" - + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\u016c" + "\4\10\1\u016d\1\10\2\0\1\7\3\0\22\10\1\7" - + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\2\10" + "\1\u016e\5\10\2\0\1\7\3\0\22\10\1\7\6\10" - + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\u016f" + "\6\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\3\10\1\u0170\4\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + + "\13\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\5\10\1\u015f\2\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\3\10\1\u0166\4\10\2\0\1\7\3\0\22\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\7\10" + "\1\u0167\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\4\10\1\344\3\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\3\10\1\u0168\4\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\2\10" + "\1\u0169\17\10\1\7\6\10\1\0\1\7\1\10\11\0" + + "\4\10\2\0\5\10\1\u016a\2\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + + "\2\0\1\u016b\7\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + + "\2\0\1\7\3\0\11\10\1\201\10\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\u016c" + + "\4\10\1\u016d\1\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\2\10" + + "\1\u016e\5\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\10\1\u016f" + + "\6\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\3\10\1\u0170\4\10" + + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\2\10\1\u0171\17\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\5\10" + "\1\u0172\14\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\10\1\u0173\6\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\2\10\1\267\5\10\2\0\1\7\3\0\22\10" - + "\22\0\1\u0174\106\0\1\355\4\0\1\u0139\24\0\1\u013b" + "\1\u0175\4\u013b\1\0\1\u0175\1\u013b\2\0\1\u0175\2\0" - + "\3\u0175\5\u013b\2\u0175\10\u013b\3\u0175\1\0\2\u0175\22\u013b" + "\22\0\1\u0176\106\0\1\361\4\0\1\u013c\24\0\1\u013e" - + "\1\u0177\4\u013e\1\0\1\u0177\1\u013e\2\0\1\u0177\2\0" + "\3\u0177\5\u013e\2\u0177\10\u013e\3\u0177\1\0\2\u0177\22\u013e" - + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\13\10\1\u0178\6\10\1\7" - + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\10\10\1\u0179\11\10\1\7\6\10" - + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\u017a" + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\1\10\1\u017b\6\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\1\10\1\u017c\6\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\1\u017d\7\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\1\10\1\u017e\6\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\10\10\2\0\1\7\3\0\10\10\1\267\11\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" - + "\2\0\1\7\3\0\13\10\1\u017f\6\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\u0180\7\10" - + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\2\10\1\u0181\17\10\1\7\6\10\1\0\1\7\1\10" + + "\22\0\1\u0174\106\0\1\355\4\0\1\u0139\24\0\1\u013b" + + "\1\u0175\4\u013b\1\0\1\u0175\1\u013b\2\0\1\u0175\2\0" + + "\3\u0175\5\u013b\2\u0175\10\u013b\3\u0175\1\0\2\u0175\22\u013b" + + "\22\0\1\u0176\106\0\1\361\4\0\1\u013c\24\0\1\u013e" + + "\1\u0177\4\u013e\1\0\1\u0177\1\u013e\2\0\1\u0177\2\0" + + "\3\u0177\5\u013e\2\u0177\10\u013e\3\u0177\1\0\2\u0177\22\u013e" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\10\10\2\0\1\7\3\0\13\10\1\u0178\6\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + + "\2\0\1\7\3\0\10\10\1\u0179\11\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\u017a" + + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\1\10\1\u017b\6\10" + + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\1\10\1\u017c\6\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\u017d\7\10\2\0\1\7\3\0" + + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\1\10\1\u017e\6\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\10\10\1\267\11\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\13\10\1\u017f\6\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\1\u0180\7\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\2\10\1\u0181\17\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\6\10\1\u0108\1\10\2\0\1\7" + "\3\0\2\10\1\u0182\17\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\1\10\1\u0155\6\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\5\10\1\u0183\2\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" @@ -432,27 +474,30 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { + "\3\0\12\10\1\u0188\7\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\7\10\1\116\12\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\11\10" + "\1\116\10\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\13\10\1\254" - + "\6\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\6\10\1\171\1\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\10\10\2\0\1\7\3\0\2\10\1\u0151\17\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\3\10" - + "\1\367\4\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\1\u0189\7\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + + "\6\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\6\10\1\171\1\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\2\10\1\u0151\17\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\3\10" + "\1\367\4\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\1\u0189\7\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\11\10\1\u0183\10\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\1\10\1\u018a\6\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\5\10\1\u018b\2\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\10\10\2\0\1\7\3\0\13\10\1\u018c\6\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\7\10\1\u018d\2\0\1\7\3\0\11\10\1\254\10\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\7\10\1\u0189\12\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" - + "\2\0\1\7\3\0\12\10\1\u018e\7\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\336" + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\5\10\1\u018f\14\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\4\10\1\u0190\3\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\2\10" + + "\2\0\1\7\3\0\12\10\1\u018e\7\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\336" + + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + + "\3\0\5\10\1\u018f\14\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\4\10\1\u0190\3\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\2\10" + "\1\u0191\17\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\5\10\1\u0192\2\10\2\0\1\7\3\0" - + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\5\10\1\u0193\2\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\10\10\2\0\1\7\3\0\1\10\1\u0194\20\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" - + "\2\0\1\7\3\0\10\10\1\u0195\11\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" - + "\1\7\3\0\10\10\1\u0196\11\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" - + "\3\0\2\10\1\u0197\17\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" - + "\2\10\1\u0198\17\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\12\10" - + "\1\u0199\7\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\6\10\1\u019a\1\10\2\0\1\7\3\0" - + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\2\10\1\u019b\5\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\5\10\1\u0193\2\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\1\10\1\u0194\20\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\10\10\1\u0195\11\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\10\10\1\u0196\11\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\2\10\1\u0197\17\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\2\10\1\u0198\17\10\1\7\6\10\1\0\1\7\1\10" + + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\12\10" + "\1\u0199\7\10\1\7\6\10\1\0\1\7\1\10\11\0" + + "\4\10\2\0\6\10\1\u019a\1\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + + "\2\0\2\10\1\u019b\5\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\11\10\1\u014c\10\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\10\10\1\u019c\2\10\1\254\6\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\2\10\1\u019d\17\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" @@ -461,60 +506,66 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { + "\4\10\2\0\6\10\1\u0186\1\10\2\0\1\7\3\0" + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\10\10\2\0\1\7\3\0\10\10\1\u019a\11\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\11\10\1\u01a0\10\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" - + "\2\0\1\7\3\0\12\10\1\u01a1\7\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\330" + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\3\10\1\u019e\4\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\3\10\1\u01a2\4\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\12\10" + "\1\234\7\10\1\7\6\10\1\0\1\7\1\10\11\0" - + "\4\10\2\0\10\10\2\0\1\7\3\0\16\10\1\u01a3" + "\3\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\1\u0111\7\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\6\10" - + "\1\u017d\1\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" - + "\1\7\3\0\11\10\1\u019a\10\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" - + "\3\0\4\10\1\254\15\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\1\367\7\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + + "\2\0\1\7\3\0\12\10\1\u01a1\7\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\330" + + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\3\10\1\u019e\4\10" + + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\3\10\1\u01a2\4\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\12\10" + + "\1\234\7\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\16\10\1\u01a3" + + "\3\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\1\u0111\7\10\2\0\1\7\3\0\22\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\6\10" + "\1\u017d\1\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\11\10\1\u019a\10\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\4\10\1\254\15\10\1\7\6\10\1\0\1\7" + + "\1\10\11\0\4\10\2\0\1\367\7\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\12\10\1\u01a4" + "\7\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\3\10\1\254\4\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\1\u0108\7\10\2\0\1\7\3\0\22\10\1\7\6\10" - + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\5\10\1\116\14\10\1\7\6\10\1\0" - + "\1\7\1\10\11\0\4\10\2\0\2\10\1\u01a5\5\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + + "\2\0\3\10\1\254\4\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\1\u0108\7\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + + "\1\7\3\0\5\10\1\116\14\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\2\10\1\u01a5\5\10" + + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\1\u0111\21\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\10\1\u01a6\6\10\2\0\1\7\3\0" - + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\3\10\1\u01a7\4\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\5\10\1\u01a8\2\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\u0113" - + "\7\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\6\10\1\u01a9\1\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + + "\22\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\3\10\1\u01a7\4\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\5\10\1\u01a8\2\10\2\0\1\7\3\0\22\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\u0113" + "\7\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + + "\1\7\1\10\11\0\4\10\2\0\6\10\1\u01a9\1\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\10\10\1\367\11\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\5\10\1\u01aa\2\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\11\10\1\u01ab" + "\10\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\5\10\1\u01a4\2\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\10\10\1\u019e\11\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\10\10" + "\2\0\1\7\3\0\13\10\1\u0189\6\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\5\10\1\u0155" - + "\2\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\1\254\7\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" - + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\11\10" + "\1\u01ac\10\10\1\7\6\10\1\0\1\7\1\10\11\0" - + "\4\10\2\0\1\u01ad\7\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\10\10\2\0\1\7\3\0\11\10\1\254\10\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\7\10" + "\1\254\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + + "\2\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\1\254\7\10\2\0" + + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\11\10" + + "\1\u01ac\10\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\u01ad\7\10\2\0\1\7\3\0\22\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\10\10\2\0\1\7\3\0\11\10\1\254\10\10\1\7" + + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\7\10" + "\1\254\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\5\10\1\212\2\10" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\3\10\1\u01ae\4\10\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\13\10" + "\1\u01af\6\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\13\10\1\367" + "\6\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" - + "\2\0\5\10\1\u0105\2\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\6\10\1\367\1\10\2\0\1\7\3\0\22\10\1\7" - + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" + "\1\235\6\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + + "\2\0\5\10\1\u0105\2\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + + "\6\10\1\367\1\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\10" + + "\1\235\6\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\10\10\2\0" + "\1\7\3\0\5\10\1\254\14\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\10\10\1\u01b0\11\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\10\10\2\0\1\7\3\0" + "\11\10\1\235\10\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\10\10\2\0\1\7\3\0\2\10" + "\1\u0182\17\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\10\10\2\0\1\7\3\0\11\10\1\u017e" - + "\10\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\10\10\2\0\1\7\3\0\4\10\1\367\15\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" - + "\1\52\7\10\2\0\1\7\3\0\22\10\1\7\6\10" + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\u01b1" + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + + "\10\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10" + "\2\0\10\10\2\0\1\7\3\0\4\10\1\367\15\10" + + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\1\52\7\10\2\0\1\7\3\0\22\10\1\7\6\10" + + "\1\0\1\7\1\10\11\0\4\10\2\0\3\10\1\u01b1" + "\4\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\7\10\1\u01b2\2\0" + "\1\7\3\0\22\10\1\7\6\10\1\0\1\7\1\10" + "\11\0\4\10\2\0\2\10\1\u01b3\5\10\2\0\1\7" + "\3\0\22\10\1\7\6\10\1\0\1\7\1\10\11\0" + "\4\10\2\0\1\u01b4\7\10\2\0\1\7\3\0\22\10" + "\1\7\6\10\1\0\1\7\1\10\11\0\4\10\2\0" + "\1\10\1\u0163\6\10\2\0\1\7\3\0\22\10\1\7" + "\6\10\1\0\1\7\1\10\11\0\4\10\2\0\1\u01b5" - + "\7\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + "\3\0\11\10\1\u0189\10\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\5\10\1\u0105\1\10\1\254" + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" - + "\1\10\11\0\4\10\2\0\1\10\1\270\6\10\2\0" + "\1\7\3\0\22\10"; - + + "\7\10\2\0\1\7\3\0\22\10\1\7\6\10\1\0" + "\1\7\1\10\11\0\4\10\2\0\10\10\2\0\1\7" + + "\3\0\11\10\1\u0189\10\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\5\10\1\u0105\1\10\1\254" + + "\2\0\1\7\3\0\22\10\1\7\6\10\1\0\1\7" + "\1\10\11\0\4\10\2\0\1\10\1\270\6\10\2\0" + "\1\7\3\0\22\10"; + private static int[] zzUnpackTrans() { int[] result = new int[23313]; 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 */ @@ -529,7 +580,7 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -541,16 +592,17 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\4\1\1\11\1\1\1\11\4\1\2\11\30\1" + "\2\11\4\1\1\11\2\1\2\11\1\1\1\11\2\1" - + "\1\11\13\1\2\11\1\1\1\11\100\1\4\0\2\11" + "\4\0\1\1\1\0\2\1\1\11\123\1\10\0\104\1" + "\2\0\1\1\2\0\66\1\4\0\76\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\4\1\1\11\1\1\1\11\4\1\2\11\30\1" + + "\2\11\4\1\1\11\2\1\2\11\1\1\1\11\2\1" + "\1\11\13\1\2\11\1\1\1\11\100\1\4\0\2\11" + + "\4\0\1\1\1\0\2\1\1\11\123\1\10\0\104\1" + "\2\0\1\1\2\0\66\1\4\0\76\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[437]; 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 */ @@ -564,7 +616,7 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -572,8 +624,8 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -583,103 +635,92 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** - * Token type specific to DelphiTokenMaker; denotes a line ending - * with an unterminated "(*" comment. + * Token type specific to DelphiTokenMaker; denotes a line ending with an + * unterminated "(*" comment. */ public static final int INTERNAL_MLC2 = -1; /** - * Token type specific to DelphiTokenMaker; denotes a line ending - * with an unterminated "{$" compiler directive. + * Token type specific to DelphiTokenMaker; denotes a line ending with an + * unterminated "{$" compiler directive. */ public static final int INTERNAL_COMPILER_DIRECTIVE = -2; /** - * Token type specific to DelphiTokenMaker; denotes a line ending - * with an unterminated "(*$" compiler directive. + * Token type specific to DelphiTokenMaker; denotes a line ending with an + * unterminated "(*$" compiler directive. */ public static final int INTERNAL_COMPILER_DIRECTIVE2 = -3; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public DelphiTokenMaker() {} - + public DelphiTokenMaker() { + } + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addHyperlinkToken(int, int, int) */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -687,21 +728,18 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -710,24 +748,24 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.COMMENT_MULTILINE: - state = MLC; - start = text.offset; - break; - case INTERNAL_MLC2: - state = MLC2; - start = text.offset; - break; - case INTERNAL_COMPILER_DIRECTIVE: - state = COMPILER_DIRECTIVE; - start = text.offset; - break; - case INTERNAL_COMPILER_DIRECTIVE2: - state = COMPILER_DIRECTIVE2; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.COMMENT_MULTILINE: + state = MLC; + start = text.offset; + break; + case INTERNAL_MLC2: + state = MLC2; + start = text.offset; + break; + case INTERNAL_COMPILER_DIRECTIVE: + state = COMPILER_DIRECTIVE; + start = text.offset; + break; + case INTERNAL_COMPILER_DIRECTIVE2: + state = COMPILER_DIRECTIVE2; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -739,36 +777,34 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -778,34 +814,31 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public DelphiTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public DelphiTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -821,7 +854,7 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -831,69 +864,64 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -904,29 +932,27 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -945,8 +971,7 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -986,251 +1011,252 @@ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 15: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_COMPILER_DIRECTIVE); - return firstToken; - } - case 35: - break; - case 4: { - addToken(Token.PREPROCESSOR); - } - case 36: - break; - case 5: { - addNullToken(); - return firstToken; - } - case 37: - break; - case 27: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 38: - break; - case 6: { - addToken(Token.WHITESPACE); - } - case 39: - break; - case 21: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 40: - break; - case 20: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 41: - break; - case 26: { - addToken(Token.RESERVED_WORD); - } - case 42: - break; - case 16: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.PREPROCESSOR); - } - case 43: - break; - case 9: { - addToken(Token.SEPARATOR); - } - case 44: - break; - case 17: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_COMPILER_DIRECTIVE2); - return firstToken; - } - case 45: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 46: - break; - case 18: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 47: - break; - case 25: { - start = zzMarkedPos - 2; - yybegin(EOL_COMMENT); - } - case 48: - break; - case 30: { - addToken(Token.FUNCTION); - } - case 49: - break; - case 7: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 50: - break; - case 14: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_MLC2); - return firstToken; - } - case 51: - break; - case 32: { - addToken(Token.DATA_TYPE); - } - case 52: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 53: - break; - case 31: { - addToken(Token.LITERAL_BOOLEAN); - } - case 54: - break; - case 22: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 55: - break; - case 34: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 56: - break; - case 29: { - start = zzMarkedPos - 3; - yybegin(COMPILER_DIRECTIVE2); - } - case 57: - break; - case 24: { - start = zzMarkedPos - 2; - yybegin(MLC2); - } - case 58: - break; - case 33: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 59: - break; - case 19: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 60: - break; - case 28: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.PREPROCESSOR); - } - case 61: - break; - case 13: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.COMMENT_MULTILINE); - } - case 62: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 63: - break; - case 10: { - addToken(Token.OPERATOR); - } - case 64: - break; - case 8: { - start = zzMarkedPos - 1; - yybegin(MLC); - } - case 65: - break; - case 23: { - start = zzMarkedPos - 2; - yybegin(COMPILER_DIRECTIVE); - } - case 66: - break; - case 11: {} - case 67: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 68: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case COMPILER_DIRECTIVE: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_COMPILER_DIRECTIVE); - return firstToken; - } - case 438: - break; - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 439: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 440: - break; - case COMPILER_DIRECTIVE2: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_COMPILER_DIRECTIVE2); - return firstToken; - } - case 441: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 442: - break; - case MLC2: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_MLC2); - return firstToken; - } - case 443: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 15: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_COMPILER_DIRECTIVE); + return firstToken; + } + case 35: + break; + case 4: { + addToken(Token.PREPROCESSOR); + } + case 36: + break; + case 5: { + addNullToken(); + return firstToken; + } + case 37: + break; + case 27: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 38: + break; + case 6: { + addToken(Token.WHITESPACE); + } + case 39: + break; + case 21: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 40: + break; + case 20: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 41: + break; + case 26: { + addToken(Token.RESERVED_WORD); + } + case 42: + break; + case 16: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.PREPROCESSOR); + } + case 43: + break; + case 9: { + addToken(Token.SEPARATOR); + } + case 44: + break; + case 17: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_COMPILER_DIRECTIVE2); + return firstToken; + } + case 45: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 46: + break; + case 18: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 47: + break; + case 25: { + start = zzMarkedPos - 2; + yybegin(EOL_COMMENT); + } + case 48: + break; + case 30: { + addToken(Token.FUNCTION); + } + case 49: + break; + case 7: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 50: + break; + case 14: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_MLC2); + return firstToken; + } + case 51: + break; + case 32: { + addToken(Token.DATA_TYPE); + } + case 52: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 53: + break; + case 31: { + addToken(Token.LITERAL_BOOLEAN); + } + case 54: + break; + case 22: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 55: + break; + case 34: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 56: + break; + case 29: { + start = zzMarkedPos - 3; + yybegin(COMPILER_DIRECTIVE2); + } + case 57: + break; + case 24: { + start = zzMarkedPos - 2; + yybegin(MLC2); + } + case 58: + break; + case 33: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 59: + break; + case 19: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 60: + break; + case 28: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.PREPROCESSOR); + } + case 61: + break; + case 13: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.COMMENT_MULTILINE); + } + case 62: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 63: + break; + case 10: { + addToken(Token.OPERATOR); + } + case 64: + break; + case 8: { + start = zzMarkedPos - 1; + yybegin(MLC); + } + case 65: + break; + case 23: { + start = zzMarkedPos - 2; + yybegin(COMPILER_DIRECTIVE); + } + case 66: + break; + case 11: { + } + case 67: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 68: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case COMPILER_DIRECTIVE: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_COMPILER_DIRECTIVE); + return firstToken; } + case 438: + break; + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 439: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 440: + break; + case COMPILER_DIRECTIVE2: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_COMPILER_DIRECTIVE2); + return firstToken; + } + case 441: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 442: + break; + case MLC2: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_MLC2); + return firstToken; + } + case 443: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/DockerTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/DockerTokenMaker.java index a251e37..a97a8c6 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/DockerTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/DockerTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated DockerTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * */ public class DockerTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -81,16 +80,16 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\1\1\2\0\2\1\1\2\14\1\1\3\2\4\1\5" + "\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\11" - + "\1\15\1\16\1\17\16\1\1\14\1\17\1\1\1\20" + "\41\1"; - + private static final String ZZ_ACTION_PACKED_0 = "\1\1\2\0\2\1\1\2\14\1\1\3\2\4\1\5" + + "\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\11" + "\1\15\1\16\1\17\16\1\1\14\1\17\1\1\1\20" + "\41\1"; + private static int[] zzUnpackAction() { int[] result = new int[84]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -104,28 +103,29 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\41\0\102\0\143\0\204\0\245\0\306\0\347" + "\0\u0108\0\u0129\0\u014a\0\u016b\0\u018c\0\u01ad\0\u01ce\0\u01ef" - + "\0\u0210\0\u0231\0\143\0\143\0\u0252\0\143\0\143\0\u0273" + "\0\143\0\u0294\0\143\0\143\0\u02b5\0\u02d6\0\143\0\143" + + "\0\u0210\0\u0231\0\143\0\143\0\u0252\0\143\0\143\0\u0273" + + "\0\143\0\u0294\0\143\0\143\0\u02b5\0\u02d6\0\143\0\143" + "\0\u02f7\0\u0318\0\u0339\0\u035a\0\u037b\0\u039c\0\u03bd\0\u03de" + "\0\u03ff\0\u0420\0\u0441\0\u0462\0\u0483\0\u04a4\0\u04c5\0\143" + "\0\143\0\u04e6\0\204\0\u0507\0\u0528\0\u0549\0\u056a\0\u058b" + "\0\u05ac\0\u05cd\0\u05ee\0\u060f\0\u0630\0\u0651\0\u0672\0\u0693" + "\0\u06b4\0\u06d5\0\u06f6\0\u0717\0\u0738\0\u0759\0\u077a\0\u079b" + "\0\u07bc\0\u07dd\0\u07fe\0\u081f\0\u0840\0\u0861\0\u0882\0\u08a3" + "\0\u08c4\0\u08e5\0\u0906\0\u0927"; - + private static int[] zzUnpackRowMap() { int[] result = new int[84]; 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 */ @@ -136,38 +136,46 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\4\1\5\1\6\1\7\1\10\3\5\1\11\1\12" + "\1\13\1\14\1\5\1\15\1\16\3\5\1\17\1\20" - + "\1\21\1\5\1\22\2\5\1\23\1\24\1\25\1\26" + "\1\27\1\30\1\31\1\4\34\32\1\33\2\32\1\34" - + "\1\35\35\36\1\37\1\36\1\40\1\41\42\0\1\5" + "\1\0\26\5\12\0\1\6\37\0\1\5\1\0\1\5" + "\1\42\24\5\11\0\1\5\1\0\6\5\1\43\5\5" - + "\1\44\11\5\11\0\1\5\1\0\3\5\1\45\11\5" + "\1\46\10\5\11\0\1\5\1\0\12\5\1\47\13\5" + "\11\0\1\5\1\0\6\5\1\50\17\5\11\0\1\5" - + "\1\0\3\5\1\51\22\5\11\0\1\5\1\0\17\5" + "\1\52\6\5\11\0\1\5\1\0\1\5\1\53\24\5" + "\11\0\1\5\1\0\4\5\1\54\21\5\11\0\1\5" - + "\1\0\10\5\1\55\15\5\11\0\1\5\1\0\1\44" + "\7\5\1\56\15\5\11\0\1\5\1\0\10\5\1\57" + "\15\5\43\0\1\24\5\0\37\30\1\0\1\30\34\32" - + "\1\0\2\32\2\0\37\60\1\0\1\60\35\36\1\0" + "\1\36\2\0\37\61\1\0\1\61\1\0\1\5\1\0" + "\2\5\1\62\23\5\11\0\1\5\1\0\25\5\1\63" - + "\11\0\1\5\1\0\14\5\1\63\11\5\11\0\1\5" + "\1\0\4\5\1\64\13\5\1\63\5\5\11\0\1\5" + "\1\0\16\5\1\65\7\5\11\0\1\5\1\0\3\5" - + "\1\63\22\5\11\0\1\5\1\0\10\5\1\66\15\5" + "\11\0\1\5\1\0\11\5\1\67\14\5\11\0\1\5" + "\1\0\5\5\1\70\20\5\11\0\1\5\1\0\11\5" - + "\1\71\14\5\11\0\1\5\1\0\10\5\1\72\15\5" + "\11\0\1\5\1\0\13\5\1\73\12\5\11\0\1\5" + "\1\0\16\5\1\74\7\5\11\0\1\5\1\0\6\5" - + "\1\75\17\5\11\0\1\5\1\0\3\5\1\76\22\5" + "\11\0\1\5\1\0\6\5\1\77\17\5\11\0\1\5" + "\1\0\10\5\1\100\15\5\11\0\1\5\1\0\1\63" - + "\25\5\11\0\1\5\1\0\12\5\1\101\13\5\11\0" + "\1\5\1\0\6\5\1\63\17\5\11\0\1\5\1\0" + "\5\5\1\102\20\5\11\0\1\5\1\0\16\5\1\103" - + "\7\5\11\0\1\5\1\0\12\5\1\104\13\5\11\0" + "\1\5\1\0\22\5\1\63\3\5\11\0\1\5\1\0" + "\24\5\1\105\1\5\11\0\1\5\1\0\4\5\1\106" - + "\21\5\11\0\1\5\1\0\22\5\1\107\3\5\11\0" + "\1\5\1\0\17\5\1\110\6\5\11\0\1\5\1\0" + "\2\5\1\111\23\5\11\0\1\5\1\0\13\5\1\63" - + "\12\5\11\0\1\5\1\0\17\5\1\112\6\5\11\0" + "\1\5\1\0\1\110\25\5\11\0\1\5\1\0\14\5" + "\1\113\11\5\11\0\1\5\1\0\1\5\1\114\24\5" - + "\11\0\1\5\1\0\16\5\1\115\7\5\11\0\1\5" + "\1\0\5\5\1\63\20\5\11\0\1\5\1\0\13\5" + "\1\44\12\5\11\0\1\5\1\0\2\5\1\116\23\5" - + "\11\0\1\5\1\0\2\5\1\70\23\5\11\0\1\5" + "\1\0\2\5\1\117\23\5\11\0\1\5\1\0\10\5" + "\1\120\15\5\11\0\1\5\1\0\25\5\1\121\11\0" - + "\1\5\1\0\3\5\1\52\22\5\11\0\1\5\1\0" + "\2\5\1\122\23\5\11\0\1\5\1\0\3\5\1\123" + "\22\5\11\0\1\5\1\0\3\5\1\124\22\5\11\0" - + "\1\5\1\0\1\5\1\102\24\5\11\0\1\5\1\0" + "\4\5\1\63\21\5\10\0"; - + private static final String ZZ_TRANS_PACKED_0 = "\1\4\1\5\1\6\1\7\1\10\3\5\1\11\1\12" + + "\1\13\1\14\1\5\1\15\1\16\3\5\1\17\1\20" + "\1\21\1\5\1\22\2\5\1\23\1\24\1\25\1\26" + + "\1\27\1\30\1\31\1\4\34\32\1\33\2\32\1\34" + "\1\35\35\36\1\37\1\36\1\40\1\41\42\0\1\5" + + "\1\0\26\5\12\0\1\6\37\0\1\5\1\0\1\5" + "\1\42\24\5\11\0\1\5\1\0\6\5\1\43\5\5" + + "\1\44\11\5\11\0\1\5\1\0\3\5\1\45\11\5" + "\1\46\10\5\11\0\1\5\1\0\12\5\1\47\13\5" + + "\11\0\1\5\1\0\6\5\1\50\17\5\11\0\1\5" + "\1\0\3\5\1\51\22\5\11\0\1\5\1\0\17\5" + + "\1\52\6\5\11\0\1\5\1\0\1\5\1\53\24\5" + "\11\0\1\5\1\0\4\5\1\54\21\5\11\0\1\5" + + "\1\0\10\5\1\55\15\5\11\0\1\5\1\0\1\44" + "\7\5\1\56\15\5\11\0\1\5\1\0\10\5\1\57" + + "\15\5\43\0\1\24\5\0\37\30\1\0\1\30\34\32" + "\1\0\2\32\2\0\37\60\1\0\1\60\35\36\1\0" + + "\1\36\2\0\37\61\1\0\1\61\1\0\1\5\1\0" + "\2\5\1\62\23\5\11\0\1\5\1\0\25\5\1\63" + + "\11\0\1\5\1\0\14\5\1\63\11\5\11\0\1\5" + "\1\0\4\5\1\64\13\5\1\63\5\5\11\0\1\5" + + "\1\0\16\5\1\65\7\5\11\0\1\5\1\0\3\5" + "\1\63\22\5\11\0\1\5\1\0\10\5\1\66\15\5" + + "\11\0\1\5\1\0\11\5\1\67\14\5\11\0\1\5" + "\1\0\5\5\1\70\20\5\11\0\1\5\1\0\11\5" + + "\1\71\14\5\11\0\1\5\1\0\10\5\1\72\15\5" + "\11\0\1\5\1\0\13\5\1\73\12\5\11\0\1\5" + + "\1\0\16\5\1\74\7\5\11\0\1\5\1\0\6\5" + "\1\75\17\5\11\0\1\5\1\0\3\5\1\76\22\5" + + "\11\0\1\5\1\0\6\5\1\77\17\5\11\0\1\5" + "\1\0\10\5\1\100\15\5\11\0\1\5\1\0\1\63" + + "\25\5\11\0\1\5\1\0\12\5\1\101\13\5\11\0" + "\1\5\1\0\6\5\1\63\17\5\11\0\1\5\1\0" + + "\5\5\1\102\20\5\11\0\1\5\1\0\16\5\1\103" + "\7\5\11\0\1\5\1\0\12\5\1\104\13\5\11\0" + + "\1\5\1\0\22\5\1\63\3\5\11\0\1\5\1\0" + "\24\5\1\105\1\5\11\0\1\5\1\0\4\5\1\106" + + "\21\5\11\0\1\5\1\0\22\5\1\107\3\5\11\0" + "\1\5\1\0\17\5\1\110\6\5\11\0\1\5\1\0" + + "\2\5\1\111\23\5\11\0\1\5\1\0\13\5\1\63" + "\12\5\11\0\1\5\1\0\17\5\1\112\6\5\11\0" + + "\1\5\1\0\1\110\25\5\11\0\1\5\1\0\14\5" + "\1\113\11\5\11\0\1\5\1\0\1\5\1\114\24\5" + + "\11\0\1\5\1\0\16\5\1\115\7\5\11\0\1\5" + "\1\0\5\5\1\63\20\5\11\0\1\5\1\0\13\5" + + "\1\44\12\5\11\0\1\5\1\0\2\5\1\116\23\5" + "\11\0\1\5\1\0\2\5\1\70\23\5\11\0\1\5" + + "\1\0\2\5\1\117\23\5\11\0\1\5\1\0\10\5" + "\1\120\15\5\11\0\1\5\1\0\25\5\1\121\11\0" + + "\1\5\1\0\3\5\1\52\22\5\11\0\1\5\1\0" + "\2\5\1\122\23\5\11\0\1\5\1\0\3\5\1\123" + + "\22\5\11\0\1\5\1\0\3\5\1\124\22\5\11\0" + "\1\5\1\0\1\5\1\102\24\5\11\0\1\5\1\0" + "\4\5\1\63\21\5\10\0"; + private static int[] zzUnpackTrans() { int[] result = new int[2376]; 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 */ @@ -182,7 +190,7 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -194,15 +202,16 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\1\2\0\1\11\16\1\2\11\1\1\2\11\1\1" + "\1\11\1\1\2\11\2\1\2\11\17\1\2\11\43\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\1\2\0\1\11\16\1\2\11\1\1\2\11\1\1" + + "\1\11\1\1\2\11\2\1\2\11\17\1\2\11\43\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[84]; 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 */ @@ -216,7 +225,7 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -224,8 +233,8 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -235,62 +244,54 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public DockerTokenMaker() {} - + public DockerTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -298,35 +299,30 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** - * Returns whether tokens of the specified type should have "mark - * occurrences" enabled for the current programming language. + * Returns whether tokens of the specified type should have "mark occurrences" + * enabled for the current programming language. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.IDENTIFIER || type == Token.RESERVED_WORD; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -344,36 +340,34 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -383,34 +377,31 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public DockerTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public DockerTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -426,7 +417,7 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -436,69 +427,64 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -509,29 +495,27 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -550,8 +534,7 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -591,122 +574,122 @@ public class DockerTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 16: { - addToken(Token.RESERVED_WORD); - } - case 17: - break; - case 1: { - addToken(Token.IDENTIFIER); - } - case 18: - break; - case 7: { - addToken(Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 19: - break; - case 2: { - addToken(Token.WHITESPACE); - } - case 20: - break; - case 11: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 21: - break; - case 14: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 22: - break; - case 12: { /* Skip escaped chars. */ - } - case 23: - break; - case 4: { - addToken(Token.OPERATOR); - } - case 24: - break; - case 15: { /* - * Skip escaped single quotes only, but this should - * still work. - */ - } - case 25: - break; - case 5: { - start = zzMarkedPos - 1; - yybegin(STRING); - } - case 26: - break; - case 13: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_CHAR); - } - case 27: - break; - case 10: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 28: - break; - case 8: { - addNullToken(); - return firstToken; - } - case 29: - break; - case 9: {} - case 30: - break; - case 3: { - addToken(Token.SEPARATOR); - } - case 31: - break; - case 6: { - start = zzMarkedPos - 1; - yybegin(CHAR_LITERAL); - } - case 32: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 85: - break; - case CHAR_LITERAL: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 86: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 87: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 16: { + addToken(Token.RESERVED_WORD); + } + case 17: + break; + case 1: { + addToken(Token.IDENTIFIER); + } + case 18: + break; + case 7: { + addToken(Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 19: + break; + case 2: { + addToken(Token.WHITESPACE); + } + case 20: + break; + case 11: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 21: + break; + case 14: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 22: + break; + case 12: { /* Skip escaped chars. */ + } + case 23: + break; + case 4: { + addToken(Token.OPERATOR); + } + case 24: + break; + case 15: { /* + * Skip escaped single quotes only, but this should still work. + */ + } + case 25: + break; + case 5: { + start = zzMarkedPos - 1; + yybegin(STRING); + } + case 26: + break; + case 13: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_CHAR); + } + case 27: + break; + case 10: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 28: + break; + case 8: { + addNullToken(); + return firstToken; + } + case 29: + break; + case 9: { + } + case 30: + break; + case 3: { + addToken(Token.SEPARATOR); + } + case 31: + break; + case 6: { + start = zzMarkedPos - 1; + yybegin(CHAR_LITERAL); + } + case 32: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; } + case 85: + break; + case CHAR_LITERAL: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 86: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 87: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/DtdTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/DtdTokenMaker.java index f7eddf7..032b599 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/DtdTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/DtdTokenMaker.java @@ -20,16 +20,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -39,23 +38,23 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated XMLTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell * @version 1.0 */ public class DtdTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -79,16 +78,17 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\5\0\1\1\1\2\1\3\1\4\1\5\4\4\1\3" + "\1\6\2\3\2\7\2\10\2\7\1\11\5\0\2\3" - + "\1\10\3\7\5\0\1\12\2\3\3\7\1\13\2\0" + "\1\14\2\3\3\7\2\0\2\3\1\15\2\7\2\3" + "\2\7\1\16\1\17\1\7"; - + private static final String ZZ_ACTION_PACKED_0 = "\5\0\1\1\1\2\1\3\1\4\1\5\4\4\1\3" + + "\1\6\2\3\2\7\2\10\2\7\1\11\5\0\2\3" + "\1\10\3\7\5\0\1\12\2\3\3\7\1\13\2\0" + + "\1\14\2\3\3\7\2\0\2\3\1\15\2\7\2\3" + "\2\7\1\16\1\17\1\7"; + private static int[] zzUnpackAction() { int[] result = new int[70]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -102,7 +102,7 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -114,15 +114,16 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { + "\0\u0156\0\u049a\0\u04c0\0\u04e6\0\u050c\0\u0532\0\u0558\0\u057e" + "\0\u05a4\0\u0156\0\u05ca\0\u05f0\0\u0616\0\u063c\0\u0662\0\u0156" + "\0\u0688\0\u06ae\0\u06d4\0\u06fa\0\u0720\0\u0746\0\u076c\0\u0792" - + "\0\u07b8\0\u06d4\0\u07de\0\u0804\0\u02ac\0\u082a\0\u0850\0\u0876" + "\0\u089c\0\u08c2\0\u08e8\0\u0214\0\u0214\0\u090e"; - + + "\0\u07b8\0\u06d4\0\u07de\0\u0804\0\u02ac\0\u082a\0\u0850\0\u0876" + + "\0\u089c\0\u08c2\0\u08e8\0\u0214\0\u0214\0\u090e"; + private static int[] zzUnpackRowMap() { int[] result = new int[70]; 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 */ @@ -133,41 +134,42 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\6\1\7\21\6\1\10\22\6\2\11\1\12\5\11" + "\1\13\3\11\1\14\4\11\1\15\3\11\1\16\20\11" - + "\1\17\1\7\24\17\1\20\1\21\4\17\1\22\11\17" + "\1\23\1\7\24\23\1\20\17\23\1\24\1\7\1\24" - + "\1\25\1\26\21\24\1\20\10\24\1\27\1\24\1\30" + "\4\24\1\6\1\0\21\6\1\0\22\6\1\0\1\7" - + "\70\0\1\31\21\0\2\11\1\0\5\11\1\0\3\11" + "\1\0\4\11\1\0\3\11\1\0\20\11\57\0\1\32" - + "\45\0\1\33\3\0\1\34\51\0\1\35\51\0\1\36" + "\20\0\1\17\1\0\24\17\1\0\20\17\1\0\24\17" - + "\1\0\1\17\1\37\16\17\1\0\24\17\1\0\4\17" + "\1\40\12\17\1\23\1\0\24\23\1\0\17\23\1\24" - + "\1\0\1\24\2\0\21\24\1\0\17\24\3\25\1\41" + "\42\25\4\26\1\41\41\26\1\24\1\0\1\24\2\0" - + "\21\24\1\0\11\24\1\42\6\24\1\0\1\24\2\0" + "\21\24\1\0\6\24\1\43\5\24\1\44\2\24\25\0" - + "\1\45\31\0\1\46\46\0\1\47\51\0\1\50\50\0" + "\1\51\52\0\1\52\17\0\1\17\1\0\24\17\1\0" - + "\1\53\17\17\1\0\24\17\1\0\4\17\1\54\12\17" + "\1\24\1\0\1\24\2\0\21\24\1\0\5\24\1\55" - + "\12\24\1\0\1\24\2\0\21\24\1\0\2\24\1\56" + "\15\24\1\0\1\24\2\0\21\24\1\0\1\57\16\24" - + "\25\0\1\60\32\0\1\61\53\0\1\62\44\0\1\47" + "\50\0\1\63\23\0\1\17\1\0\24\17\1\0\2\17" - + "\1\64\15\17\1\0\24\17\1\0\1\17\1\65\15\17" + "\1\24\1\0\1\24\2\0\21\24\1\0\4\24\1\66" - + "\13\24\1\0\1\24\2\0\21\24\1\0\13\24\1\67" + "\4\24\1\0\1\24\2\0\21\24\1\0\15\24\1\70" - + "\1\24\13\0\1\47\4\0\1\62\33\0\1\71\43\0" + "\2\72\12\63\1\72\1\63\1\72\1\0\2\72\1\0" - + "\12\63\1\72\4\63\1\17\1\0\24\17\1\0\1\73" + "\17\17\1\0\24\17\1\0\6\17\1\74\10\17\1\24" - + "\1\0\1\24\2\0\21\24\1\0\5\24\1\75\12\24" + "\1\0\1\24\2\0\21\24\1\0\1\24\1\76\16\24" - + "\1\0\1\24\2\0\21\24\1\0\16\24\1\77\6\0" + "\1\63\37\0\1\17\1\0\24\17\1\0\3\17\1\100" - + "\14\17\1\0\24\17\1\0\7\17\1\101\7\17\1\24" + "\1\0\1\24\2\0\21\24\1\0\6\24\1\102\11\24" - + "\1\0\1\24\2\0\21\24\1\0\6\24\1\103\10\24" + "\1\17\1\0\24\17\1\0\4\17\1\104\13\17\1\0" - + "\24\17\1\0\4\17\1\105\12\17\1\24\1\0\1\24" + "\2\0\21\24\1\0\1\106\17\24\1\0\1\24\2\0" - + "\21\24\1\0\14\24\1\102\3\24\1\0\1\24\2\0" + "\21\24\1\0\11\24\1\75\5\24"; - + private static final String ZZ_TRANS_PACKED_0 = "\1\6\1\7\21\6\1\10\22\6\2\11\1\12\5\11" + + "\1\13\3\11\1\14\4\11\1\15\3\11\1\16\20\11" + "\1\17\1\7\24\17\1\20\1\21\4\17\1\22\11\17" + + "\1\23\1\7\24\23\1\20\17\23\1\24\1\7\1\24" + "\1\25\1\26\21\24\1\20\10\24\1\27\1\24\1\30" + + "\4\24\1\6\1\0\21\6\1\0\22\6\1\0\1\7" + "\70\0\1\31\21\0\2\11\1\0\5\11\1\0\3\11" + + "\1\0\4\11\1\0\3\11\1\0\20\11\57\0\1\32" + "\45\0\1\33\3\0\1\34\51\0\1\35\51\0\1\36" + + "\20\0\1\17\1\0\24\17\1\0\20\17\1\0\24\17" + "\1\0\1\17\1\37\16\17\1\0\24\17\1\0\4\17" + + "\1\40\12\17\1\23\1\0\24\23\1\0\17\23\1\24" + "\1\0\1\24\2\0\21\24\1\0\17\24\3\25\1\41" + + "\42\25\4\26\1\41\41\26\1\24\1\0\1\24\2\0" + "\21\24\1\0\11\24\1\42\6\24\1\0\1\24\2\0" + + "\21\24\1\0\6\24\1\43\5\24\1\44\2\24\25\0" + "\1\45\31\0\1\46\46\0\1\47\51\0\1\50\50\0" + + "\1\51\52\0\1\52\17\0\1\17\1\0\24\17\1\0" + "\1\53\17\17\1\0\24\17\1\0\4\17\1\54\12\17" + + "\1\24\1\0\1\24\2\0\21\24\1\0\5\24\1\55" + "\12\24\1\0\1\24\2\0\21\24\1\0\2\24\1\56" + + "\15\24\1\0\1\24\2\0\21\24\1\0\1\57\16\24" + "\25\0\1\60\32\0\1\61\53\0\1\62\44\0\1\47" + + "\50\0\1\63\23\0\1\17\1\0\24\17\1\0\2\17" + "\1\64\15\17\1\0\24\17\1\0\1\17\1\65\15\17" + + "\1\24\1\0\1\24\2\0\21\24\1\0\4\24\1\66" + "\13\24\1\0\1\24\2\0\21\24\1\0\13\24\1\67" + + "\4\24\1\0\1\24\2\0\21\24\1\0\15\24\1\70" + "\1\24\13\0\1\47\4\0\1\62\33\0\1\71\43\0" + + "\2\72\12\63\1\72\1\63\1\72\1\0\2\72\1\0" + "\12\63\1\72\4\63\1\17\1\0\24\17\1\0\1\73" + + "\17\17\1\0\24\17\1\0\6\17\1\74\10\17\1\24" + "\1\0\1\24\2\0\21\24\1\0\5\24\1\75\12\24" + + "\1\0\1\24\2\0\21\24\1\0\1\24\1\76\16\24" + "\1\0\1\24\2\0\21\24\1\0\16\24\1\77\6\0" + + "\1\63\37\0\1\17\1\0\24\17\1\0\3\17\1\100" + "\14\17\1\0\24\17\1\0\7\17\1\101\7\17\1\24" + + "\1\0\1\24\2\0\21\24\1\0\6\24\1\102\11\24" + "\1\0\1\24\2\0\21\24\1\0\6\24\1\103\10\24" + + "\1\17\1\0\24\17\1\0\4\17\1\104\13\17\1\0" + "\24\17\1\0\4\17\1\105\12\17\1\24\1\0\1\24" + + "\2\0\21\24\1\0\1\106\17\24\1\0\1\24\2\0" + "\21\24\1\0\14\24\1\102\3\24\1\0\1\24\2\0" + + "\21\24\1\0\11\24\1\75\5\24"; + private static int[] zzUnpackTrans() { int[] result = new int[2356]; 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 */ @@ -182,7 +184,7 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -194,16 +196,16 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\4\1\1\11\5\1\1\11\11\1\5\0\2\1" + "\1\11\3\1\5\0\1\11\5\1\1\11\2\0\6\1" - + "\2\0\14\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\4\1\1\11\5\1\1\11\11\1\5\0\2\1" + + "\1\11\3\1\5\0\1\11\5\1\1\11\2\0\6\1" + "\2\0\14\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[70]; 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 */ @@ -217,7 +219,7 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -225,8 +227,8 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -236,139 +238,124 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** - * Token type specific to XMLTokenMaker denoting a line ending with an - * unclosed XML tag; thus a new line is beginning still inside of the tag. + * Token type specific to XMLTokenMaker denoting a line ending with an unclosed + * XML tag; thus a new line is beginning still inside of the tag. */ public static final int INTERNAL_INTAG_START = -1; /** - * Token type specific to XMLTokenMaker denoting a line ending with an - * unclosed DOCTYPE element. + * Token type specific to XMLTokenMaker denoting a line ending with an unclosed + * DOCTYPE element. */ public static final int INTERNAL_INTAG_ELEMENT = -2; /** - * Token type specific to XMLTokenMaker denoting a line ending with an - * unclosed, locally-defined DTD in a DOCTYPE element. + * Token type specific to XMLTokenMaker denoting a line ending with an unclosed, + * locally-defined DTD in a DOCTYPE element. */ public static final int INTERNAL_INTAG_ATTLIST = -3; /** - * Token type specific to XMLTokenMaker denoting a line ending with an - * unclosed comment. The state to return to when this comment ends is - * embedded in the token type as well. + * Token type specific to XMLTokenMaker denoting a line ending with an unclosed + * comment. The state to return to when this comment ends is embedded in the + * token type as well. */ public static final int INTERNAL_IN_COMMENT = -(1 << 11); /** - * The state we were in prior to the current one. This is used to know - * what state to resume after an MLC ends. + * The state we were in prior to the current one. This is used to know what + * state to resume after an MLC ends. */ private int prevState; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public DtdTokenMaker() {} - + public DtdTokenMaker() { + } + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** - * Always returns false, as you never want "mark occurrences" - * working in XML files. + * Always returns false, as you never want "mark occurrences" working + * in XML files. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return false; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -378,29 +365,29 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case INTERNAL_INTAG_START: - state = INTAG_START; - break; - case INTERNAL_INTAG_ELEMENT: - state = INTAG_ELEMENT; - break; - case INTERNAL_INTAG_ATTLIST: - state = INTAG_ATTLIST; - break; - default: - if (initialTokenType < -1024) { // INTERNAL_IN_COMMENT - - // prevState - int main = -(-initialTokenType & 0xffffff00); - switch (main) { - default: // Should never happen - case INTERNAL_IN_COMMENT: - state = COMMENT; - break; - } - prevState = -initialTokenType & 0xff; - } else { // Shouldn't happen - state = YYINITIAL; + case INTERNAL_INTAG_START: + state = INTAG_START; + break; + case INTERNAL_INTAG_ELEMENT: + state = INTAG_ELEMENT; + break; + case INTERNAL_INTAG_ATTLIST: + state = INTAG_ATTLIST; + break; + default: + if (initialTokenType < -1024) { // INTERNAL_IN_COMMENT - + // prevState + int main = -(-initialTokenType & 0xffffff00); + switch (main) { + default: // Should never happen + case INTERNAL_IN_COMMENT: + state = COMMENT; + break; } + prevState = -initialTokenType & 0xff; + } else { // Shouldn't happen + state = YYINITIAL; + } } start = text.offset; s = text; @@ -413,36 +400,34 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -452,34 +437,31 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public DtdTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public DtdTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -495,7 +477,7 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -505,69 +487,64 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -578,29 +555,27 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -619,8 +594,7 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -660,134 +634,135 @@ public class DtdTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 3: { - addToken(Token.IDENTIFIER); - } - case 16: - break; - case 2: { - addToken(Token.WHITESPACE); - } - case 17: - break; - case 1: { - /* Not really valid */ addToken(Token.IDENTIFIER); - } - case 18: - break; - case 12: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); - start = zzMarkedPos; - } - case 19: - break; - case 9: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(INTAG_START); - } - case 20: - break; - case 6: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(YYINITIAL); - } - case 21: - break; - case 10: { - int temp = zzMarkedPos; - addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); - start = temp; - yybegin(prevState); - } - case 22: - break; - case 11: { - start = zzStartRead; - prevState = zzLexicalState; - yybegin(COMMENT); - } - case 23: - break; - case 7: { - addToken(Token.MARKUP_TAG_ATTRIBUTE); - } - case 24: - break; - case 15: { - addToken(Token.MARKUP_TAG_NAME); - yybegin(INTAG_ATTLIST); - } - case 25: - break; - case 14: { - addToken(Token.MARKUP_TAG_NAME); - yybegin(INTAG_ELEMENT); - } - case 26: - break; - case 13: { - addToken(Token.MARKUP_PROCESSING_INSTRUCTION); - } - case 27: - break; - case 4: {} - case 28: - break; - case 5: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addEndToken(INTERNAL_IN_COMMENT - prevState); - return firstToken; - } - case 29: - break; - case 8: { - addToken(Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 30: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case INTAG_START: { - addEndToken(INTERNAL_INTAG_START); - return firstToken; - } - case 71: - break; - case INTAG_ELEMENT: { - addEndToken(INTERNAL_INTAG_ELEMENT); - return firstToken; - } - case 72: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 73: - break; - case INTAG_ATTLIST: { - addEndToken(INTERNAL_INTAG_ATTLIST); - return firstToken; - } - case 74: - break; - case COMMENT: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addEndToken(INTERNAL_IN_COMMENT - prevState); - return firstToken; - } - case 75: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 3: { + addToken(Token.IDENTIFIER); + } + case 16: + break; + case 2: { + addToken(Token.WHITESPACE); + } + case 17: + break; + case 1: { + /* Not really valid */ addToken(Token.IDENTIFIER); + } + case 18: + break; + case 12: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); + start = zzMarkedPos; + } + case 19: + break; + case 9: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(INTAG_START); + } + case 20: + break; + case 6: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(YYINITIAL); + } + case 21: + break; + case 10: { + int temp = zzMarkedPos; + addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); + start = temp; + yybegin(prevState); + } + case 22: + break; + case 11: { + start = zzStartRead; + prevState = zzLexicalState; + yybegin(COMMENT); + } + case 23: + break; + case 7: { + addToken(Token.MARKUP_TAG_ATTRIBUTE); + } + case 24: + break; + case 15: { + addToken(Token.MARKUP_TAG_NAME); + yybegin(INTAG_ATTLIST); + } + case 25: + break; + case 14: { + addToken(Token.MARKUP_TAG_NAME); + yybegin(INTAG_ELEMENT); + } + case 26: + break; + case 13: { + addToken(Token.MARKUP_PROCESSING_INSTRUCTION); + } + case 27: + break; + case 4: { + } + case 28: + break; + case 5: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addEndToken(INTERNAL_IN_COMMENT - prevState); + return firstToken; + } + case 29: + break; + case 8: { + addToken(Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 30: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case INTAG_START: { + addEndToken(INTERNAL_INTAG_START); + return firstToken; } + case 71: + break; + case INTAG_ELEMENT: { + addEndToken(INTERNAL_INTAG_ELEMENT); + return firstToken; + } + case 72: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 73: + break; + case INTAG_ATTLIST: { + addEndToken(INTERNAL_INTAG_ATTLIST); + return firstToken; + } + case 74: + break; + case COMMENT: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addEndToken(INTERNAL_IN_COMMENT - prevState); + return firstToken; + } + case 75: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/FortranTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/FortranTokenMaker.java index 1dc85e7..bdc6bac 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/FortranTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/FortranTokenMaker.java @@ -21,16 +21,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -40,16 +39,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated FortranTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -57,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class FortranTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -80,17 +79,18 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\1\0\2\1\1\2\1\3\1\4\1\5\1\6\1\7" + "\1\2\1\5\1\10\1\11\1\12\1\2\1\12\24\2" - + "\1\1\1\13\1\14\1\1\1\15\1\16\7\2\1\17" + "\20\2\7\0\41\2\1\17\27\2\1\17\10\2\1\17" + "\3\2\4\0\2\17\3\2\2\17\20\2\1\17\10\2" + private static final String ZZ_ACTION_PACKED_0 = "\1\0\2\1\1\2\1\3\1\4\1\5\1\6\1\7" + + "\1\2\1\5\1\10\1\11\1\12\1\2\1\12\24\2" + "\1\1\1\13\1\14\1\1\1\15\1\16\7\2\1\17" + + "\20\2\7\0\41\2\1\17\27\2\1\17\10\2\1\17" + "\3\2\4\0\2\17\3\2\2\17\20\2\1\17\10\2" + "\2\17\3\2\1\17\2\2\1\17\6\2\1\17\2\0" + "\3\2\1\17\4\2\1\17\26\2\1\0\20\2\1\20" + "\12\2\1\17"; - + private static int[] zzUnpackAction() { int[] result = new int[257]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -104,13 +104,14 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\52\0\124\0\176\0\176\0\250\0\176\0\322" - + "\0\176\0\374\0\u0126\0\176\0\176\0\u0150\0\u0150\0\176" + "\0\u017a\0\u01a4\0\u01ce\0\u01f8\0\u0222\0\u024c\0\u0276\0\u02a0" + + "\0\176\0\374\0\u0126\0\176\0\176\0\u0150\0\u0150\0\176" + + "\0\u017a\0\u01a4\0\u01ce\0\u01f8\0\u0222\0\u024c\0\u0276\0\u02a0" + "\0\u02ca\0\u02f4\0\u031e\0\u0348\0\u0372\0\u0126\0\u039c\0\u03c6" + "\0\u03f0\0\u041a\0\u0444\0\u046e\0\u0498\0\176\0\176\0\u04c2" + "\0\176\0\176\0\u04ec\0\u0516\0\u0540\0\u056a\0\u0594\0\u05be" @@ -140,14 +141,14 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { + "\0\u2370\0\u239a\0\u23c4\0\u23ee\0\u2418\0\u2442\0\u246c\0\u2496" + "\0\u24c0\0\u24ea\0\u2514\0\u253e\0\u2568\0\176\0\u2592\0\u25bc" + "\0\u25e6\0\u2610\0\u263a\0\u2664\0\u268e\0\u26b8\0\u26e2\0\u270c" + "\0\u13da"; - + private static int[] zzUnpackRowMap() { int[] result = new int[257]; 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 */ @@ -158,143 +159,144 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\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\17\1\21\1\22" - + "\1\23\1\24\1\25\1\12\1\26\1\27\1\30\1\31" + "\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41" - + "\2\12\1\42\1\12\1\43\2\12\1\44\2\12\1\45" + "\1\46\6\45\1\47\41\45\1\50\1\51\7\50\1\52" - + "\40\50\54\0\1\6\53\0\1\53\1\0\1\12\1\54" + "\7\0\1\55\1\56\1\12\1\57\1\12\1\60\1\61" - + "\1\62\1\63\1\12\1\64\1\65\1\66\1\54\1\67" + "\1\70\1\71\12\12\4\0\1\12\1\0\2\12\7\0" - + "\33\12\4\0\1\12\1\0\1\12\1\72\7\0\1\73" + "\2\12\1\74\2\12\1\75\1\76\3\12\1\77\1\12" - + "\1\72\1\12\1\100\2\12\1\101\1\12\1\102\6\12" + "\13\0\1\20\55\0\1\103\1\104\1\103\1\105\1\0" - + "\1\106\1\107\1\110\2\0\1\111\24\0\1\12\1\0" + "\2\12\7\0\1\112\1\12\1\112\1\113\3\12\1\114" - + "\23\12\4\0\1\12\1\0\2\12\7\0\6\12\1\115" + "\1\12\1\116\11\12\1\117\10\12\4\0\1\12\1\0" - + "\2\12\7\0\7\12\1\120\23\12\4\0\1\12\1\0" + "\2\12\7\0\1\121\4\12\1\122\13\12\1\123\11\12" - + "\4\0\1\12\1\0\2\12\7\0\7\12\1\124\4\12" + "\1\125\16\12\4\0\1\12\1\0\1\12\1\72\7\0" - + "\1\126\1\127\3\12\1\60\5\12\1\130\1\131\1\72" + "\1\12\1\132\1\133\12\12\4\0\1\12\1\0\2\12" - + "\7\0\16\12\1\117\14\12\4\0\1\12\1\0\2\12" + "\7\0\3\12\1\134\27\12\4\0\1\12\1\0\2\12" - + "\7\0\13\12\1\135\17\12\4\0\1\12\1\0\2\12" + "\7\0\1\136\6\12\1\137\1\12\1\140\21\12\4\0" - + "\1\12\1\0\2\12\7\0\1\12\1\141\1\12\1\142" + "\1\143\1\144\3\12\1\145\2\12\1\146\16\12\4\0" - + "\1\147\1\0\1\12\1\150\7\0\5\12\1\151\1\152" + "\3\12\1\153\1\154\1\12\1\150\1\12\1\155\13\12" - + "\4\0\1\12\1\0\2\12\7\0\6\12\1\156\1\12" + "\1\157\22\12\4\0\1\12\1\0\2\12\7\0\6\12" - + "\1\160\1\161\4\12\1\162\16\12\4\0\1\12\1\0" + "\2\12\7\0\6\12\1\163\24\12\4\0\1\12\1\0" - + "\2\12\7\0\14\12\1\164\16\12\4\0\1\12\1\0" + "\2\12\7\0\10\12\1\165\11\12\1\166\10\12\4\0" - + "\1\12\1\0\2\12\7\0\3\12\1\167\27\12\1\45" + "\1\0\6\45\1\0\41\45\1\50\1\0\7\50\1\0" - + "\40\50\4\0\1\12\1\0\2\12\7\0\14\12\1\170" + "\16\12\4\0\1\12\1\0\2\12\7\0\7\12\1\171" - + "\7\12\1\100\13\12\4\0\1\12\1\0\2\12\7\0" + "\7\12\1\172\23\12\4\0\1\12\1\0\2\12\7\0" - + "\6\12\1\115\24\12\4\0\1\12\1\0\2\12\7\0" + "\6\12\1\173\3\12\1\174\6\12\1\175\11\12\4\0" - + "\1\12\1\0\2\12\7\0\14\12\1\125\16\12\4\0" + "\1\12\1\0\1\12\1\72\7\0\1\12\1\176\11\12" - + "\1\130\1\12\1\72\2\12\1\133\12\12\4\0\1\12" + "\1\0\2\12\7\0\11\12\1\177\21\12\4\0\1\12" - + "\1\0\2\12\7\0\3\12\1\200\27\12\4\0\1\12" + "\1\0\2\12\7\0\1\201\32\12\4\0\1\12\1\0" - + "\2\12\7\0\4\12\1\143\7\12\1\146\16\12\4\0" + "\1\12\1\0\2\12\7\0\5\12\1\202\11\12\1\203" - + "\13\12\4\0\1\12\1\0\2\12\7\0\10\12\1\204" + "\22\12\4\0\1\12\1\0\2\12\7\0\6\12\1\205" - + "\1\206\4\12\1\207\16\12\4\0\1\12\1\0\2\12" + "\7\0\1\135\32\12\4\0\1\12\1\0\2\12\7\0" - + "\7\12\1\133\23\12\4\0\1\12\1\0\2\12\7\0" + "\7\12\1\210\23\12\4\0\1\12\1\0\2\12\7\0" - + "\14\12\1\211\16\12\4\0\1\12\1\0\2\12\7\0" + "\1\212\12\12\1\135\4\12\1\133\12\12\4\0\1\12" - + "\1\0\2\12\7\0\5\12\1\213\5\12\1\214\3\12" + "\1\215\13\12\4\0\1\12\1\0\2\12\7\0\4\12" - + "\1\143\7\12\1\113\16\12\4\0\1\12\1\0\2\12" + "\7\0\16\12\1\216\14\12\4\0\1\12\1\0\2\12" - + "\7\0\6\12\1\217\24\12\4\0\1\12\1\0\1\12" + "\1\71\7\0\15\12\1\71\15\12\20\0\1\220\1\0" - + "\1\220\56\0\1\221\45\0\1\220\50\0\1\220\53\0" + "\1\222\54\0\1\220\47\0\1\223\30\0\1\12\1\0" - + "\2\12\7\0\1\12\1\224\1\12\1\224\27\12\4\0" + "\1\12\1\0\2\12\7\0\5\12\1\224\25\12\4\0" - + "\1\12\1\0\2\12\7\0\2\12\1\225\30\12\4\0" + "\1\12\1\0\2\12\7\0\5\12\1\214\25\12\4\0" - + "\1\12\1\0\2\12\7\0\6\12\1\226\24\12\4\0" + "\1\12\1\0\2\12\7\0\3\12\1\113\27\12\4\0" - + "\1\12\1\0\2\12\7\0\1\12\1\227\31\12\4\0" + "\1\12\1\0\2\12\7\0\13\12\1\230\17\12\4\0" - + "\1\231\1\0\2\12\7\0\33\12\4\0\1\12\1\0" + "\2\12\7\0\14\12\1\202\1\12\1\232\14\12\4\0" - + "\1\12\1\0\2\12\7\0\5\12\1\135\25\12\4\0" + "\1\12\1\0\2\12\7\0\5\12\1\202\25\12\4\0" - + "\1\12\1\0\2\12\7\0\1\233\6\12\1\172\23\12" + "\4\0\1\12\1\0\2\12\7\0\6\12\1\234\24\12" - + "\4\0\1\12\1\0\2\12\7\0\14\12\1\113\16\12" + "\4\0\1\12\1\0\2\12\7\0\5\12\1\202\11\12" - + "\1\235\13\12\4\0\1\12\1\0\2\12\7\0\6\12" + "\1\236\1\206\4\12\1\237\16\12\4\0\1\12\1\0" - + "\2\12\7\0\13\12\1\224\17\12\4\0\1\12\1\0" + "\2\12\7\0\1\12\1\240\4\12\1\241\16\12\1\42" - + "\5\12\4\0\1\12\1\0\2\12\7\0\3\12\1\224" + "\27\12\4\0\1\12\1\0\2\12\7\0\7\12\1\242" - + "\23\12\4\0\1\12\1\0\2\12\7\0\10\12\1\243" + "\22\12\4\0\1\12\1\0\2\12\7\0\5\12\1\244" - + "\25\12\4\0\1\12\1\0\2\12\7\0\7\12\1\175" + "\23\12\4\0\1\12\1\0\2\12\7\0\1\245\32\12" - + "\4\0\1\12\1\0\2\12\7\0\10\12\1\202\22\12" + "\4\0\1\12\1\0\2\12\7\0\2\12\1\212\30\12" - + "\4\0\1\12\1\0\2\12\7\0\20\12\1\246\12\12" + "\4\0\1\12\1\0\2\12\7\0\2\12\1\113\2\12" - + "\1\214\25\12\4\0\1\12\1\0\2\12\7\0\5\12" + "\1\60\6\12\1\247\16\12\4\0\1\12\1\0\2\12" - + "\7\0\22\12\1\250\10\12\4\0\1\251\1\0\1\12" + "\1\252\7\0\1\12\1\253\2\12\1\254\10\12\1\252" - + "\15\12\4\0\1\12\1\0\2\12\7\0\20\12\1\133" + "\12\12\4\0\1\12\1\0\2\12\7\0\14\12\1\255" - + "\16\12\4\0\1\12\1\0\2\12\7\0\14\12\1\256" + "\16\12\4\0\1\12\1\0\2\12\7\0\6\12\1\257" - + "\7\12\1\260\14\12\4\0\1\12\1\0\2\12\7\0" + "\10\12\1\261\1\32\21\12\4\0\1\12\1\0\2\12" - + "\7\0\3\12\1\262\3\12\1\263\4\12\1\125\16\12" + "\4\0\1\12\1\0\2\12\7\0\21\12\1\264\11\12" - + "\4\0\1\265\1\0\2\12\7\0\33\12\4\0\1\12" + "\1\0\2\12\7\0\5\12\1\264\25\12\4\0\1\12" - + "\1\0\1\12\1\266\7\0\15\12\1\266\15\12\4\0" + "\1\12\1\0\2\12\7\0\5\12\1\206\25\12\4\0" - + "\1\12\1\0\2\12\7\0\14\12\1\267\16\12\4\0" + "\1\12\1\0\2\12\7\0\3\12\1\270\10\12\1\71" - + "\16\12\4\0\1\12\1\0\2\12\7\0\21\12\1\202" + "\11\12\4\0\1\12\1\0\2\12\7\0\17\12\1\224" - + "\13\12\4\0\1\12\1\0\2\12\7\0\13\12\1\214" + "\17\12\4\0\1\12\1\0\2\12\7\0\2\12\1\271" - + "\30\12\4\0\1\12\1\0\2\12\7\0\1\272\32\12" + "\4\0\1\12\1\0\2\12\7\0\6\12\1\273\24\12" - + "\4\0\1\12\1\0\2\12\7\0\16\12\1\224\14\12" + "\4\0\1\12\1\0\2\12\7\0\6\12\1\274\24\12" - + "\4\0\1\12\1\0\2\12\7\0\20\12\1\71\12\12" + "\4\0\1\12\1\0\2\12\7\0\6\12\1\212\24\12" - + "\4\0\1\12\1\0\2\12\7\0\7\12\1\275\23\12" + "\4\0\1\12\1\0\2\12\7\0\1\12\1\224\31\12" - + "\4\0\1\12\1\0\2\12\7\0\3\12\1\276\27\12" + "\4\0\1\12\1\0\2\12\7\0\7\12\1\206\23\12" - + "\4\0\1\12\1\0\2\12\7\0\21\12\1\277\11\12" + "\4\0\1\224\1\0\2\12\7\0\33\12\4\0\1\12" - + "\1\0\2\12\7\0\5\12\1\277\25\12\4\0\1\12" + "\1\0\2\12\7\0\2\12\1\224\10\12\1\135\17\12" - + "\4\0\1\12\1\0\2\12\7\0\1\300\32\12\4\0" + "\1\12\1\0\2\12\7\0\1\224\32\12\4\0\1\12" - + "\1\0\2\12\7\0\1\12\1\301\25\12\1\257\3\12" + "\4\0\1\12\1\0\2\12\7\0\22\12\1\224\10\12" - + "\4\0\1\12\1\0\2\12\7\0\16\12\1\302\14\12" + "\4\0\1\12\1\0\2\12\7\0\1\255\32\12\4\0" - + "\1\12\1\0\2\12\7\0\10\12\1\303\22\12\16\0" + "\1\20\63\0\1\304\25\0\1\220\64\0\1\305\36\0" - + "\1\12\1\0\2\12\7\0\14\12\1\306\14\12\1\307" + "\1\12\4\0\1\12\1\0\2\12\7\0\5\12\1\310" - + "\25\12\4\0\1\12\1\0\2\12\7\0\7\12\1\224" + "\23\12\4\0\1\12\1\0\2\12\7\0\3\12\1\311" - + "\27\12\4\0\1\227\1\0\2\12\7\0\12\12\1\312" + "\1\12\1\313\16\12\4\0\1\12\1\0\2\12\7\0" - + "\1\314\32\12\4\0\1\12\1\0\2\12\7\0\7\12" + "\1\315\23\12\4\0\1\12\1\0\2\12\7\0\5\12" - + "\1\316\25\12\4\0\1\12\1\0\2\12\7\0\6\12" + "\1\257\24\12\4\0\1\12\1\0\2\12\7\0\21\12" - + "\1\317\11\12\4\0\1\12\1\0\2\12\7\0\5\12" + "\1\317\25\12\4\0\1\12\1\0\2\12\7\0\11\12" - + "\1\320\21\12\4\0\1\224\1\0\2\12\7\0\1\224" + "\32\12\4\0\1\12\1\0\2\12\7\0\6\12\1\202" - + "\1\321\23\12\4\0\1\12\1\0\2\12\7\0\6\12" + "\1\322\10\12\1\275\13\12\4\0\1\12\1\0\1\12" - + "\1\323\7\0\15\12\1\323\15\12\4\0\1\12\1\0" + "\2\12\7\0\3\12\1\324\27\12\4\0\1\12\1\0" - + "\2\12\7\0\10\12\1\325\22\12\4\0\1\12\1\0" + "\2\12\7\0\5\12\1\202\11\12\1\224\13\12\4\0" - + "\1\12\1\0\2\12\7\0\6\12\1\321\24\12\4\0" + "\1\12\1\0\2\12\7\0\3\12\1\255\27\12\4\0" - + "\1\12\1\0\2\12\7\0\1\326\32\12\4\0\1\12" + "\1\0\2\12\7\0\3\12\1\327\27\12\4\0\1\12" - + "\1\0\2\12\7\0\11\12\1\330\21\12\4\0\1\12" + "\1\0\2\12\7\0\21\12\1\224\11\12\4\0\1\12" - + "\1\0\2\12\7\0\2\12\1\113\30\12\4\0\1\12" + "\1\0\2\12\7\0\2\12\1\224\30\12\4\0\1\12" - + "\1\0\2\12\7\0\6\12\1\331\24\12\4\0\1\12" + "\1\0\1\12\1\332\7\0\15\12\1\332\15\12\4\0" - + "\1\12\1\0\2\12\7\0\2\12\1\333\30\12\4\0" + "\1\12\1\0\2\12\7\0\26\12\1\224\2\12\1\224" - + "\1\12\4\0\1\12\1\0\2\12\7\0\11\12\1\334" + "\21\12\4\0\1\12\1\0\2\12\7\0\23\12\1\335" - + "\7\12\4\0\1\12\1\0\2\12\7\0\1\12\1\135" + "\31\12\4\0\1\12\1\0\2\12\7\0\10\12\1\135" - + "\22\12\4\0\1\12\1\0\2\12\7\0\31\12\1\307" + "\1\12\4\0\1\12\1\0\2\12\7\0\1\336\32\12" - + "\4\0\1\12\1\0\2\12\7\0\11\12\1\337\21\12" + "\4\0\1\12\1\0\2\12\7\0\6\12\1\202\24\12" - + "\4\0\1\12\1\0\2\12\7\0\5\12\1\340\25\12" + "\4\0\1\12\1\0\2\12\7\0\31\12\1\224\1\12" - + "\4\0\1\12\1\0\2\12\7\0\14\12\1\341\16\12" + "\4\0\1\12\1\0\2\12\7\0\6\12\1\342\5\12" - + "\1\343\16\12\4\0\1\12\1\0\2\12\7\0\1\251" + "\32\12\4\0\1\12\1\0\2\12\7\0\6\12\1\344" - + "\24\12\22\0\1\345\61\0\1\304\23\0\1\12\1\0" + "\1\12\1\200\7\0\15\12\1\200\15\12\4\0\1\12" - + "\1\0\2\12\7\0\26\12\1\224\4\12\4\0\1\12" + "\1\0\2\12\7\0\13\12\1\346\17\12\4\0\1\12" - + "\1\0\2\12\7\0\14\12\1\313\10\12\1\347\5\12" + "\4\0\1\12\1\0\2\12\7\0\14\12\1\71\16\12" - + "\4\0\1\12\1\0\2\12\7\0\12\12\1\224\20\12" + "\4\0\1\12\1\0\2\12\7\0\14\12\1\350\16\12" - + "\4\0\1\12\1\0\1\12\1\351\7\0\15\12\1\351" + "\15\12\4\0\1\12\1\0\2\12\7\0\32\12\1\224" - + "\4\0\1\12\1\0\2\12\7\0\10\12\1\113\22\12" + "\4\0\1\12\1\0\2\12\7\0\10\12\1\224\22\12" - + "\4\0\1\12\1\0\2\12\7\0\1\212\32\12\4\0" + "\1\12\1\0\2\12\7\0\1\12\1\352\31\12\4\0" - + "\1\12\1\0\1\12\1\202\7\0\15\12\1\202\15\12" + "\4\0\1\12\1\0\2\12\7\0\7\12\1\353\23\12" - + "\4\0\1\12\1\0\2\12\7\0\11\12\1\354\21\12" + "\4\0\1\12\1\0\2\12\7\0\2\12\1\355\30\12" - + "\4\0\1\12\1\0\2\12\7\0\14\12\1\270\16\12" + "\4\0\1\12\1\0\2\12\7\0\17\12\1\356\13\12" - + "\4\0\1\12\1\0\2\12\7\0\14\12\1\340\16\12" + "\4\0\1\12\1\0\2\12\7\0\10\12\1\357\22\12" - + "\4\0\1\12\1\0\2\12\7\0\1\360\32\12\4\0" + "\1\12\1\0\2\12\7\0\13\12\1\361\17\12\4\0" - + "\1\12\1\0\2\12\7\0\7\12\1\362\23\12\4\0" + "\1\12\1\0\2\12\7\0\1\202\32\12\4\0\1\12" - + "\1\0\2\12\7\0\13\12\1\352\17\12\4\0\1\12" + "\1\0\2\12\7\0\5\12\1\257\25\12\4\0\1\12" - + "\1\0\2\12\7\0\14\12\1\363\16\12\4\0\1\12" + "\1\0\2\12\7\0\5\12\1\364\25\12\4\0\1\12" - + "\1\0\1\12\1\365\7\0\15\12\1\365\15\12\16\0" + "\1\366\37\0\1\12\1\0\2\12\7\0\12\12\1\355" - + "\20\12\4\0\1\12\1\0\2\12\7\0\22\12\1\367" + "\10\12\4\0\1\12\1\0\1\12\1\370\7\0\15\12" - + "\1\370\15\12\4\0\1\12\1\0\2\12\7\0\6\12" + "\1\371\24\12\4\0\1\12\1\0\2\12\7\0\14\12" - + "\1\372\16\12\4\0\1\12\1\0\2\12\7\0\11\12" + "\1\373\21\12\4\0\1\135\1\0\2\12\7\0\33\12" - + "\4\0\1\12\1\0\2\12\7\0\3\12\1\321\27\12" + "\4\0\1\12\1\0\2\12\7\0\3\12\1\365\27\12" - + "\4\0\1\12\1\0\2\12\7\0\6\12\1\170\24\12" + "\4\0\1\12\1\0\2\12\7\0\3\12\1\224\3\12" - + "\1\224\23\12\4\0\1\12\1\0\2\12\7\0\16\12" + "\1\374\14\12\4\0\1\12\1\0\1\12\1\375\7\0" - + "\15\12\1\375\15\12\4\0\1\12\1\0\2\12\7\0" + "\5\12\1\133\25\12\4\0\1\12\1\0\2\12\7\0" - + "\11\12\1\135\21\12\4\0\1\12\1\0\2\12\7\0" + "\1\12\1\355\31\12\4\0\1\12\1\0\2\12\7\0" - + "\3\12\1\270\27\12\4\0\1\12\1\0\2\12\7\0" + "\14\12\1\202\16\12\4\0\1\12\1\0\2\12\7\0" - + "\1\12\1\376\31\12\4\0\1\12\1\0\2\12\7\0" + "\7\12\1\113\23\12\4\0\1\12\1\0\2\12\7\0" - + "\1\12\1\377\31\12\4\0\1\12\1\0\2\12\7\0" + "\6\12\1\u0100\24\12\4\0\1\12\1\0\2\12\7\0" - + "\6\12\1\267\24\12\4\0\1\12\1\0\2\12\7\0" + "\3\12\1\u0101\2\12\1\177\24\12\4\0\1\12\1\0" - + "\2\12\7\0\14\12\1\124\16\12\4\0\1\12\1\0" + "\1\12\1\135\7\0\15\12\1\135\15\12"; - + private static final String ZZ_TRANS_PACKED_0 = "\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\17\1\21\1\22" + "\1\23\1\24\1\25\1\12\1\26\1\27\1\30\1\31" + + "\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41" + "\2\12\1\42\1\12\1\43\2\12\1\44\2\12\1\45" + + "\1\46\6\45\1\47\41\45\1\50\1\51\7\50\1\52" + "\40\50\54\0\1\6\53\0\1\53\1\0\1\12\1\54" + + "\7\0\1\55\1\56\1\12\1\57\1\12\1\60\1\61" + "\1\62\1\63\1\12\1\64\1\65\1\66\1\54\1\67" + + "\1\70\1\71\12\12\4\0\1\12\1\0\2\12\7\0" + "\33\12\4\0\1\12\1\0\1\12\1\72\7\0\1\73" + + "\2\12\1\74\2\12\1\75\1\76\3\12\1\77\1\12" + "\1\72\1\12\1\100\2\12\1\101\1\12\1\102\6\12" + + "\13\0\1\20\55\0\1\103\1\104\1\103\1\105\1\0" + "\1\106\1\107\1\110\2\0\1\111\24\0\1\12\1\0" + + "\2\12\7\0\1\112\1\12\1\112\1\113\3\12\1\114" + "\23\12\4\0\1\12\1\0\2\12\7\0\6\12\1\115" + + "\1\12\1\116\11\12\1\117\10\12\4\0\1\12\1\0" + "\2\12\7\0\7\12\1\120\23\12\4\0\1\12\1\0" + + "\2\12\7\0\1\121\4\12\1\122\13\12\1\123\11\12" + "\4\0\1\12\1\0\2\12\7\0\7\12\1\124\4\12" + + "\1\125\16\12\4\0\1\12\1\0\1\12\1\72\7\0" + "\1\126\1\127\3\12\1\60\5\12\1\130\1\131\1\72" + + "\1\12\1\132\1\133\12\12\4\0\1\12\1\0\2\12" + "\7\0\16\12\1\117\14\12\4\0\1\12\1\0\2\12" + + "\7\0\3\12\1\134\27\12\4\0\1\12\1\0\2\12" + "\7\0\13\12\1\135\17\12\4\0\1\12\1\0\2\12" + + "\7\0\1\136\6\12\1\137\1\12\1\140\21\12\4\0" + "\1\12\1\0\2\12\7\0\1\12\1\141\1\12\1\142" + + "\1\143\1\144\3\12\1\145\2\12\1\146\16\12\4\0" + "\1\147\1\0\1\12\1\150\7\0\5\12\1\151\1\152" + + "\3\12\1\153\1\154\1\12\1\150\1\12\1\155\13\12" + "\4\0\1\12\1\0\2\12\7\0\6\12\1\156\1\12" + + "\1\157\22\12\4\0\1\12\1\0\2\12\7\0\6\12" + "\1\160\1\161\4\12\1\162\16\12\4\0\1\12\1\0" + + "\2\12\7\0\6\12\1\163\24\12\4\0\1\12\1\0" + "\2\12\7\0\14\12\1\164\16\12\4\0\1\12\1\0" + + "\2\12\7\0\10\12\1\165\11\12\1\166\10\12\4\0" + "\1\12\1\0\2\12\7\0\3\12\1\167\27\12\1\45" + + "\1\0\6\45\1\0\41\45\1\50\1\0\7\50\1\0" + "\40\50\4\0\1\12\1\0\2\12\7\0\14\12\1\170" + + "\16\12\4\0\1\12\1\0\2\12\7\0\7\12\1\171" + "\7\12\1\100\13\12\4\0\1\12\1\0\2\12\7\0" + + "\7\12\1\172\23\12\4\0\1\12\1\0\2\12\7\0" + "\6\12\1\115\24\12\4\0\1\12\1\0\2\12\7\0" + + "\6\12\1\173\3\12\1\174\6\12\1\175\11\12\4\0" + "\1\12\1\0\2\12\7\0\14\12\1\125\16\12\4\0" + + "\1\12\1\0\1\12\1\72\7\0\1\12\1\176\11\12" + "\1\130\1\12\1\72\2\12\1\133\12\12\4\0\1\12" + + "\1\0\2\12\7\0\11\12\1\177\21\12\4\0\1\12" + "\1\0\2\12\7\0\3\12\1\200\27\12\4\0\1\12" + + "\1\0\2\12\7\0\1\201\32\12\4\0\1\12\1\0" + "\2\12\7\0\4\12\1\143\7\12\1\146\16\12\4\0" + + "\1\12\1\0\2\12\7\0\5\12\1\202\11\12\1\203" + "\13\12\4\0\1\12\1\0\2\12\7\0\10\12\1\204" + + "\22\12\4\0\1\12\1\0\2\12\7\0\6\12\1\205" + "\1\206\4\12\1\207\16\12\4\0\1\12\1\0\2\12" + + "\7\0\1\135\32\12\4\0\1\12\1\0\2\12\7\0" + "\7\12\1\133\23\12\4\0\1\12\1\0\2\12\7\0" + + "\7\12\1\210\23\12\4\0\1\12\1\0\2\12\7\0" + "\14\12\1\211\16\12\4\0\1\12\1\0\2\12\7\0" + + "\1\212\12\12\1\135\4\12\1\133\12\12\4\0\1\12" + "\1\0\2\12\7\0\5\12\1\213\5\12\1\214\3\12" + + "\1\215\13\12\4\0\1\12\1\0\2\12\7\0\4\12" + "\1\143\7\12\1\113\16\12\4\0\1\12\1\0\2\12" + + "\7\0\16\12\1\216\14\12\4\0\1\12\1\0\2\12" + "\7\0\6\12\1\217\24\12\4\0\1\12\1\0\1\12" + + "\1\71\7\0\15\12\1\71\15\12\20\0\1\220\1\0" + "\1\220\56\0\1\221\45\0\1\220\50\0\1\220\53\0" + + "\1\222\54\0\1\220\47\0\1\223\30\0\1\12\1\0" + "\2\12\7\0\1\12\1\224\1\12\1\224\27\12\4\0" + + "\1\12\1\0\2\12\7\0\5\12\1\224\25\12\4\0" + "\1\12\1\0\2\12\7\0\2\12\1\225\30\12\4\0" + + "\1\12\1\0\2\12\7\0\5\12\1\214\25\12\4\0" + "\1\12\1\0\2\12\7\0\6\12\1\226\24\12\4\0" + + "\1\12\1\0\2\12\7\0\3\12\1\113\27\12\4\0" + "\1\12\1\0\2\12\7\0\1\12\1\227\31\12\4\0" + + "\1\12\1\0\2\12\7\0\13\12\1\230\17\12\4\0" + "\1\231\1\0\2\12\7\0\33\12\4\0\1\12\1\0" + + "\2\12\7\0\14\12\1\202\1\12\1\232\14\12\4\0" + "\1\12\1\0\2\12\7\0\5\12\1\135\25\12\4\0" + + "\1\12\1\0\2\12\7\0\5\12\1\202\25\12\4\0" + "\1\12\1\0\2\12\7\0\1\233\6\12\1\172\23\12" + + "\4\0\1\12\1\0\2\12\7\0\6\12\1\234\24\12" + "\4\0\1\12\1\0\2\12\7\0\14\12\1\113\16\12" + + "\4\0\1\12\1\0\2\12\7\0\5\12\1\202\11\12" + "\1\235\13\12\4\0\1\12\1\0\2\12\7\0\6\12" + + "\1\236\1\206\4\12\1\237\16\12\4\0\1\12\1\0" + "\2\12\7\0\13\12\1\224\17\12\4\0\1\12\1\0" + + "\2\12\7\0\1\12\1\240\4\12\1\241\16\12\1\42" + "\5\12\4\0\1\12\1\0\2\12\7\0\3\12\1\224" + + "\27\12\4\0\1\12\1\0\2\12\7\0\7\12\1\242" + "\23\12\4\0\1\12\1\0\2\12\7\0\10\12\1\243" + + "\22\12\4\0\1\12\1\0\2\12\7\0\5\12\1\244" + "\25\12\4\0\1\12\1\0\2\12\7\0\7\12\1\175" + + "\23\12\4\0\1\12\1\0\2\12\7\0\1\245\32\12" + "\4\0\1\12\1\0\2\12\7\0\10\12\1\202\22\12" + + "\4\0\1\12\1\0\2\12\7\0\2\12\1\212\30\12" + "\4\0\1\12\1\0\2\12\7\0\20\12\1\246\12\12" + + "\4\0\1\12\1\0\2\12\7\0\2\12\1\113\2\12" + "\1\214\25\12\4\0\1\12\1\0\2\12\7\0\5\12" + + "\1\60\6\12\1\247\16\12\4\0\1\12\1\0\2\12" + "\7\0\22\12\1\250\10\12\4\0\1\251\1\0\1\12" + + "\1\252\7\0\1\12\1\253\2\12\1\254\10\12\1\252" + "\15\12\4\0\1\12\1\0\2\12\7\0\20\12\1\133" + + "\12\12\4\0\1\12\1\0\2\12\7\0\14\12\1\255" + "\16\12\4\0\1\12\1\0\2\12\7\0\14\12\1\256" + + "\16\12\4\0\1\12\1\0\2\12\7\0\6\12\1\257" + "\7\12\1\260\14\12\4\0\1\12\1\0\2\12\7\0" + + "\10\12\1\261\1\32\21\12\4\0\1\12\1\0\2\12" + "\7\0\3\12\1\262\3\12\1\263\4\12\1\125\16\12" + + "\4\0\1\12\1\0\2\12\7\0\21\12\1\264\11\12" + "\4\0\1\265\1\0\2\12\7\0\33\12\4\0\1\12" + + "\1\0\2\12\7\0\5\12\1\264\25\12\4\0\1\12" + "\1\0\1\12\1\266\7\0\15\12\1\266\15\12\4\0" + + "\1\12\1\0\2\12\7\0\5\12\1\206\25\12\4\0" + "\1\12\1\0\2\12\7\0\14\12\1\267\16\12\4\0" + + "\1\12\1\0\2\12\7\0\3\12\1\270\10\12\1\71" + "\16\12\4\0\1\12\1\0\2\12\7\0\21\12\1\202" + + "\11\12\4\0\1\12\1\0\2\12\7\0\17\12\1\224" + "\13\12\4\0\1\12\1\0\2\12\7\0\13\12\1\214" + + "\17\12\4\0\1\12\1\0\2\12\7\0\2\12\1\271" + "\30\12\4\0\1\12\1\0\2\12\7\0\1\272\32\12" + + "\4\0\1\12\1\0\2\12\7\0\6\12\1\273\24\12" + "\4\0\1\12\1\0\2\12\7\0\16\12\1\224\14\12" + + "\4\0\1\12\1\0\2\12\7\0\6\12\1\274\24\12" + "\4\0\1\12\1\0\2\12\7\0\20\12\1\71\12\12" + + "\4\0\1\12\1\0\2\12\7\0\6\12\1\212\24\12" + "\4\0\1\12\1\0\2\12\7\0\7\12\1\275\23\12" + + "\4\0\1\12\1\0\2\12\7\0\1\12\1\224\31\12" + "\4\0\1\12\1\0\2\12\7\0\3\12\1\276\27\12" + + "\4\0\1\12\1\0\2\12\7\0\7\12\1\206\23\12" + "\4\0\1\12\1\0\2\12\7\0\21\12\1\277\11\12" + + "\4\0\1\224\1\0\2\12\7\0\33\12\4\0\1\12" + "\1\0\2\12\7\0\5\12\1\277\25\12\4\0\1\12" + + "\1\0\2\12\7\0\2\12\1\224\10\12\1\135\17\12" + "\4\0\1\12\1\0\2\12\7\0\1\300\32\12\4\0" + + "\1\12\1\0\2\12\7\0\1\224\32\12\4\0\1\12" + "\1\0\2\12\7\0\1\12\1\301\25\12\1\257\3\12" + + "\4\0\1\12\1\0\2\12\7\0\22\12\1\224\10\12" + "\4\0\1\12\1\0\2\12\7\0\16\12\1\302\14\12" + + "\4\0\1\12\1\0\2\12\7\0\1\255\32\12\4\0" + "\1\12\1\0\2\12\7\0\10\12\1\303\22\12\16\0" + + "\1\20\63\0\1\304\25\0\1\220\64\0\1\305\36\0" + "\1\12\1\0\2\12\7\0\14\12\1\306\14\12\1\307" + + "\1\12\4\0\1\12\1\0\2\12\7\0\5\12\1\310" + "\25\12\4\0\1\12\1\0\2\12\7\0\7\12\1\224" + + "\23\12\4\0\1\12\1\0\2\12\7\0\3\12\1\311" + "\27\12\4\0\1\227\1\0\2\12\7\0\12\12\1\312" + + "\1\12\1\313\16\12\4\0\1\12\1\0\2\12\7\0" + "\1\314\32\12\4\0\1\12\1\0\2\12\7\0\7\12" + + "\1\315\23\12\4\0\1\12\1\0\2\12\7\0\5\12" + "\1\316\25\12\4\0\1\12\1\0\2\12\7\0\6\12" + + "\1\257\24\12\4\0\1\12\1\0\2\12\7\0\21\12" + "\1\317\11\12\4\0\1\12\1\0\2\12\7\0\5\12" + + "\1\317\25\12\4\0\1\12\1\0\2\12\7\0\11\12" + "\1\320\21\12\4\0\1\224\1\0\2\12\7\0\1\224" + + "\32\12\4\0\1\12\1\0\2\12\7\0\6\12\1\202" + "\1\321\23\12\4\0\1\12\1\0\2\12\7\0\6\12" + + "\1\322\10\12\1\275\13\12\4\0\1\12\1\0\1\12" + "\1\323\7\0\15\12\1\323\15\12\4\0\1\12\1\0" + + "\2\12\7\0\3\12\1\324\27\12\4\0\1\12\1\0" + "\2\12\7\0\10\12\1\325\22\12\4\0\1\12\1\0" + + "\2\12\7\0\5\12\1\202\11\12\1\224\13\12\4\0" + "\1\12\1\0\2\12\7\0\6\12\1\321\24\12\4\0" + + "\1\12\1\0\2\12\7\0\3\12\1\255\27\12\4\0" + "\1\12\1\0\2\12\7\0\1\326\32\12\4\0\1\12" + + "\1\0\2\12\7\0\3\12\1\327\27\12\4\0\1\12" + "\1\0\2\12\7\0\11\12\1\330\21\12\4\0\1\12" + + "\1\0\2\12\7\0\21\12\1\224\11\12\4\0\1\12" + "\1\0\2\12\7\0\2\12\1\113\30\12\4\0\1\12" + + "\1\0\2\12\7\0\2\12\1\224\30\12\4\0\1\12" + "\1\0\2\12\7\0\6\12\1\331\24\12\4\0\1\12" + + "\1\0\1\12\1\332\7\0\15\12\1\332\15\12\4\0" + "\1\12\1\0\2\12\7\0\2\12\1\333\30\12\4\0" + + "\1\12\1\0\2\12\7\0\26\12\1\224\2\12\1\224" + "\1\12\4\0\1\12\1\0\2\12\7\0\11\12\1\334" + + "\21\12\4\0\1\12\1\0\2\12\7\0\23\12\1\335" + "\7\12\4\0\1\12\1\0\2\12\7\0\1\12\1\135" + + "\31\12\4\0\1\12\1\0\2\12\7\0\10\12\1\135" + "\22\12\4\0\1\12\1\0\2\12\7\0\31\12\1\307" + + "\1\12\4\0\1\12\1\0\2\12\7\0\1\336\32\12" + "\4\0\1\12\1\0\2\12\7\0\11\12\1\337\21\12" + + "\4\0\1\12\1\0\2\12\7\0\6\12\1\202\24\12" + "\4\0\1\12\1\0\2\12\7\0\5\12\1\340\25\12" + + "\4\0\1\12\1\0\2\12\7\0\31\12\1\224\1\12" + "\4\0\1\12\1\0\2\12\7\0\14\12\1\341\16\12" + + "\4\0\1\12\1\0\2\12\7\0\6\12\1\342\5\12" + "\1\343\16\12\4\0\1\12\1\0\2\12\7\0\1\251" + + "\32\12\4\0\1\12\1\0\2\12\7\0\6\12\1\344" + "\24\12\22\0\1\345\61\0\1\304\23\0\1\12\1\0" + + "\1\12\1\200\7\0\15\12\1\200\15\12\4\0\1\12" + "\1\0\2\12\7\0\26\12\1\224\4\12\4\0\1\12" + + "\1\0\2\12\7\0\13\12\1\346\17\12\4\0\1\12" + "\1\0\2\12\7\0\14\12\1\313\10\12\1\347\5\12" + + "\4\0\1\12\1\0\2\12\7\0\14\12\1\71\16\12" + "\4\0\1\12\1\0\2\12\7\0\12\12\1\224\20\12" + + "\4\0\1\12\1\0\2\12\7\0\14\12\1\350\16\12" + "\4\0\1\12\1\0\1\12\1\351\7\0\15\12\1\351" + + "\15\12\4\0\1\12\1\0\2\12\7\0\32\12\1\224" + "\4\0\1\12\1\0\2\12\7\0\10\12\1\113\22\12" + + "\4\0\1\12\1\0\2\12\7\0\10\12\1\224\22\12" + "\4\0\1\12\1\0\2\12\7\0\1\212\32\12\4\0" + + "\1\12\1\0\2\12\7\0\1\12\1\352\31\12\4\0" + "\1\12\1\0\1\12\1\202\7\0\15\12\1\202\15\12" + + "\4\0\1\12\1\0\2\12\7\0\7\12\1\353\23\12" + "\4\0\1\12\1\0\2\12\7\0\11\12\1\354\21\12" + + "\4\0\1\12\1\0\2\12\7\0\2\12\1\355\30\12" + "\4\0\1\12\1\0\2\12\7\0\14\12\1\270\16\12" + + "\4\0\1\12\1\0\2\12\7\0\17\12\1\356\13\12" + "\4\0\1\12\1\0\2\12\7\0\14\12\1\340\16\12" + + "\4\0\1\12\1\0\2\12\7\0\10\12\1\357\22\12" + "\4\0\1\12\1\0\2\12\7\0\1\360\32\12\4\0" + + "\1\12\1\0\2\12\7\0\13\12\1\361\17\12\4\0" + "\1\12\1\0\2\12\7\0\7\12\1\362\23\12\4\0" + + "\1\12\1\0\2\12\7\0\1\202\32\12\4\0\1\12" + "\1\0\2\12\7\0\13\12\1\352\17\12\4\0\1\12" + + "\1\0\2\12\7\0\5\12\1\257\25\12\4\0\1\12" + "\1\0\2\12\7\0\14\12\1\363\16\12\4\0\1\12" + + "\1\0\2\12\7\0\5\12\1\364\25\12\4\0\1\12" + "\1\0\1\12\1\365\7\0\15\12\1\365\15\12\16\0" + + "\1\366\37\0\1\12\1\0\2\12\7\0\12\12\1\355" + "\20\12\4\0\1\12\1\0\2\12\7\0\22\12\1\367" + + "\10\12\4\0\1\12\1\0\1\12\1\370\7\0\15\12" + "\1\370\15\12\4\0\1\12\1\0\2\12\7\0\6\12" + + "\1\371\24\12\4\0\1\12\1\0\2\12\7\0\14\12" + "\1\372\16\12\4\0\1\12\1\0\2\12\7\0\11\12" + + "\1\373\21\12\4\0\1\135\1\0\2\12\7\0\33\12" + "\4\0\1\12\1\0\2\12\7\0\3\12\1\321\27\12" + + "\4\0\1\12\1\0\2\12\7\0\3\12\1\365\27\12" + "\4\0\1\12\1\0\2\12\7\0\6\12\1\170\24\12" + + "\4\0\1\12\1\0\2\12\7\0\3\12\1\224\3\12" + "\1\224\23\12\4\0\1\12\1\0\2\12\7\0\16\12" + + "\1\374\14\12\4\0\1\12\1\0\1\12\1\375\7\0" + "\15\12\1\375\15\12\4\0\1\12\1\0\2\12\7\0" + + "\5\12\1\133\25\12\4\0\1\12\1\0\2\12\7\0" + "\11\12\1\135\21\12\4\0\1\12\1\0\2\12\7\0" + + "\1\12\1\355\31\12\4\0\1\12\1\0\2\12\7\0" + "\3\12\1\270\27\12\4\0\1\12\1\0\2\12\7\0" + + "\14\12\1\202\16\12\4\0\1\12\1\0\2\12\7\0" + "\1\12\1\376\31\12\4\0\1\12\1\0\2\12\7\0" + + "\7\12\1\113\23\12\4\0\1\12\1\0\2\12\7\0" + "\1\12\1\377\31\12\4\0\1\12\1\0\2\12\7\0" + + "\6\12\1\u0100\24\12\4\0\1\12\1\0\2\12\7\0" + "\6\12\1\267\24\12\4\0\1\12\1\0\2\12\7\0" + + "\3\12\1\u0101\2\12\1\177\24\12\4\0\1\12\1\0" + "\2\12\7\0\14\12\1\124\16\12\4\0\1\12\1\0" + + "\1\12\1\135\7\0\15\12\1\135\15\12"; + private static int[] zzUnpackTrans() { int[] result = new int[10038]; 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 */ @@ -309,7 +311,7 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -321,16 +323,16 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\0\2\1\2\11\1\1\1\11\1\1\1\11\2\1" + "\2\11\2\1\1\11\25\1\2\11\1\1\2\11\30\1" - + "\7\0\106\1\4\0\60\1\2\0\37\1\1\0\20\1" + "\1\11\13\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\0\2\1\2\11\1\1\1\11\1\1\1\11\2\1" + + "\2\11\2\1\1\11\25\1\2\11\1\1\2\11\30\1" + "\7\0\106\1\4\0\60\1\2\0\37\1\1\0\20\1" + "\1\11\13\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[257]; 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 */ @@ -344,7 +346,7 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -352,8 +354,8 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -363,64 +365,55 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. We must have this here as there is no default, - * no-parameter constructor generated by JFlex. + * Constructor. We must have this here as there is no default, no-parameter + * constructor generated by JFlex. */ public FortranTokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -428,21 +421,18 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "!", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -451,16 +441,16 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = STRING; - start = text.offset; - break; - case Token.LITERAL_CHAR: - state = CHAR; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = STRING; + start = text.offset; + break; + case Token.LITERAL_CHAR: + state = CHAR; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -472,36 +462,34 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -511,34 +499,31 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public FortranTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public FortranTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -554,7 +539,7 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -564,69 +549,64 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -637,29 +617,27 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -678,8 +656,7 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -719,145 +696,146 @@ public class FortranTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 15: { - addToken(Token.RESERVED_WORD); - } - case 17: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 18: - break; - case 4: { - addToken(Token.WHITESPACE); - } - case 19: - break; - case 11: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 20: - break; - case 13: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 21: - break; - case 10: { - addToken(Token.OPERATOR); - } - case 22: - break; - case 5: { // Since we change zzStartRead, we have the - // unfortunate - // side-effect of not being able to use the '^' - // operator. - // So we must check whether we're really at the - // beginning - // of the line ourselves... - if (zzStartRead == s.offset) { - addToken(zzStartRead, zzEndRead, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } else { - addToken(Token.IDENTIFIER); - } - } - case 23: - break; - case 16: { - addToken(Token.LITERAL_BOOLEAN); - } - case 24: - break; - case 8: { - start = zzMarkedPos - 1; - yybegin(STRING); - } - case 25: - break; - case 7: { + case 15: { + addToken(Token.RESERVED_WORD); + } + case 17: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 18: + break; + case 4: { + addToken(Token.WHITESPACE); + } + case 19: + break; + case 11: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 20: + break; + case 13: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 21: + break; + case 10: { + addToken(Token.OPERATOR); + } + case 22: + break; + case 5: { // Since we change zzStartRead, we have the + // unfortunate + // side-effect of not being able to use the '^' + // operator. + // So we must check whether we're really at the + // beginning + // of the line ourselves... + if (zzStartRead == s.offset) { addToken(zzStartRead, zzEndRead, Token.COMMENT_EOL); addNullToken(); return firstToken; + } else { + addToken(Token.IDENTIFIER); } - case 26: - break; - case 6: { // Since we change zzStartRead, we have the - // unfortunate - // side-effect of not being able to use the '^' - // operator. - // So we must check whether we're really at the - // beginning - // of the line ourselves... - if (zzStartRead == s.offset) { - addToken(zzStartRead, zzEndRead, Token.COMMENT_DOCUMENTATION); - addNullToken(); - return firstToken; - } else { - addToken(Token.IDENTIFIER); - } - } - case 27: - break; - case 9: { - start = zzMarkedPos - 1; - yybegin(CHAR); - } - case 28: - break; - case 14: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_CHAR); - } - case 29: - break; - case 12: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 30: - break; - case 3: { + } + case 23: + break; + case 16: { + addToken(Token.LITERAL_BOOLEAN); + } + case 24: + break; + case 8: { + start = zzMarkedPos - 1; + yybegin(STRING); + } + case 25: + break; + case 7: { + addToken(zzStartRead, zzEndRead, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 26: + break; + case 6: { // Since we change zzStartRead, we have the + // unfortunate + // side-effect of not being able to use the '^' + // operator. + // So we must check whether we're really at the + // beginning + // of the line ourselves... + if (zzStartRead == s.offset) { + addToken(zzStartRead, zzEndRead, Token.COMMENT_DOCUMENTATION); addNullToken(); return firstToken; + } else { + addToken(Token.IDENTIFIER); } - case 31: - break; - case 1: {} - case 32: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 258: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 259: - break; - case CHAR: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 260: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + } + case 27: + break; + case 9: { + start = zzMarkedPos - 1; + yybegin(CHAR); + } + case 28: + break; + case 14: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_CHAR); + } + case 29: + break; + case 12: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 30: + break; + case 3: { + addNullToken(); + return firstToken; + } + case 31: + break; + case 1: { + } + case 32: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; } + case 258: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 259: + break; + case CHAR: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 260: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/GroovyTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/GroovyTokenMaker.java index 20db8e6..7f4b222 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/GroovyTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/GroovyTokenMaker.java @@ -21,16 +21,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -40,16 +39,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated GroovyTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -57,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -73,9 +72,11 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\22\1\21\1\0\1\22\1\16\22\0\1\22\1\53\1\13" + "\1\17\1\20\1\53\1\55\1\10\2\44\1\24\1\46\1\45\1\33" + "\1\34\1\23\1\4\1\5\2\7\1\123\1\7\1\122\1\7\2\3" - + "\1\56\1\45\1\47\1\50\1\52\1\54\1\100\1\102\1\26\1\6" + "\1\67\1\32\1\31\1\117\1\110\1\105\1\125\1\1\1\25\1\112" - + "\1\113\1\114\1\116\1\121\1\74\1\103\1\106\1\107\1\111\1\120" + "\1\30\1\1\1\124\1\44\1\12\1\44\1\51\1\2\1\0\1\40" - + "\1\27\1\63\1\61\1\37\1\15\1\72\1\57\1\65\1\115\1\75" + "\1\41\1\66\1\14\1\60\1\62\1\104\1\36\1\42\1\35\1\11" + + "\1\56\1\45\1\47\1\50\1\52\1\54\1\100\1\102\1\26\1\6" + + "\1\67\1\32\1\31\1\117\1\110\1\105\1\125\1\1\1\25\1\112" + + "\1\113\1\114\1\116\1\121\1\74\1\103\1\106\1\107\1\111\1\120" + + "\1\30\1\1\1\124\1\44\1\12\1\44\1\51\1\2\1\0\1\40" + "\1\27\1\63\1\61\1\37\1\15\1\72\1\57\1\65\1\115\1\75" + + "\1\41\1\66\1\14\1\60\1\62\1\104\1\36\1\42\1\35\1\11" + "\1\71\1\70\1\64\1\73\1\101\1\76\1\51\1\77\1\43\uff81\0"; /** * Translates characters to character classes @@ -85,32 +86,41 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\4\0\2\1\1\0\1\2\1\3\2\4\1\3\1\5" + "\1\3\1\6\2\3\1\2\1\7\1\10\2\11\5\3" - + "\1\11\7\3\1\11\1\12\1\3\6\11\13\3\1\13" + "\16\3\2\1\1\14\5\1\1\15\10\1\1\16\3\1" + "\1\17\2\1\1\20\2\1\1\21\1\22\1\23\1\24" - + "\1\25\1\2\2\26\1\27\1\4\1\26\1\27\2\26" + "\1\30\2\26\5\3\1\5\1\31\1\5\1\0\1\3" + "\1\0\7\3\2\0\1\32\1\33\1\11\37\3\1\34" - + "\12\3\2\0\1\11\3\3\1\34\7\3\3\34\1\35" + "\22\3\1\13\57\3\2\0\1\36\4\0\1\37\2\0" + "\1\40\22\0\1\17\1\0\1\41\2\0\1\21\1\23" - + "\1\2\1\4\1\27\1\0\2\30\1\4\1\30\10\3" + "\1\31\1\42\1\5\1\43\1\5\1\0\1\35\1\3" + "\1\44\5\3\1\45\1\46\65\3\1\34\13\3\1\47" - + "\30\3\1\2\54\3\1\35\24\3\37\0\1\50\2\0" + "\1\51\1\2\2\26\12\3\1\43\1\5\1\0\4\3" + "\1\35\1\52\1\35\3\3\1\35\5\3\1\35\2\3" - + "\1\47\4\3\2\35\6\3\1\53\5\3\1\35\54\3" + "\1\2\56\3\1\0\31\3\2\0\1\54\2\0\1\55" + "\15\0\1\56\12\0\1\57\1\0\1\41\1\2\2\3" - + "\1\35\11\3\1\5\1\0\1\34\42\3\1\34\20\3" + "\1\35\24\3\1\2\11\3\1\35\31\3\1\35\11\3" + "\1\0\31\3\36\0\1\2\15\3\1\5\1\0\4\3" - + "\1\35\5\3\1\35\27\3\1\60\31\3\1\35\1\2" + "\11\3\1\35\30\3\1\35\13\3\1\0\2\3\1\35" + "\10\3\1\35\12\3\23\0\14\3\1\0\2\3\1\0" - + "\3\3\1\0\45\3\1\35\2\3\1\2\43\3\1\0" + "\14\3\1\0\23\3\1\35\6\3\5\0\1\56\4\0" + "\1\35\14\3\4\0\3\3\2\0\102\3\2\0\11\3" - + "\1\0\20\3\1\35\12\3\12\0\4\3\1\35\6\3" + "\4\0\3\3\1\0\3\3\1\35\10\3\1\35\11\3" + "\1\35\47\3\2\0\10\3\1\35\27\3\5\0\4\3" - + "\1\0\2\3\1\35\2\3\4\0\1\3\1\0\3\3" + "\1\0\57\3\2\0\32\3\5\0\3\3\2\0\3\3" + "\4\0\3\3\1\0\1\35\14\3\1\35\10\3\1\35" - + "\5\3\1\35\12\3\2\0\15\3\1\35\5\3\2\0" + "\2\3\2\0\3\3\4\0\3\3\1\0\10\3\1\35" + "\3\3\1\0\1\3\1\35\2\3\1\35\2\3\1\0" - + "\1\35\15\3\1\0\14\3\1\35\3\3\1\35\5\3" + "\2\0\2\3\3\0\2\3\1\0\2\3\1\35\10\3" + "\1\0\2\3\2\0\12\3\1\0\23\3\2\0\1\3" - + "\2\0\2\3\1\0\5\3\1\35\1\3\1\0\2\3" + "\2\0\12\3\1\0\14\3\1\35\2\3\2\0\1\3" + "\2\0\2\3\1\0\4\3\1\0\1\3\1\0\1\3" - + "\5\0\11\3\1\0\11\3\1\0\2\3\1\0\1\3" + "\2\0\1\3\1\0\2\3\1\0\1\3\5\0\10\3" + "\1\0\6\3\1\0\1\3\3\0\1\3\1\0\1\3" - + "\1\0\1\3\5\0\5\3\1\0\3\3\1\35\1\3" + "\1\0\1\35\4\0\1\3\1\0\1\3\1\0\1\3" + "\4\0\3\3\1\0\3\3\1\0\1\35\4\0\1\3" - + "\1\0\1\3\4\0\2\3\1\0\2\3\6\0\1\3" + "\1\0\1\3\4\0\1\3\7\0\1\3\1\0\1\3" + "\30\0\1\35\37\0"; - + private static final String ZZ_ACTION_PACKED_0 = "\4\0\2\1\1\0\1\2\1\3\2\4\1\3\1\5" + + "\1\3\1\6\2\3\1\2\1\7\1\10\2\11\5\3" + "\1\11\7\3\1\11\1\12\1\3\6\11\13\3\1\13" + + "\16\3\2\1\1\14\5\1\1\15\10\1\1\16\3\1" + "\1\17\2\1\1\20\2\1\1\21\1\22\1\23\1\24" + + "\1\25\1\2\2\26\1\27\1\4\1\26\1\27\2\26" + "\1\30\2\26\5\3\1\5\1\31\1\5\1\0\1\3" + + "\1\0\7\3\2\0\1\32\1\33\1\11\37\3\1\34" + "\12\3\2\0\1\11\3\3\1\34\7\3\3\34\1\35" + + "\22\3\1\13\57\3\2\0\1\36\4\0\1\37\2\0" + "\1\40\22\0\1\17\1\0\1\41\2\0\1\21\1\23" + + "\1\2\1\4\1\27\1\0\2\30\1\4\1\30\10\3" + "\1\31\1\42\1\5\1\43\1\5\1\0\1\35\1\3" + + "\1\44\5\3\1\45\1\46\65\3\1\34\13\3\1\47" + "\30\3\1\2\54\3\1\35\24\3\37\0\1\50\2\0" + + "\1\51\1\2\2\26\12\3\1\43\1\5\1\0\4\3" + "\1\35\1\52\1\35\3\3\1\35\5\3\1\35\2\3" + + "\1\47\4\3\2\35\6\3\1\53\5\3\1\35\54\3" + "\1\2\56\3\1\0\31\3\2\0\1\54\2\0\1\55" + + "\15\0\1\56\12\0\1\57\1\0\1\41\1\2\2\3" + "\1\35\11\3\1\5\1\0\1\34\42\3\1\34\20\3" + + "\1\35\24\3\1\2\11\3\1\35\31\3\1\35\11\3" + "\1\0\31\3\36\0\1\2\15\3\1\5\1\0\4\3" + + "\1\35\5\3\1\35\27\3\1\60\31\3\1\35\1\2" + "\11\3\1\35\30\3\1\35\13\3\1\0\2\3\1\35" + + "\10\3\1\35\12\3\23\0\14\3\1\0\2\3\1\0" + "\3\3\1\0\45\3\1\35\2\3\1\2\43\3\1\0" + + "\14\3\1\0\23\3\1\35\6\3\5\0\1\56\4\0" + "\1\35\14\3\4\0\3\3\2\0\102\3\2\0\11\3" + + "\1\0\20\3\1\35\12\3\12\0\4\3\1\35\6\3" + "\4\0\3\3\1\0\3\3\1\35\10\3\1\35\11\3" + + "\1\35\47\3\2\0\10\3\1\35\27\3\5\0\4\3" + "\1\0\2\3\1\35\2\3\4\0\1\3\1\0\3\3" + + "\1\0\57\3\2\0\32\3\5\0\3\3\2\0\3\3" + "\4\0\3\3\1\0\1\35\14\3\1\35\10\3\1\35" + + "\5\3\1\35\12\3\2\0\15\3\1\35\5\3\2\0" + "\2\3\2\0\3\3\4\0\3\3\1\0\10\3\1\35" + + "\3\3\1\0\1\3\1\35\2\3\1\35\2\3\1\0" + "\1\35\15\3\1\0\14\3\1\35\3\3\1\35\5\3" + + "\2\0\2\3\3\0\2\3\1\0\2\3\1\35\10\3" + "\1\0\2\3\2\0\12\3\1\0\23\3\2\0\1\3" + + "\2\0\2\3\1\0\5\3\1\35\1\3\1\0\2\3" + "\2\0\12\3\1\0\14\3\1\35\2\3\2\0\1\3" + + "\2\0\2\3\1\0\4\3\1\0\1\3\1\0\1\3" + "\5\0\11\3\1\0\11\3\1\0\2\3\1\0\1\3" + + "\2\0\1\3\1\0\2\3\1\0\1\3\5\0\10\3" + "\1\0\6\3\1\0\1\3\3\0\1\3\1\0\1\3" + + "\1\0\1\3\5\0\5\3\1\0\3\3\1\35\1\3" + "\1\0\1\35\4\0\1\3\1\0\1\3\1\0\1\3" + + "\4\0\3\3\1\0\3\3\1\0\1\35\4\0\1\3" + "\1\0\1\3\4\0\2\3\1\0\2\3\6\0\1\3" + + "\1\0\1\3\4\0\1\3\7\0\1\3\1\0\1\3" + "\30\0\1\35\37\0"; + private static int[] zzUnpackAction() { int[] result = new int[2058]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -124,7 +134,7 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -386,14 +396,14 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { + "\2\u99d4\2\u9a2a\2\u9a80\2\u9ad6\2\u9b2c\2\u9b82\2\u9bd8\2\u9c2e" + "\2\u9c84\2\u9cda\2\u9d30\2\u9d86\2\u9ddc\2\u9e32\2\u9e88\2\u9ede" + "\2\u9f34\2\u9f8a\2\u9fe0\2\ua036\2\ua08c\2\ua0e2\2\ua138\2\ua18e" + "\2\ua1e4\2\ua23a"; - + private static int[] zzUnpackRowMap() { int[] result = new int[2058]; 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 */ @@ -404,547 +414,568 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\10\2\11\1\12\1\13\1\12\1\14\1\12\1\15" + "\1\16\1\10\1\17\1\20\1\21\1\22\1\10\1\11" - + "\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\11" + "\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41" - + "\1\42\1\43\1\44\1\45\1\46\1\47\1\50\1\51" + "\1\26\1\52\1\26\1\53\1\54\1\53\1\55\1\11" - + "\1\56\1\57\1\60\1\11\1\61\1\62\1\63\1\64" + "\1\65\1\66\1\11\1\67\1\11\2\45\1\70\1\11" - + "\1\71\1\72\1\11\1\73\1\74\1\75\1\76\1\77" + "\1\100\1\101\1\102\1\11\1\103\1\104\1\105\1\106" - + "\2\12\2\11\15\107\1\110\3\107\1\111\2\107\1\112" + "\32\107\1\113\10\107\1\114\35\107\15\115\1\116\3\115" - + "\1\117\2\115\1\120\22\115\1\121\7\115\1\122\10\115" + "\1\123\5\115\1\124\1\115\1\125\25\115\15\126\1\127" - + "\3\126\1\130\35\126\1\131\10\126\1\132\35\126\12\133" + "\1\134\1\135\4\133\1\136\1\137\104\133\10\140\1\141" + private static final String ZZ_TRANS_PACKED_0 = "\1\10\2\11\1\12\1\13\1\12\1\14\1\12\1\15" + + "\1\16\1\10\1\17\1\20\1\21\1\22\1\10\1\11" + "\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\11" + + "\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41" + "\1\42\1\43\1\44\1\45\1\46\1\47\1\50\1\51" + + "\1\26\1\52\1\26\1\53\1\54\1\53\1\55\1\11" + "\1\56\1\57\1\60\1\11\1\61\1\62\1\63\1\64" + + "\1\65\1\66\1\11\1\67\1\11\2\45\1\70\1\11" + "\1\71\1\72\1\11\1\73\1\74\1\75\1\76\1\77" + + "\1\100\1\101\1\102\1\11\1\103\1\104\1\105\1\106" + "\2\12\2\11\15\107\1\110\3\107\1\111\2\107\1\112" + + "\32\107\1\113\10\107\1\114\35\107\15\115\1\116\3\115" + + "\1\117\2\115\1\120\22\115\1\121\7\115\1\122\10\115" + + "\1\123\5\115\1\124\1\115\1\125\25\115\15\126\1\127" + + "\3\126\1\130\35\126\1\131\10\126\1\132\35\126\12\133" + + "\1\134\1\135\4\133\1\136\1\137\104\133\10\140\1\141" + "\1\140\1\142\6\140\1\143\104\140\12\133\1\144\1\145" + "\4\133\1\136\1\146\104\133\10\10\1\0\2\10\1\0" - + "\2\10\1\0\2\10\4\0\6\10\2\0\6\10\14\0" + "\17\10\2\0\27\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\2\150\1\151\3\12" + "\1\150\1\12\1\0\2\150\1\0\1\150\1\152\1\0" - + "\2\150\4\0\1\153\3\150\1\152\1\154\1\0\1\155" + "\2\150\1\154\1\150\1\153\1\150\14\0\2\150\1\152" - + "\5\150\1\152\6\150\2\0\22\150\2\12\4\150\1\156" + "\1\157\2\160\1\150\1\160\1\0\2\150\1\0\1\150" - + "\1\152\1\0\2\150\4\0\1\153\2\161\1\162\1\152" + "\1\154\1\0\1\155\2\150\1\154\1\150\1\153\1\150" - + "\14\0\2\150\1\152\2\150\1\162\2\150\1\152\6\150" + "\2\0\22\150\2\160\2\150\1\10\7\11\1\0\1\163" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\3\11\1\164\1\165\1\11\14\0\1\166\1\167" - + "\15\11\2\0\1\10\25\11\10\170\1\171\1\170\1\172" + "\6\170\1\173\104\170\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\5\11\1\174\14\0\17\11\2\0\1\10\25\11\13\0" - + "\1\175\112\0\1\10\7\11\1\0\1\176\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\177\1\200\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\3\11\1\201\1\202" + "\1\11\14\0\1\11\1\203\4\11\1\204\10\11\2\0" - + "\1\10\25\11\150\0\1\24\103\0\12\205\1\206\10\205" + "\1\207\1\210\23\205\1\211\55\205\50\0\1\53\55\0" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" - + "\1\212\4\11\1\213\10\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\214\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\3\11\1\215\2\11\14\0" + "\1\11\1\216\4\11\1\217\5\11\1\220\2\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" - + "\1\221\4\11\14\0\1\11\1\222\12\11\1\223\2\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\224\1\11\14\0\1\11\1\225\4\11\1\226" - + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\1\227\1\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\11\1\230\4\11\14\0\5\11\1\231" + "\1\11\1\232\2\11\1\233\4\11\2\0\1\10\13\11" - + "\1\234\11\11\33\0\1\53\14\0\1\53\60\0\3\155" + "\1\0\1\155\112\0\2\155\2\0\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\11\1\235\1\236\3\11\14\0\1\237" - + "\1\240\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\241\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\1\242\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\243\1\244\1\11\14\0\5\11\1\245\4\11" - + "\1\246\4\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\247\1\11\1\0\1\10\1\11" - + "\4\0\2\11\1\250\3\11\2\0\5\11\1\251\14\0" + "\2\11\1\252\14\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\11\1\253\15\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\254\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\255\1\11\1\256\1\11\1\257\1\11\14\0\1\260" + "\2\11\1\261\5\11\1\262\2\11\1\263\2\11\2\0" - + "\1\10\25\11\23\0\1\264\150\0\1\53\1\0\1\53" + "\124\0\1\265\1\53\120\0\1\53\4\0\1\53\125\0" - + "\1\53\1\0\1\266\123\0\1\53\4\0\1\53\50\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\3\11\1\267\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\270\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\271\3\11\14\0\1\11\1\272" - + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\273" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\11\1\274\1\11\1\275\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\276\1\277\1\11\14\0\1\300\1\301\15\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\1\302\1\303\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\304\4\11\1\305\14\0\2\11\1\306\4\11" + "\1\307\7\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\310\3\11\14\0\6\11\1\311" - + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\312" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\2\11\1\313\1\314\2\11\14\0\1\11\1\315" + "\4\11\1\316\10\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\317\5\11\1\320" - + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\1\11\1\321\15\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\322" + "\1\323\3\11\14\0\1\11\1\324\15\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\325\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\326" - + "\1\327\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\2\330\3\10\1\330\1\10\1\0\1\330\1\10\1\0" - + "\2\330\1\0\1\10\1\330\4\0\6\330\2\0\6\330" + "\14\0\17\330\2\0\1\10\21\330\2\10\2\330\1\10" - + "\7\11\1\0\1\331\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\2\11\1\332\3\11\2\0\1\11\1\333" - + "\3\11\1\334\14\0\3\11\1\335\13\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\336\1\11" + "\1\337\3\11\14\0\1\340\1\341\1\11\1\342\1\343" - + "\1\11\1\344\5\11\1\345\2\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\346\1\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\347\3\11" + "\1\350\1\11\14\0\2\11\1\351\14\11\2\0\1\10" - + "\13\11\1\352\11\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\11\1\353\4\11\14\0\1\354\1\355\4\11\1\356" + "\5\11\1\357\2\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\1\360\1\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\5\11\1\361\1\362\16\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\3\11\1\363\2\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\364\3\11\14\0\1\11\1\365\4\11\1\366\10\11" + + "\2\10\1\0\2\10\4\0\6\10\2\0\6\10\14\0" + "\17\10\2\0\27\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\2\150\1\151\3\12" + + "\1\150\1\12\1\0\2\150\1\0\1\150\1\152\1\0" + "\2\150\4\0\1\153\3\150\1\152\1\154\1\0\1\155" + + "\2\150\1\154\1\150\1\153\1\150\14\0\2\150\1\152" + "\5\150\1\152\6\150\2\0\22\150\2\12\4\150\1\156" + + "\1\157\2\160\1\150\1\160\1\0\2\150\1\0\1\150" + "\1\152\1\0\2\150\4\0\1\153\2\161\1\162\1\152" + + "\1\154\1\0\1\155\2\150\1\154\1\150\1\153\1\150" + "\14\0\2\150\1\152\2\150\1\162\2\150\1\152\6\150" + + "\2\0\22\150\2\160\2\150\1\10\7\11\1\0\1\163" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\3\11\1\164\1\165\1\11\14\0\1\166\1\167" + "\15\11\2\0\1\10\25\11\10\170\1\171\1\170\1\172" + + "\6\170\1\173\104\170\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\5\11\1\174\14\0\17\11\2\0\1\10\25\11\13\0" + "\1\175\112\0\1\10\7\11\1\0\1\176\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\177\1\200\2\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\201\1\202" + + "\1\11\14\0\1\11\1\203\4\11\1\204\10\11\2\0" + "\1\10\25\11\150\0\1\24\103\0\12\205\1\206\10\205" + + "\1\207\1\210\23\205\1\211\55\205\50\0\1\53\55\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\212\4\11\1\213\10\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\214\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\215\2\11\14\0" + + "\1\11\1\216\4\11\1\217\5\11\1\220\2\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\221\4\11\14\0\1\11\1\222\12\11\1\223\2\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\3\11\1\367\2\11\14\0\6\11\1\370\10\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\371\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\372\1\373\2\11\14\0\1\11\1\374\15\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\375\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\2\11\1\376\3\11" - + "\2\0\6\11\14\0\3\11\1\377\13\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\u0100\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u0101" + "\1\11\1\u0102\2\11\14\0\6\11\1\u0103\10\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" - + "\1\u0104\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\11\1\u0105\1\u0106\3\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\u0107\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" - + "\15\107\1\0\3\107\1\0\2\107\1\0\32\107\1\0" + "\10\107\1\0\35\107\35\0\1\u0108\27\0\1\u0109\63\0" + + "\4\11\1\224\1\11\14\0\1\11\1\225\4\11\1\226" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\1\227\1\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\11\1\230\4\11\14\0\5\11\1\231" + + "\1\11\1\232\2\11\1\233\4\11\2\0\1\10\13\11" + "\1\234\11\11\33\0\1\53\14\0\1\53\60\0\3\155" + + "\1\0\1\155\112\0\2\155\2\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\1\11\1\235\1\236\3\11\14\0\1\237" + "\1\240\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\241\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\242\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\3\11\1\243\1\244\1\11\14\0\5\11\1\245\4\11" + "\1\246\4\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\1\247\1\11\1\0\1\10\1\11" + "\4\0\2\11\1\250\3\11\2\0\5\11\1\251\14\0" + + "\2\11\1\252\14\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\1\11\1\253\15\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\254\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\255\1\11\1\256\1\11\1\257\1\11\14\0\1\260" + + "\2\11\1\261\5\11\1\262\2\11\1\263\2\11\2\0" + "\1\10\25\11\23\0\1\264\150\0\1\53\1\0\1\53" + + "\124\0\1\265\1\53\120\0\1\53\4\0\1\53\125\0" + "\1\53\1\0\1\266\123\0\1\53\4\0\1\53\50\0" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\267\2\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\270\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\2\11\1\271\3\11\14\0\1\11\1\272" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\273" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\11\1\274\1\11\1\275\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\3\11\1\276\1\277\1\11\14\0\1\300\1\301\15\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\1\302\1\303\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\304\4\11\1\305\14\0\2\11\1\306\4\11" + + "\1\307\7\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\2\11\1\310\3\11\14\0\6\11\1\311" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\312" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\313\1\314\2\11\14\0\1\11\1\315" + + "\4\11\1\316\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\1\317\5\11\1\320" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\1\11\1\321\15\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\322" + + "\1\323\3\11\14\0\1\11\1\324\15\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\325\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\326" + "\1\327\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\2\330\3\10\1\330\1\10\1\0\1\330\1\10\1\0" + "\2\330\1\0\1\10\1\330\4\0\6\330\2\0\6\330" + + "\14\0\17\330\2\0\1\10\21\330\2\10\2\330\1\10" + "\7\11\1\0\1\331\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\2\11\1\332\3\11\2\0\1\11\1\333" + "\3\11\1\334\14\0\3\11\1\335\13\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\336\1\11" + + "\1\337\3\11\14\0\1\340\1\341\1\11\1\342\1\343" + "\1\11\1\344\5\11\1\345\2\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\1\346\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\347\3\11" + + "\1\350\1\11\14\0\2\11\1\351\14\11\2\0\1\10" + "\13\11\1\352\11\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\11\1\353\4\11\14\0\1\354\1\355\4\11\1\356" + + "\5\11\1\357\2\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\1\360\1\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\5\11\1\361\1\362\16\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\363\2\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + + "\1\364\3\11\14\0\1\11\1\365\4\11\1\366\10\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\367\2\11\14\0\6\11\1\370\10\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\371\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + + "\1\372\1\373\2\11\14\0\1\11\1\374\15\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\375\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\2\11\1\376\3\11" + "\2\0\6\11\14\0\3\11\1\377\13\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\u0100\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u0101" + + "\1\11\1\u0102\2\11\14\0\6\11\1\u0103\10\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u0104\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u0105\1\u0106\3\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\u0107\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\15\107\1\0\3\107\1\0\2\107\1\0\32\107\1\0" + + "\10\107\1\0\35\107\35\0\1\u0108\27\0\1\u0109\63\0" + "\1\u010a\137\0\1\u010b\160\0\1\u010c\35\0\15\115\1\0" + "\3\115\1\0\2\115\1\0\22\115\1\0\7\115\1\0" + "\10\115\1\0\5\115\1\0\1\115\1\0\25\115\35\0" + "\1\u010d\27\0\1\u010e\63\0\1\u010f\103\0\1\u0110\4\0" + "\1\u0110\2\0\1\u0110\2\0\2\u0110\5\0\1\u0111\1\0" + "\6\u0110\2\0\6\u0110\7\0\1\u0112\4\0\17\u0110\3\0" - + "\21\u0110\2\0\2\u0110\35\0\1\u0113\160\0\1\u0114\135\0" + "\1\u0115\62\0\1\u0116\1\u0117\1\u0118\1\u0119\1\0\1\u011a" + + "\21\u0110\2\0\2\u0110\35\0\1\u0113\160\0\1\u0114\135\0" + + "\1\u0115\62\0\1\u0116\1\u0117\1\u0118\1\u0119\1\0\1\u011a" + "\15\0\1\u011b\1\u011c\1\u011d\1\u011e\1\0\1\u011f\3\0" + "\1\u0120\34\0\15\126\1\0\3\126\1\0\35\126\1\0" + "\10\126\1\0\35\126\35\0\1\u0121\27\0\1\u0122\75\0" + "\1\u0123\160\0\1\u0124\35\0\12\133\2\0\4\133\2\0" - + "\104\133\21\u0125\1\0\104\u0125\13\0\1\u0126\113\0\2\u0127" + "\3\0\1\u0127\2\0\1\u0127\2\0\2\u0127\2\0\1\u0127" - + "\4\0\6\u0127\2\0\6\u0127\14\0\17\u0127\1\u0128\2\0" + "\21\u0127\2\0\2\u0127\10\140\1\0\1\140\1\0\6\140" - + "\1\0\104\140\10\0\1\u0129\115\0\21\u012a\1\0\104\u012a" + "\21\u012b\1\0\104\u012b\10\10\1\0\1\u012c\1\10\1\0" - + "\2\10\1\0\2\10\4\0\6\10\2\0\6\10\14\0" + "\17\10\2\0\26\10\10\150\1\0\2\150\1\0\2\150" - + "\1\0\2\150\4\0\6\150\2\0\6\150\14\0\17\150" + "\2\0\30\150\1\151\3\u012d\1\150\1\u012d\1\0\2\150" - + "\1\0\2\150\1\0\2\150\4\0\6\150\2\0\6\150" + "\14\0\17\150\2\0\22\150\2\u012d\5\150\3\u012e\1\150" - + "\1\u012e\1\0\2\150\1\0\2\150\1\0\2\150\4\0" + "\6\150\1\u012f\1\0\6\150\3\0\1\u012f\10\0\17\150" - + "\2\0\22\150\2\u012e\5\150\3\155\1\150\1\155\1\0" + "\2\150\1\0\1\150\1\152\1\0\2\150\4\0\4\150" - + "\1\152\1\154\2\0\2\150\1\154\3\150\14\0\2\150" + "\1\152\5\150\1\152\6\150\2\0\22\150\2\155\4\150" - + "\1\156\1\150\2\u0130\1\150\1\u0130\1\0\2\150\1\0" + "\2\150\1\0\2\150\4\0\6\150\2\0\6\150\14\0" - + "\17\150\2\0\22\150\2\u0130\5\150\3\157\1\150\1\157" + "\1\0\2\150\1\0\1\150\1\152\1\0\2\150\4\0" - + "\4\150\1\152\1\154\1\0\1\155\2\150\1\154\3\150" + "\14\0\2\150\1\152\5\150\1\152\6\150\2\0\22\150" - + "\2\157\4\150\1\156\1\157\2\160\1\150\1\160\1\0" + "\2\150\1\0\1\150\1\152\1\0\2\150\4\0\1\u0131" - + "\3\150\1\152\1\154\1\0\1\155\2\150\1\154\1\150" + "\1\u0131\1\150\14\0\2\150\1\152\5\150\1\152\6\150" - + "\2\0\22\150\2\160\6\150\2\u0132\2\150\1\0\2\150" + "\1\0\2\150\1\0\2\150\4\0\6\150\2\0\6\150" - + "\14\0\17\150\2\0\31\150\5\u0133\1\0\2\150\1\0" + "\1\150\1\u0133\1\0\2\150\4\0\1\150\2\u0133\1\150" - + "\2\u0133\2\0\2\150\2\u0133\2\150\14\0\2\150\1\u0133" + "\1\150\1\u0133\3\150\1\u0133\6\150\2\0\2\150\1\u0133" - + "\17\150\2\u0133\2\150\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\11\1\u0134\4\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\4\11\1\u0135\1\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u0136\2\11\14\0\1\11\1\u0137" - + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\3\11\1\u0138\2\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u0139" - + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\4\11" + "\1\u013a\1\11\14\0\7\11\1\u013b\7\11\2\0\1\10" - + "\25\11\10\170\1\u013c\1\170\1\172\6\170\1\173\104\170" + "\10\0\1\u013d\115\0\4\u013e\2\170\1\u013e\1\170\1\u013f" - + "\1\u0140\4\170\3\u013e\1\0\5\u013e\1\170\5\u013e\2\170" + "\63\u013e\2\170\2\u013e\10\173\1\u013c\1\173\1\u0141\113\173" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0142\3\11" - + "\14\0\6\11\1\u0143\10\11\2\0\1\10\25\11\13\0" + "\1\u0144\112\0\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\4\11" + "\1\u0145\1\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\11\11\1\303" - + "\5\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\u0146\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\4\11\1\u0147\1\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\1\11\1\u0148\15\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" - + "\1\303\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u0149\1\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\12\205\1\206\10\205\1\u014a\123\205" - + "\1\0\104\205\24\0\1\u014b\101\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\u014c\1\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\4\11\1\u014d\12\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\1\u014e\1\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\5\11\1\u014f\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\1\11\1\u0150" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\5\11\1\u0151\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u0152\15\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u0153\5\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0154\5\11" + + "\104\133\21\u0125\1\0\104\u0125\13\0\1\u0126\113\0\2\u0127" + + "\3\0\1\u0127\2\0\1\u0127\2\0\2\u0127\2\0\1\u0127" + "\4\0\6\u0127\2\0\6\u0127\14\0\17\u0127\1\u0128\2\0" + + "\21\u0127\2\0\2\u0127\10\140\1\0\1\140\1\0\6\140" + + "\1\0\104\140\10\0\1\u0129\115\0\21\u012a\1\0\104\u012a" + + "\21\u012b\1\0\104\u012b\10\10\1\0\1\u012c\1\10\1\0" + "\2\10\1\0\2\10\4\0\6\10\2\0\6\10\14\0" + + "\17\10\2\0\26\10\10\150\1\0\2\150\1\0\2\150" + "\1\0\2\150\4\0\6\150\2\0\6\150\14\0\17\150" + + "\2\0\30\150\1\151\3\u012d\1\150\1\u012d\1\0\2\150" + "\1\0\2\150\1\0\2\150\4\0\6\150\2\0\6\150" + + "\14\0\17\150\2\0\22\150\2\u012d\5\150\3\u012e\1\150" + "\1\u012e\1\0\2\150\1\0\2\150\1\0\2\150\4\0" + + "\6\150\1\u012f\1\0\6\150\3\0\1\u012f\10\0\17\150" + "\2\0\22\150\2\u012e\5\150\3\155\1\150\1\155\1\0" + + "\2\150\1\0\1\150\1\152\1\0\2\150\4\0\4\150" + "\1\152\1\154\2\0\2\150\1\154\3\150\14\0\2\150" + + "\1\152\5\150\1\152\6\150\2\0\22\150\2\155\4\150" + "\1\156\1\150\2\u0130\1\150\1\u0130\1\0\2\150\1\0" + + "\2\150\1\0\2\150\4\0\6\150\2\0\6\150\14\0" + "\17\150\2\0\22\150\2\u0130\5\150\3\157\1\150\1\157" + + "\1\0\2\150\1\0\1\150\1\152\1\0\2\150\4\0" + "\4\150\1\152\1\154\1\0\1\155\2\150\1\154\3\150" + + "\14\0\2\150\1\152\5\150\1\152\6\150\2\0\22\150" + "\2\157\4\150\1\156\1\157\2\160\1\150\1\160\1\0" + + "\2\150\1\0\1\150\1\152\1\0\2\150\4\0\1\u0131" + "\3\150\1\152\1\154\1\0\1\155\2\150\1\154\1\150" + + "\1\u0131\1\150\14\0\2\150\1\152\5\150\1\152\6\150" + "\2\0\22\150\2\160\6\150\2\u0132\2\150\1\0\2\150" + + "\1\0\2\150\1\0\2\150\4\0\6\150\2\0\6\150" + "\14\0\17\150\2\0\31\150\5\u0133\1\0\2\150\1\0" + + "\1\150\1\u0133\1\0\2\150\4\0\1\150\2\u0133\1\150" + "\2\u0133\2\0\2\150\2\u0133\2\150\14\0\2\150\1\u0133" + + "\1\150\1\u0133\3\150\1\u0133\6\150\2\0\2\150\1\u0133" + "\17\150\2\u0133\2\150\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\11\1\u0134\4\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\4\11\1\u0135\1\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u0155\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\1\11\1\u0156\15\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u0157\5\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u0158\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\1\11\1\u0159\15\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u015a\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\u015b\1\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\u015c\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\6\11\2\0\3\11\1\u0136\2\11\14\0\1\11\1\u0137" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\3\11\1\u0138\2\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u0139" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\4\11" + + "\1\u013a\1\11\14\0\7\11\1\u013b\7\11\2\0\1\10" + "\25\11\10\170\1\u013c\1\170\1\172\6\170\1\173\104\170" + + "\10\0\1\u013d\115\0\4\u013e\2\170\1\u013e\1\170\1\u013f" + + "\1\u0140\4\170\3\u013e\1\0\5\u013e\1\170\5\u013e\2\170" + + "\63\u013e\2\170\2\u013e\10\173\1\u013c\1\173\1\u0141\113\173" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0142\3\11" + "\14\0\6\11\1\u0143\10\11\2\0\1\10\25\11\13\0" + + "\1\u0144\112\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\4\11" + + "\1\u0145\1\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\11\11\1\303" + "\5\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u0146\5\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\4\11\1\u0147\1\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\11\1\u015d\4\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u015e" + "\5\11\14\0\4\11\1\u015f\12\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\3\11" - + "\1\u0160\13\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u0161\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\4\11\1\u0162\1\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\u0163\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u0164\2\11\14\0" - + "\14\11\1\303\2\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\5\11\1\u0165\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u0166\4\11\14\0\6\11\1\u0167\10\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\17\11\2\0\1\10\2\11\1\u0168\22\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\u0169\4\11\1\u016a\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u016b\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\4\11\1\u016c\12\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\5\11\1\u016d\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\u016e\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u016f\3\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\14\11" - + "\1\u0142\2\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\5\11\1\u0170\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\1\11\1\u0171\4\11\2\0" + "\5\11\1\u0172\14\0\17\11\2\0\1\10\5\11\1\u0173" - + "\17\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\2\11\1\u0174\14\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\1\u0175\1\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\3\11\1\u0176\13\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u0177\1\11\1\u0178" - + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\u0179\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\322\3\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u017a" - + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\11\1\u017b\2\11\1\u017c\1\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u017d\10\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u017e\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\17\11\2\0\1\10\25\11\12\205\1\206\10\205\2\0" + "\101\205\50\0\1\53\1\0\1\26\53\0\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\5\11\1\u017f\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\7\11\1\u0180\7\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\11\1\u0181\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u0182\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\2\11\1\u0183\3\11\2\0\1\u0184\5\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\1\11\1\u0185\4\11\1\u0186\10\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\4\11\1\u0187\12\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u0188\4\11\1\u016d" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\3\11\1\u0189\2\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u018a\2\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\1\u018b\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\4\11\1\u018c\1\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\u018d\4\11\1\u018e\14\0\12\11\1\u018f" + "\4\11\2\0\1\10\14\11\1\u0190\10\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u0191\3\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\5\11\1\u0192\1\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0193\3\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\3\11\1\u0194\13\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0195" - + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\5\11\1\u0196\11\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\3\11\1\u0197\13\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\3\11\1\u0198\21\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\u0199\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\u019a\1\147\1\0\2\11" + + "\6\11\2\0\6\11\14\0\1\11\1\u0148\15\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\303\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\1\u0149\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + + "\2\0\1\10\25\11\12\205\1\206\10\205\1\u014a\123\205" + "\1\0\104\205\24\0\1\u014b\101\0\1\10\7\11\1\0" + + "\1\11\1\147\1\0\1\u014c\1\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\4\11\1\u014d\12\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\1\u014e\1\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\5\11\1\u014f\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\11\1\u0150" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\4\11\1\u019b\12\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\6\11\1\u019c\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\u019d\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\4\11" + "\1\u019e\1\11\14\0\6\11\1\u019f\10\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u0180" - + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\u01a0\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u01a1" + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\1\u01a2\1\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" - + "\1\u01a3\1\11\1\u01a4\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u01a5\1\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\330\1\0\1\330" - + "\1\u01a6\1\0\2\330\1\0\1\10\1\330\4\0\6\330" + "\2\0\6\330\14\0\17\330\2\0\1\10\25\330\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u01a7\5\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\5\11\1\u01a8\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\11\1\u01a9\4\11\14\0" + "\6\11\1\u01aa\10\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\5\11\1\u01ab\14\0\17\11\2\0" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\5\11\1\u0151\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + + "\1\u0152\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\1\u0153\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0154\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u0155\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\3\11\1\u01ac\13\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\11\1\u01ad\1\11\1\u01ae" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u0142\1\u01af\4\11\14\0\4\11" - + "\1\u01b0\12\11\2\0\1\10\3\11\1\u01b1\21\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u01b2" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\11\1\u01b3\4\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u01b4" - + "\1\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u01b5\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\7\11\1\u01b6\7\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u01b7\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u01b8" + + "\14\0\1\11\1\u0156\15\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\u0157\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u0158\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\1\11\1\u0159\15\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u015a\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\u01b9\4\11\1\u01ba\14\0\1\u01bb\1\11" + "\1\u01bc\1\u01bd\1\u01be\5\11\1\u01bf\4\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u01c0" - + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\4\11\1\u01c1\1\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u01c2\3\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\5\11\1\u01c3\2\0\6\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\2\11\1\u01c4\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u01c5" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u01c6\15\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\7\11\1\u01c7\7\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\3\11" + "\1\u01c8\13\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\5\11\1\u01c9\14\0\4\11\1\u01ca\11\11" - + "\1\u01cb\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\4\11" - + "\1\u01cc\1\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\4\11\1\u01cd\20\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\5\11\1\u01ce\14\0\17\11\2\0" + + "\6\11\2\0\4\11\1\u015b\1\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\u015c\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\11\1\u015d\4\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u015e" + + "\5\11\14\0\4\11\1\u015f\12\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\3\11" + "\1\u0160\13\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u0161\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\4\11\1\u0162\1\11" + + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\u0163\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\3\11\1\u0164\2\11\14\0" + "\14\11\1\303\2\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\5\11\1\u0165\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" - + "\1\u01cf\4\11\14\0\4\11\1\u01d0\12\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u01d1\10\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u01d2\4\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\u019d\5\11\14\0\3\11\1\u01d3\13\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u01d4" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\u01d5\1\11\14\0\7\11\1\u01d6" - + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\13\11\1\u01d7\3\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\12\11\1\u01d8\4\11\2\0\1\10\25\11\1\10\5\11" - + "\1\u01d9\1\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u01da\5\11\14\0" - + "\17\11\2\0\1\10\2\11\1\u01db\22\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\u01dc\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + "\1\u01dd\14\0\17\11\2\0\1\10\14\11\1\u01de\10\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u01df\5\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\5\11\1\u01e0\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u01e1\4\11\1\u01e2\10\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\4\11\1\u01e3" - + "\12\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\3\11\1\u01e4\13\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u01e5" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u01e6\10\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\3\11\1\u01e7\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0198\3\11" + "\14\0\17\11\2\0\1\10\25\11\62\0\1\u01e8\104\0" - + "\1\u01e9\121\0\1\u01ea\160\0\1\u01eb\117\0\1\u01ec\104\0" + "\1\u01ed\64\0\52\u0110\1\u0112\53\u0110\1\0\1\u0110\4\0" - + "\1\u0110\2\0\1\u0110\2\0\2\u0110\7\0\6\u0110\2\0" + "\6\u0110\7\0\1\u0112\4\0\17\u0110\3\0\21\u0110\2\0" - + "\2\u0110\35\0\1\u01ee\160\0\1\u01ef\76\0\1\u01f0\17\0" + "\1\u01f1\1\0\1\u01f2\1\0\1\u01f3\3\0\1\u01f4\45\0" - + "\1\u01f5\45\0\1\u01f6\1\u01f7\104\0\1\u01f8\152\0\1\u01f9" + "\52\0\1\u01fa\153\0\1\u01fb\25\0\1\u01fc\67\0\1\u01fd" - + "\135\0\1\u01fe\126\0\1\u01ff\125\0\1\u0200\101\0\1\u0201" + "\150\0\1\u0202\150\0\1\u0203\104\0\1\u0204\121\0\1\u0205" - + "\160\0\1\u0206\50\0\1\u0207\113\0\7\u0127\1\0\1\u0127" + "\1\u0208\1\0\2\u0127\2\0\1\u0127\4\0\6\u0127\2\0" - + "\6\u0127\14\0\17\u0127\3\0\25\u0127\77\u0209\1\0\26\u0209" + "\10\0\1\u020a\115\0\3\10\5\u020b\1\0\2\10\1\0" - + "\1\10\1\u020b\1\0\2\10\4\0\1\10\2\u020b\1\10" + "\2\u020b\2\0\2\10\2\u020b\2\10\14\0\2\10\1\u020b" - + "\1\10\1\u020b\3\10\1\u020b\6\10\2\0\2\10\1\u020b" + "\17\10\2\u020b\2\10\2\150\1\151\3\u012d\1\150\1\u012d" - + "\1\0\2\150\1\0\2\150\1\0\2\150\4\0\1\153" + "\5\150\2\0\4\150\1\153\1\150\14\0\17\150\2\0" - + "\22\150\2\u012d\5\150\3\u012e\1\150\1\u012e\1\0\2\150" + "\1\0\1\150\1\152\1\0\2\150\4\0\4\150\1\152" - + "\1\150\2\0\6\150\14\0\2\150\1\152\5\150\1\152" + "\6\150\2\0\22\150\2\u012e\2\150\3\0\3\u012e\1\0" - + "\1\u012e\112\0\2\u012e\2\0\2\150\1\156\1\150\2\u0130" + "\1\150\1\u0130\1\0\2\150\1\0\2\150\1\0\2\150" - + "\4\0\1\u0131\5\150\2\0\4\150\1\u0131\1\150\14\0" + "\17\150\2\0\22\150\2\u0130\4\150\1\u020c\1\150\2\u0132" - + "\2\150\1\0\2\150\1\0\2\150\1\0\2\150\4\0" + "\6\150\2\0\6\150\14\0\17\150\2\0\30\150\1\u020d" - + "\5\u0133\1\0\2\150\1\0\1\150\1\u0133\1\0\2\150" + "\4\0\1\u0131\2\u0133\1\150\2\u0133\2\0\2\150\2\u0133" - + "\1\u0131\1\150\14\0\2\150\1\u0133\1\150\1\u0133\3\150" + "\1\u0133\6\150\2\0\2\150\1\u0133\17\150\2\u0133\2\150" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u020e\4\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u020f\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + "\1\u0210\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\1\u0211\1\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\5\11\1\u0212\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\11\1\u0213\4\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u0214\14\0" + "\4\11\1\u0215\12\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\4\11\1\u0216\1\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\3\11\1\u0217\13\11\2\0\1\10\25\11" + "\10\u013e\1\u0218\10\u013e\1\0\107\u013e\5\u0219\1\u0218\4\u013e" - + "\1\u0219\3\u013e\1\0\4\u013e\2\u0219\1\u013e\2\u0219\4\u013e" - + "\2\u0219\20\u013e\1\u0219\1\u013e\1\u0219\3\u013e\1\u0219\12\u013e" + "\1\u0219\17\u013e\2\u0219\2\u013e\4\0\2\173\1\0\2\173" - + "\1\u021a\4\173\11\0\1\173\5\0\2\173\63\0\2\173" + "\2\0\1\10\7\11\1\0\1\11\1\147\1\0\1\u021b" - + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\303\1\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\6\11\1\u021c\10\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\5\11\1\u0163\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\u021d\2\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u021e\2\11" - + "\14\0\2\11\1\u021f\14\11\2\0\1\10\25\11\23\0" + "\1\u0220\102\0\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\13\11\1\u0221\3\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u0222\2\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\2\11\1\u0223\3\11\14\0\16\11\1\u0224\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0225" + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\1\11\1\u0226\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\u0227\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\u0228\3\11\1\u0229\1\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\2\11" - + "\1\u022a\22\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\u022b\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\3\11\1\u022c\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u022d\1\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u022e" - + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\5\11\1\u022f\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u0230\2\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u0231" - + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\u0232\1\11\1\u0233\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\7\11\1\u0234\7\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u0235" - + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\2\11\1\u0236\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u0237" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u0238\5\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\u0239\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\u0166\4\11\14\0\6\11\1\u0167\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\2\11\1\u0168\22\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u0169\4\11\1\u016a\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u016b\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\5\11\1\u023a\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u023b\3\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\1\u023c\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + + "\4\0\6\11\2\0\6\11\14\0\4\11\1\u016c\12\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\5\11\1\u016d\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u016e\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\303\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u023d" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\5\11\1\303\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u023e\5\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\u023f" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\3\11\1\u0240" + "\13\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\7\11\1\303\7\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\1\u0241\16\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\303\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u0242\3\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\247\4\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\u0243\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u0244\15\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u0245\3\11\14\0\17\11\2\0" + + "\2\11\1\u016f\3\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\14\11" + "\1\u0142\2\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\5\11\1\u0170\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\1\11\1\u0171\4\11\2\0" + + "\5\11\1\u0172\14\0\17\11\2\0\1\10\5\11\1\u0173" + "\17\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\2\11\1\u0174\14\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\1\u0175\1\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\14\11\1\u0246\2\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\2\11\1\u0247\22\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\13\11\1\u022e\3\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\203" - + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u0248\10\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u0249\5\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\11\11\1\u024a\13\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\11\1\u021d\4\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u024b\10\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u0230\10\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\u0188\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\4\11\1\u024c" + "\12\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\15\11\1\u024d" - + "\7\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\3\11\1\u0142\13\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u024e\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\2\11\1\u024f" + "\3\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\4\11\1\u0249\1\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\1\11" + "\1\u0230\23\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0250" + "\5\11\14\0\3\11\1\u0251\13\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u0252\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\12\11\1\u0253\4\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\16\11\1\u0254\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\4\11\1\u0255\12\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\5\11\1\u0167\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\11\1\u022e\4\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\u0256\4\11\1\u0165" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\u0190\1\11\14\0\17\11\2\0" + + "\14\0\3\11\1\u0176\13\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\11\1\u0177\1\11\1\u0178" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u0179\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\u0257\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\u0258\5\11\14\0\3\11" + "\1\u0190\13\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\1\11\1\u0259\15\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\u025a\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\11\1\u025b\4\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\3\11\1\u025c\2\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u025d" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\4\11\1\u025e\1\11\14\0\1\11\1\u0245" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\3\11\1\u025f\2\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\6\11\1\u0260\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\4\11\1\u0261\1\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u0262\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u0142\1\u0263\2\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\2\11" - + "\1\u0264\3\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0265\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\u016d\1\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\1\u0142\16\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u0266\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\2\11\1\303\14\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\1\11\1\u0230\7\11\1\u0267\3\11\1\u0268" + "\7\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\1\11\1\303\15\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\1\u0269\1\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u026a\5\11\14\0\17\11" + + "\1\322\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u017a" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\11\1\u017b\2\11\1\u017c\1\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\2\11\1\u026b\14\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u026c\15\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\2\11\1\u026d\14\11\2\0" - + "\1\10\25\11\10\10\1\0\1\u026e\1\10\1\0\2\10" + "\1\0\2\10\4\0\6\10\2\0\6\10\14\0\17\10" - + "\2\0\27\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\1\11\1\u026f\15\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\u0270\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u0271\2\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u0272\5\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\2\11\1\u0273\3\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0274\3\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u0275\3\11\14\0\6\11\1\u0276" - + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\4\11\1\u0277\12\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u0278\3\11\1\u0279\4\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\u027a\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u027b\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\6\11\1\u017d\10\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u017e\1\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\12\205\1\206\10\205\2\0" + + "\101\205\50\0\1\53\1\0\1\26\53\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\5\11\1\u017f\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\7\11\1\u0180\7\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\1\11\1\u0181\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u0182\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\11\1\u0230\4\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u027c\5\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u027d" - + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\1\u027e\1\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\3\11" + "\1\u027f\13\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\4\11\1\u0280\12\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0281" - + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\2\11\1\u0282\3\11\14\0\17\11" + "\2\0\1\10\2\11\1\u0283\22\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u0284\5\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u0285" - + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\2\11\1\u0286\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u0287\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u0288\15\11" + + "\4\0\2\11\1\u0183\3\11\2\0\1\u0184\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\1\11\1\u0185\4\11\1\u0186\10\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\3\11\1\u0289\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u028a\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\1\11\1\u028b\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u028c\3\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\1\u028d\1\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\11\1\230\4\11\14\0" + "\5\11\1\u028e\11\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u028f\3\11\14\0\17\11" + + "\6\11\14\0\4\11\1\u0187\12\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\u0188\4\11\1\u016d" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u0189\2\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + + "\1\u018a\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u018b\1\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\4\11\1\u018c\1\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u018d\4\11\1\u018e\14\0\12\11\1\u018f" + + "\4\11\2\0\1\10\14\11\1\u0190\10\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\2\11\1\u0191\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\5\11\1\u0192\1\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0193\3\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\3\11\1\u0194\13\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0195" + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\5\11\1\u0196\11\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\2\11\1\u0290\3\11\14\0\1\11\1\u0291\15\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\11\11\1\u0292\13\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\2\11\1\u0293\3\11\14\0" + + "\6\11\14\0\3\11\1\u0197\13\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\3\11\1\u0198\21\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u0199\5\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\u019a\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\2\11\1\u0294\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\u0295\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u0296" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\u0297\16\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\u0298\1\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\10\11\1\u0299\6\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\10\11\1\u0142\6\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\u029a" - + "\16\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\6\11\1\u029b\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u015d\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\2\11\1\u0142\14\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u029c" - + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\1\0\1\u029d\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + "\1\u029e\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\4\11\1\u029f\1\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\2\11\1\u02a0" - + "\3\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u02a1\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\6\11\1\u02a2\10\11\2\0" + + "\2\0\6\11\14\0\4\11\1\u019b\12\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u019c\10\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u019d\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\4\11" - + "\1\u02a3\1\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\1\11\1\u02a4\1\u02a5\22\11\1\10\7\11\1\0" - + "\1\u02a6\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + + "\1\u019e\1\11\14\0\6\11\1\u019f\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u0180" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u01a0\5\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u01a1" + + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\1\u01a2\1\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u01a3\1\11\1\u01a4\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u01a5\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\330\1\0\1\330" + "\1\u01a6\1\0\2\330\1\0\1\10\1\330\4\0\6\330" + + "\2\0\6\330\14\0\17\330\2\0\1\10\25\330\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\u01a7\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\5\11\1\u01a8\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u01a9\4\11\14\0" + + "\6\11\1\u01aa\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\5\11\1\u01ab\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\3\11\1\u01ac\13\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u01ad\1\11\1\u01ae" + + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\u0142\1\u01af\4\11\14\0\4\11" + "\1\u01b0\12\11\2\0\1\10\3\11\1\u01b1\21\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u01b2" + + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\1\11\1\u01b3\4\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u01b4" + "\1\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u01b5\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\7\11\1\u01b6\7\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u01b7\1\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u01b8" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u01b9\4\11\1\u01ba\14\0\1\u01bb\1\11" + + "\1\u01bc\1\u01bd\1\u01be\5\11\1\u01bf\4\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u01c0" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\4\11\1\u01c1\1\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\2\11\1\u01c2\3\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\5\11\1\u01c3\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u01c4\3\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u01c5" + + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u01c6\15\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\7\11\1\u01c7\7\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\3\11" - + "\1\u02a7\13\11\2\0\1\10\13\11\1\u02a8\11\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\2\11\1\u02a9\3\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u02aa\3\11\14\0\17\11\2\0\1\10" + + "\1\u01c8\13\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\5\11\1\u01c9\14\0\4\11\1\u01ca\11\11" + "\1\u01cb\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\4\11" + "\1\u01cc\1\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\6\11\1\u02ab\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\1\u02ac\16\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\3\11\1\u02ad\1\u02ae\12\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u02af\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\1\11\1\u02b0\5\11\1\u02b1\7\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\16\11" + "\1\u02b2\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u02b3\3\11\14\0\17\11\2\0\1\10" + + "\17\11\2\0\1\10\4\11\1\u01cd\20\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\5\11\1\u01ce\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u01cf\4\11\14\0\4\11\1\u01d0\12\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\13\11\1\u02b4\3\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\u02b5\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\16\11\1\u02b6\2\0\1\10\25\11\56\0\1\u02b7" - + "\106\0\1\u01e8\150\0\1\u02b8\77\0\1\u02b9\147\0\1\u02ba" + "\106\0\1\u01ec\150\0\1\u02bb\77\0\1\u02bc\156\0\1\u02bd" - + "\120\0\1\u02be\125\0\1\u02bf\61\0\1\u02c0\151\0\1\u02c1" + "\122\0\1\u02c2\126\0\1\u02c3\150\0\1\u02c4\101\0\1\u02c5" - + "\130\0\1\u02c6\22\0\1\u02c7\77\0\1\u02c8\126\0\1\u02c9" + "\1\u02ca\102\0\1\u02cb\153\0\1\u02cc\145\0\1\u02cd\101\0" - + "\1\u02ce\124\0\1\u02cf\125\0\1\u02d0\23\0\1\u02d1\102\0" + "\1\u02d2\145\0\1\u02d3\106\0\1\u0203\150\0\1\u02d4\77\0" - + "\1\u02d5\102\0\1\u02d6\114\0\77\u0209\1\u02d7\26\u0209\3\10" + "\5\u02d8\1\0\2\10\1\0\1\10\1\u02d8\1\0\2\10" - + "\4\0\1\10\2\u02d8\1\10\2\u02d8\2\0\2\10\2\u02d8" + "\2\10\14\0\2\10\1\u02d8\1\10\1\u02d8\3\10\1\u02d8" - + "\6\10\2\0\2\10\1\u02d8\17\10\2\u02d8\2\10\2\150" + "\1\u020d\5\u0133\1\0\2\150\1\0\1\150\1\u0133\1\0" - + "\2\150\4\0\1\150\2\u0133\1\150\2\u0133\2\0\2\150" + "\2\u0133\2\150\14\0\2\150\1\u0133\1\150\1\u0133\3\150" + + "\6\11\1\u01d1\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\11\1\u01d2\4\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u019d\5\11\14\0\3\11\1\u01d3\13\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u01d4" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\4\11\1\u01d5\1\11\14\0\7\11\1\u01d6" + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\13\11\1\u01d7\3\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\12\11\1\u01d8\4\11\2\0\1\10\25\11\1\10\5\11" + "\1\u01d9\1\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\u01da\5\11\14\0" + "\17\11\2\0\1\10\2\11\1\u01db\22\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u01dc\5\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + + "\1\u01dd\14\0\17\11\2\0\1\10\14\11\1\u01de\10\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\u01df\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\5\11\1\u01e0\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + + "\1\u01e1\4\11\1\u01e2\10\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\4\11\1\u01e3" + "\12\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\3\11\1\u01e4\13\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u01e5" + + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u01e6\10\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\u01e7\2\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0198\3\11" + + "\14\0\17\11\2\0\1\10\25\11\62\0\1\u01e8\104\0" + + "\1\u01e9\121\0\1\u01ea\160\0\1\u01eb\117\0\1\u01ec\104\0" + + "\1\u01ed\64\0\52\u0110\1\u0112\53\u0110\1\0\1\u0110\4\0" + + "\1\u0110\2\0\1\u0110\2\0\2\u0110\7\0\6\u0110\2\0" + "\6\u0110\7\0\1\u0112\4\0\17\u0110\3\0\21\u0110\2\0" + + "\2\u0110\35\0\1\u01ee\160\0\1\u01ef\76\0\1\u01f0\17\0" + + "\1\u01f1\1\0\1\u01f2\1\0\1\u01f3\3\0\1\u01f4\45\0" + + "\1\u01f5\45\0\1\u01f6\1\u01f7\104\0\1\u01f8\152\0\1\u01f9" + + "\52\0\1\u01fa\153\0\1\u01fb\25\0\1\u01fc\67\0\1\u01fd" + + "\135\0\1\u01fe\126\0\1\u01ff\125\0\1\u0200\101\0\1\u0201" + + "\150\0\1\u0202\150\0\1\u0203\104\0\1\u0204\121\0\1\u0205" + + "\160\0\1\u0206\50\0\1\u0207\113\0\7\u0127\1\0\1\u0127" + + "\1\u0208\1\0\2\u0127\2\0\1\u0127\4\0\6\u0127\2\0" + + "\6\u0127\14\0\17\u0127\3\0\25\u0127\77\u0209\1\0\26\u0209" + + "\10\0\1\u020a\115\0\3\10\5\u020b\1\0\2\10\1\0" + "\1\10\1\u020b\1\0\2\10\4\0\1\10\2\u020b\1\10" + + "\2\u020b\2\0\2\10\2\u020b\2\10\14\0\2\10\1\u020b" + "\1\10\1\u020b\3\10\1\u020b\6\10\2\0\2\10\1\u020b" + + "\17\10\2\u020b\2\10\2\150\1\151\3\u012d\1\150\1\u012d" + "\1\0\2\150\1\0\2\150\1\0\2\150\4\0\1\153" + + "\5\150\2\0\4\150\1\153\1\150\14\0\17\150\2\0" + "\22\150\2\u012d\5\150\3\u012e\1\150\1\u012e\1\0\2\150" + + "\1\0\1\150\1\152\1\0\2\150\4\0\4\150\1\152" + "\1\150\2\0\6\150\14\0\2\150\1\152\5\150\1\152" + + "\6\150\2\0\22\150\2\u012e\2\150\3\0\3\u012e\1\0" + "\1\u012e\112\0\2\u012e\2\0\2\150\1\156\1\150\2\u0130" + + "\1\150\1\u0130\1\0\2\150\1\0\2\150\1\0\2\150" + "\4\0\1\u0131\5\150\2\0\4\150\1\u0131\1\150\14\0" + + "\17\150\2\0\22\150\2\u0130\4\150\1\u020c\1\150\2\u0132" + "\2\150\1\0\2\150\1\0\2\150\1\0\2\150\4\0" + + "\6\150\2\0\6\150\14\0\17\150\2\0\30\150\1\u020d" + "\5\u0133\1\0\2\150\1\0\1\150\1\u0133\1\0\2\150" + + "\4\0\1\u0131\2\u0133\1\150\2\u0133\2\0\2\150\2\u0133" + + "\1\u0131\1\150\14\0\2\150\1\u0133\1\150\1\u0133\3\150" + + "\1\u0133\6\150\2\0\2\150\1\u0133\17\150\2\u0133\2\150" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u020e\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u020f\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + + "\1\u0210\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\1\u0211\1\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\5\11\1\u0212\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\11\1\u0213\4\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u0214\14\0" + + "\4\11\1\u0215\12\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\4\11\1\u0216\1\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\3\11\1\u0217\13\11\2\0\1\10\25\11" + + "\10\u013e\1\u0218\10\u013e\1\0\107\u013e\5\u0219\1\u0218\4\u013e" + + "\1\u0219\3\u013e\1\0\4\u013e\2\u0219\1\u013e\2\u0219\4\u013e" + + "\2\u0219\20\u013e\1\u0219\1\u013e\1\u0219\3\u013e\1\u0219\12\u013e" + + "\1\u0219\17\u013e\2\u0219\2\u013e\4\0\2\173\1\0\2\173" + "\1\u021a\4\173\11\0\1\173\5\0\2\173\63\0\2\173" + + "\2\0\1\10\7\11\1\0\1\11\1\147\1\0\1\u021b" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\4\11\1\303\1\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\6\11\1\u021c\10\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\5\11\1\u0163\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\3\11\1\u021d\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u021e\2\11" + "\14\0\2\11\1\u021f\14\11\2\0\1\10\25\11\23\0" + + "\1\u0220\102\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\13\11\1\u0221\3\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\3\11\1\u0222\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u0223\3\11\14\0\16\11\1\u0224\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0225" + + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\1\11\1\u0226\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u0227\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u0228\3\11\1\u0229\1\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\2\11" + "\1\u022a\22\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u022b\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u022c\2\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\4\11\1\u022d\1\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u022e" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\5\11\1\u022f\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + + "\1\u0230\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u0231" + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u0232\1\11\1\u0233\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\7\11\1\u0234\7\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u0235" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u0236\3\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u0237" + + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\u0238\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\1\u0239\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\5\11\1\u023a\2\0\6\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + + "\1\u023b\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u023c\1\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\303\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u023d" + + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\5\11\1\303\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\u023e\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\u023f" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\3\11\1\u0240" + + "\13\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\7\11\1\303\7\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\1\u0241\16\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\303\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + + "\1\u0242\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\11\1\247\4\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u0243\5\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + + "\1\u0244\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\2\11\1\u0245\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\14\11\1\u0246\2\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + + "\1\10\2\11\1\u0247\22\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\13\11\1\u022e\3\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\203" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u0248\10\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\u0249\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\11\11\1\u024a\13\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\11\1\u021d\4\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\6\11\1\u024b\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u0230\10\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u0188\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\4\11\1\u024c" + + "\12\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\17\11\2\0\1\10\15\11\1\u024d" + "\7\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\3\11\1\u0142\13\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u024e\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\2\11\1\u024f" + + "\3\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\4\11\1\u0249\1\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\1\11" + + "\1\u0230\23\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0250" + + "\5\11\14\0\3\11\1\u0251\13\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u0252\1\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\12\11\1\u0253\4\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\16\11\1\u0254\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\4\11\1\u0255\12\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\5\11\1\u0167\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\11\1\u022e\4\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u0256\4\11\1\u0165" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\4\11\1\u0190\1\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u0257\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u0258\5\11\14\0\3\11" + + "\1\u0190\13\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\1\11\1\u0259\15\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u025a\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u025b\4\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\3\11\1\u025c\2\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u025d" + + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\u025e\1\11\14\0\1\11\1\u0245" + + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\3\11\1\u025f\2\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u0260\10\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\4\11\1\u0261\1\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u0262\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\2\11\1\u0142\1\u0263\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\2\11" + "\1\u0264\3\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0265\5\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\4\11\1\u016d\1\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\1\u0142\16\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u0266\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\2\11\1\303\14\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\1\11\1\u0230\7\11\1\u0267\3\11\1\u0268" + + "\7\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\1\11\1\303\15\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\1\u0269\1\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\u026a\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\2\11\1\u026b\14\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + + "\1\u026c\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\2\11\1\u026d\14\11\2\0" + "\1\10\25\11\10\10\1\0\1\u026e\1\10\1\0\2\10" + + "\1\0\2\10\4\0\6\10\2\0\6\10\14\0\17\10" + "\2\0\27\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\1\11\1\u026f\15\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u0270\5\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + + "\1\u0271\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\u0272\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u0273\3\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0274\3\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\2\11\1\u0275\3\11\14\0\6\11\1\u0276" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\4\11\1\u0277\12\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\6\11\1\u0278\3\11\1\u0279\4\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\u027a\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u027b\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u0230\4\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\u027c\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u027d" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\1\u027e\1\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\3\11" + + "\1\u027f\13\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\4\11\1\u0280\12\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0281" + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u0282\3\11\14\0\17\11" + + "\2\0\1\10\2\11\1\u0283\22\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\1\u0284\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u0285" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u0286\3\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u0287\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u0288\15\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\u0289\2\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u028a\4\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\11\1\u028b\1\0\1\10\1\11" + + "\4\0\6\11\2\0\2\11\1\u028c\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\1\u028d\1\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\230\4\11\14\0" + + "\5\11\1\u028e\11\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\2\11\1\u028f\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u0290\3\11\14\0\1\11\1\u0291\15\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\11\11\1\u0292\13\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\2\11\1\u0293\3\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u0294\3\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\u0295\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u0296" + + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\1\u0297\16\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\1\u0298\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\10\11\1\u0299\6\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\10\11\1\u0142\6\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\u029a" + "\16\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\6\11\1\u029b\10\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u015d\5\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\2\11\1\u0142\14\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u029c" + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\1\0\1\u029d\6\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + + "\1\u029e\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\4\11\1\u029f\1\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\2\11\1\u02a0" + "\3\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u02a1\2\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\6\11\1\u02a2\10\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\4\11" + "\1\u02a3\1\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + + "\1\10\1\11\1\u02a4\1\u02a5\22\11\1\10\7\11\1\0" + "\1\u02a6\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\3\11" + "\1\u02a7\13\11\2\0\1\10\13\11\1\u02a8\11\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\2\11\1\u02a9\3\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\2\11\1\u02aa\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u02ab\10\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\u02ac\16\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\3\11\1\u02ad\1\u02ae\12\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u02af\1\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\1\11\1\u02b0\5\11\1\u02b1\7\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\16\11" + + "\1\u02b2\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\2\11\1\u02b3\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\13\11\1\u02b4\3\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u02b5\5\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\16\11\1\u02b6\2\0\1\10\25\11\56\0\1\u02b7" + + "\106\0\1\u01e8\150\0\1\u02b8\77\0\1\u02b9\147\0\1\u02ba" + + "\106\0\1\u01ec\150\0\1\u02bb\77\0\1\u02bc\156\0\1\u02bd" + + "\120\0\1\u02be\125\0\1\u02bf\61\0\1\u02c0\151\0\1\u02c1" + + "\122\0\1\u02c2\126\0\1\u02c3\150\0\1\u02c4\101\0\1\u02c5" + + "\130\0\1\u02c6\22\0\1\u02c7\77\0\1\u02c8\126\0\1\u02c9" + + "\1\u02ca\102\0\1\u02cb\153\0\1\u02cc\145\0\1\u02cd\101\0" + + "\1\u02ce\124\0\1\u02cf\125\0\1\u02d0\23\0\1\u02d1\102\0" + + "\1\u02d2\145\0\1\u02d3\106\0\1\u0203\150\0\1\u02d4\77\0" + + "\1\u02d5\102\0\1\u02d6\114\0\77\u0209\1\u02d7\26\u0209\3\10" + + "\5\u02d8\1\0\2\10\1\0\1\10\1\u02d8\1\0\2\10" + "\4\0\1\10\2\u02d8\1\10\2\u02d8\2\0\2\10\2\u02d8" + + "\2\10\14\0\2\10\1\u02d8\1\10\1\u02d8\3\10\1\u02d8" + "\6\10\2\0\2\10\1\u02d8\17\10\2\u02d8\2\10\2\150" + + "\1\u020d\5\u0133\1\0\2\150\1\0\1\150\1\u0133\1\0" + "\2\150\4\0\1\150\2\u0133\1\150\2\u0133\2\0\2\150" + + "\2\u0133\2\150\14\0\2\150\1\u0133\1\150\1\u0133\3\150" + "\1\u0133\6\150\2\0\2\150\1\u0133\17\150\2\u0133\2\150" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u02d9\3\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\u02da\1\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" @@ -961,7 +992,8 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { + "\4\0\6\11\2\0\3\11\1\u01c0\2\11\14\0\6\11" + "\1\u02e4\10\11\2\0\1\10\25\11\3\u013e\5\u02e5\1\u0218" + "\4\u013e\1\u02e5\3\u013e\1\0\4\u013e\2\u02e5\1\u013e\2\u02e5" + "\4\u013e\2\u02e5\20\u013e\1\u02e5\1\u013e\1\u02e5\3\u013e\1\u02e5" - + "\12\u013e\1\u02e5\17\u013e\2\u02e5\2\u013e\3\0\5\u02e6\5\0" + "\1\u02e6\10\0\2\u02e6\1\0\2\u02e6\4\0\2\u02e6\20\0" + + "\12\u013e\1\u02e5\17\u013e\2\u02e5\2\u013e\3\0\5\u02e6\5\0" + + "\1\u02e6\10\0\2\u02e6\1\0\2\u02e6\4\0\2\u02e6\20\0" + "\1\u02e6\1\0\1\u02e6\3\0\1\u02e6\12\0\1\u02e6\17\0" + "\2\u02e6\2\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\13\11\1\303\3\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\12\11\1\u016d" @@ -1163,15 +1195,24 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u0376\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\7\11\1\u0377\15\11\23\0\1\u0378" - + "\144\0\1\u01e8\13\0\1\u02b7\50\0\1\u02b9\1\u0379\5\u02b9" + "\1\u0379\1\u02b9\2\0\2\u02b9\1\0\1\u0379\1\u02b9\2\0" - + "\1\u02b9\1\u0379\6\u02b9\2\u0379\6\u02b9\4\u0379\1\0\1\u0379" + "\2\0\4\u0379\17\u02b9\2\0\1\u0379\25\u02b9\23\0\1\u037a" - + "\144\0\1\u01ec\13\0\1\u02ba\50\0\1\u02bc\1\u037b\5\u02bc" + "\1\u037b\1\u02bc\2\0\2\u02bc\1\0\1\u037b\1\u02bc\2\0" - + "\1\u02bc\1\u037b\6\u02bc\2\u037b\6\u02bc\4\u037b\1\0\1\u037b" + "\2\0\4\u037b\17\u02bc\2\0\1\u037b\25\u02bc\14\0\1\u037c" - + "\20\0\1\u037d\153\0\1\u037e\123\0\1\u037f\123\0\1\u0380" + "\107\0\1\u0381\144\0\1\u0382\104\0\1\u0383\20\0\1\u0384" - + "\125\0\1\u02ca\56\0\1\u0385\202\0\1\u0386\76\0\1\u0387" + "\1\0\1\u0388\143\0\1\u0389\133\0\1\u038a\123\0\1\u038b" - + "\122\0\1\u038c\103\0\1\u038d\127\0\1\u038e\124\0\1\u038f" + "\125\0\1\u0390\125\0\1\u0391\130\0\1\u0392\106\0\1\u0393" - + "\144\0\1\u0203\13\0\1\u02d3\50\0\1\u02d5\1\u0394\5\u02d5" + "\1\u0394\1\u02d5\2\0\2\u02d5\1\0\1\u0394\1\u02d5\2\0" - + "\1\u02d5\1\u0394\6\u02d5\2\u0394\6\u02d5\4\u0394\1\0\1\u0394" + "\2\0\4\u0394\17\u02d5\2\0\1\u0394\25\u02d5\3\0\5\u0395" + + "\144\0\1\u01e8\13\0\1\u02b7\50\0\1\u02b9\1\u0379\5\u02b9" + + "\1\u0379\1\u02b9\2\0\2\u02b9\1\0\1\u0379\1\u02b9\2\0" + + "\1\u02b9\1\u0379\6\u02b9\2\u0379\6\u02b9\4\u0379\1\0\1\u0379" + + "\2\0\4\u0379\17\u02b9\2\0\1\u0379\25\u02b9\23\0\1\u037a" + + "\144\0\1\u01ec\13\0\1\u02ba\50\0\1\u02bc\1\u037b\5\u02bc" + + "\1\u037b\1\u02bc\2\0\2\u02bc\1\0\1\u037b\1\u02bc\2\0" + + "\1\u02bc\1\u037b\6\u02bc\2\u037b\6\u02bc\4\u037b\1\0\1\u037b" + + "\2\0\4\u037b\17\u02bc\2\0\1\u037b\25\u02bc\14\0\1\u037c" + + "\20\0\1\u037d\153\0\1\u037e\123\0\1\u037f\123\0\1\u0380" + + "\107\0\1\u0381\144\0\1\u0382\104\0\1\u0383\20\0\1\u0384" + + "\125\0\1\u02ca\56\0\1\u0385\202\0\1\u0386\76\0\1\u0387" + + "\1\0\1\u0388\143\0\1\u0389\133\0\1\u038a\123\0\1\u038b" + + "\122\0\1\u038c\103\0\1\u038d\127\0\1\u038e\124\0\1\u038f" + + "\125\0\1\u0390\125\0\1\u0391\130\0\1\u0392\106\0\1\u0393" + + "\144\0\1\u0203\13\0\1\u02d3\50\0\1\u02d5\1\u0394\5\u02d5" + + "\1\u0394\1\u02d5\2\0\2\u02d5\1\0\1\u0394\1\u02d5\2\0" + + "\1\u02d5\1\u0394\6\u02d5\2\u0394\6\u02d5\4\u0394\1\0\1\u0394" + + "\2\0\4\u0394\17\u02d5\2\0\1\u0394\25\u02d5\3\0\5\u0395" + "\5\0\1\u0395\10\0\2\u0395\1\0\2\u0395\4\0\2\u0395" + "\20\0\1\u0395\1\0\1\u0395\3\0\1\u0395\12\0\1\u0395" + "\17\0\2\u0395\2\0\3\10\5\u0396\1\0\2\10\1\0" + "\1\10\1\u0396\1\0\2\10\4\0\1\10\2\u0396\1\10" + "\2\u0396\2\0\2\10\2\u0396\2\10\14\0\2\10\1\u0396" + "\1\10\1\u0396\3\10\1\u0396\6\10\2\0\2\10\1\u0396" @@ -1191,569 +1232,580 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { + "\1\11\4\0\6\11\2\0\1\11\1\u03a2\4\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\4\11\1\u03a3\12\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u0341" - + "\1\11\14\0\17\11\2\0\1\10\25\11\3\u013e\5\u03a4" + "\1\u0218\4\u013e\1\u03a4\3\u013e\1\0\4\u013e\2\u03a4\1\u013e" + + "\1\11\14\0\17\11\2\0\1\10\25\11\3\u013e\5\u03a4" + + "\1\u0218\4\u013e\1\u03a4\3\u013e\1\0\4\u013e\2\u03a4\1\u013e" + "\2\u03a4\4\u013e\2\u03a4\20\u013e\1\u03a4\1\u013e\1\u03a4\3\u013e" - + "\1\u03a4\12\u013e\1\u03a4\17\u013e\2\u03a4\2\u013e\3\0\5\u03a5" + "\5\0\1\u03a5\10\0\2\u03a5\1\0\2\u03a5\4\0\2\u03a5" - + "\20\0\1\u03a5\1\0\1\u03a5\3\0\1\u03a5\12\0\1\u03a5" + "\17\0\2\u03a5\2\0\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u03a6\1\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u03a7\2\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\4\11\1\u03a8\1\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\1\u03a9\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u03aa\3\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u03ab\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\u03a4\12\u013e\1\u03a4\17\u013e\2\u03a4\2\u013e\3\0\5\u03a5" + + "\5\0\1\u03a5\10\0\2\u03a5\1\0\2\u03a5\4\0\2\u03a5" + "\20\0\1\u03a5\1\0\1\u03a5\3\0\1\u03a5\12\0\1\u03a5" + + "\17\0\2\u03a5\2\0\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\4\11\1\u03a6\1\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u03a7\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\u03a8\1\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\u03a9\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\2\11\1\u03ac\14\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\13\11\1\u03ad\3\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u03ae\3\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\u03af\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u01e4" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" - + "\22\11\1\u03b0\2\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\u03b1\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\3\11\1\u03b2\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\11\1\u03b3\4\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u03b4" - + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\u03b5\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u0374\4\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u03b6\2\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\6\11\1\u03b7\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u03b8" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u03b9\3\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\1\u03ba\1\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u03bb" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\u03bc" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\2\11\1\u03bd\3\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\11\1\u03be\4\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\1\11\1\u03bf\15\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u03c0\4\11\14\0\17\11" + + "\4\0\6\11\2\0\2\11\1\u03aa\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u03ab\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\2\11\1\u03ac\14\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\3\11\1\u0180\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u03c1\1\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u03c2\5\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\2\11\1\u03c3\22\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\1\u03c4\5\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\13\11\1\u03c5\11\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u03c6\10\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" - + "\1\u03c7\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\u03c8\1\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u03c9" - + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\6\11\1\u03ca\10\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\2\11\1\u0167\14\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\3\11\1\u03cb\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u0229\1\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\u03cc\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\u03cd\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + "\1\303\12\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u03ce\5\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u03cf" + + "\6\11\14\0\13\11\1\u03ad\3\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u03ae\3\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u03af\5\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u01e4" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u03d0\15\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u0165\1\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" - + "\1\u03d1\12\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\11\1\u03d2\4\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\1\11\1\u0142\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u03b2\1\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u016d\5\11\14\0" + + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\22\11\1\u03b0\2\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u03b1\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u03b2\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\13\11\1\u016d\3\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u03d3" - + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\1\11\1\u03d4\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u03d5" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u03d6\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\6\11\1\u03d7\10\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u03d8" - + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\4\11\1\u03d9\1\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\4\11\1\u03da\12\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\1\u03db\1\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\u03dc\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u0221\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\1\11\1\u03dd\15\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u03de\5\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\1\11\1\u03df\15\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\2\11\1\u02e1\3\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\7\11\1\u03e0\7\11\2\0" + + "\2\0\1\11\1\u03b3\4\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u03b4" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u03b5\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" - + "\1\u03e1\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u03e2" + "\7\11\2\0\1\10\25\11\3\10\5\u03e3\1\0\2\10" - + "\1\0\1\10\1\u03e3\1\0\2\10\4\0\1\10\2\u03e3" + "\1\10\2\u03e3\2\0\2\10\2\u03e3\2\10\14\0\2\10" - + "\1\u03e3\1\10\1\u03e3\3\10\1\u03e3\6\10\2\0\2\10" + "\1\u03e3\17\10\2\u03e3\3\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u03e4\1\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u03e5\2\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\1\u03e6\5\11\2\0\5\11\1\u0142\14\0\10\11\1\u03e7" + "\6\11\2\0\1\10\2\11\1\u03e8\1\11\1\u03e9\20\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\7\11" - + "\1\u03ea\7\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\u03eb\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\2\11\1\u0269\14\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\7\11\1\u03ec\7\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\13\11\1\u03ed\3\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\u03ee\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\5\11\1\u03ef" - + "\5\11\1\u03f0\11\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\4\11\1\u03f1\1\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + "\1\u03f2\12\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\6\11\1\u03f3\10\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\u03f4\1\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\2\11\1\u028f\14\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u03f5\3\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0235\3\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u03f6\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u03f7\2\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u0142" - + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\1\u03f8\1\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\11\1\u03f9\4\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\7\11\1\u03fa\7\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\1\u03fb\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\6\11\1\u03fc\10\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\13\11\1\u03fd\11\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\2\11" - + "\1\u03fe\6\11\1\u03ff\13\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\3\11\1\u0400\13\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u0401\10\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\2\11\1\u02e1\3\11\2\0\1\u015d\5\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\11\1\u0402\4\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u0403" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u0404\10\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\2\11\1\u0405\3\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\2\11" + "\1\u0406\14\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\1\u0407\1\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\17\11\2\0\1\10\5\11\1\u0408\17\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u0409\15\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\1\11\1\u040a\15\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\3\11" - + "\1\u040b\13\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\6\11\1\u040c\10\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\4\11\1\u040d\12\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\11\11\1\u040e" - + "\5\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\u040f\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\14\11" + "\1\u0410\2\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u0411\2\11\14\0\17\11\2\0" - + "\1\10\25\11\14\0\1\u0412\111\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\u0413\1\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\1\11\1\u0414\15\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u0415\4\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\6\11\1\u0416\10\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u0417\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\5\11\1\u0418\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0419\5\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\11\1\u041a\4\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\1\u041b\16\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u041c\5\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\11\11\1\u041d\13\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\12\11\1\u026b" + "\4\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u041e\5\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u041f\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\3\11\1\u0420\2\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u0421" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\5\11\1\u0422\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\2\11\1\u0423\14\11\1\u0301" + "\5\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u0424\10\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u0425\5\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\13\11\1\u0262\3\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\15\11\1\u02fc" + "\1\11\2\0\1\10\4\11\1\u02fd\6\11\1\u02ff\3\11" - + "\1\u0301\5\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" - + "\1\u0426\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\11\1\u0142\4\11\14\0" + "\17\11\2\0\1\10\1\11\1\u0427\23\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u0428\2\11\14\0\17\11" - + "\2\0\1\10\25\11\23\0\1\u02b9\125\0\1\u02bc\177\0" + "\1\u0429\67\0\1\u042a\162\0\1\u042b\70\0\1\u0429\125\0" - + "\1\u042c\77\0\1\u037f\152\0\1\u042d\127\0\1\u042e\155\0" + "\1\u042f\73\0\1\u0430\151\0\1\u0431\125\0\1\u0432\54\0" - + "\1\u0433\174\0\1\u0434\105\0\1\u0435\124\0\1\u02ca\127\0" + "\1\u0436\123\0\1\u0437\154\0\1\u02ca\131\0\1\u0438\71\0" - + "\1\u0439\153\0\1\u02ca\126\0\1\u043a\63\0\1\u02d5\105\0" + "\5\u043b\5\0\1\u043b\10\0\2\u043b\1\0\2\u043b\4\0" - + "\2\u043b\20\0\1\u043b\1\0\1\u043b\3\0\1\u043b\12\0" + "\1\u043b\17\0\2\u043b\2\0\3\10\5\11\1\0\2\10" - + "\1\0\1\10\1\11\1\0\2\10\4\0\1\10\2\11" + "\1\10\2\11\2\0\2\10\2\11\2\10\14\0\2\10" - + "\1\11\1\10\1\11\3\10\1\11\6\10\2\0\2\10" + "\1\11\17\10\2\11\3\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\4\11\1\247\12\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u043c\2\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\3\11\1\u043d\2\11\14\0\6\11\1\u043e" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\1\11\1\u03b9\15\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\1\11\1\u043f\15\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u0440\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\1\11\1\u0441\15\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u0442\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\u0443\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u0444\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\3\11" - + "\1\u0445\21\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" - + "\1\u0446\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\u0447\5\11\14\0\17\11" + "\2\0\1\10\25\11\3\u013e\5\170\1\u0218\4\u013e\1\170" - + "\3\u013e\1\0\4\u013e\2\170\1\u013e\2\170\4\u013e\2\170" + "\20\u013e\1\170\1\u013e\1\170\3\u013e\1\170\12\u013e\1\170" - + "\17\u013e\2\170\2\u013e\3\0\5\u0448\5\0\1\u0448\10\0" + "\2\u0448\1\0\2\u0448\4\0\2\u0448\20\0\1\u0448\1\0" - + "\1\u0448\3\0\1\u0448\12\0\1\u0448\17\0\2\u0448\2\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\14\11" + "\1\303\2\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\5\11\1\u0449\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u0142" - + "\1\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\2\11\1\u044a\14\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\1\0" + "\1\u044b\6\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u044c" - + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\1\u03e6" - + "\5\11\2\0\6\11\14\0\17\11\2\0\1\10\7\11" + "\1\u044d\15\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u0410\3\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\5\11\1\u044e\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\1\0" - + "\1\u044f\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\11\1\u0450\4\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\1\u0142\1\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u0451\4\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\u022e\1\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\4\11\1\u0452\1\11\2\0" + "\1\u0453\5\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u0454" - + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\4\11\1\u0455\1\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u0456" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u0457\2\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\3\11\1\u0458\13\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\u0459\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u03ba\5\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u045a\4\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\6\11\1\u0455\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u045b" - + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u045c\2\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" - + "\1\u045d\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u045e" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u045f\5\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" - + "\1\u0460\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\2\11\1\u0461\3\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u0462\3\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\1\u0463\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\2\11\1\u0464\14\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\u0465\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\4\11\1\u0165\12\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0466\5\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\11\1\u0467\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\11" - + "\1\u0142\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\1\11\1\u0468\15\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\3\11\1\u0469\13\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\u046a\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u03a6\5\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\u016d\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" - + "\1\u046b\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\4\11\1\u046c" + "\12\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\11\11\1\u046d" - + "\13\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\247\5\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u046e\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u046f\2\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u0470\2\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\3\11\1\u0471\13\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u03db\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\1\u0472\1\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u0473" - + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\3\11\1\u0474\13\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u0475\3\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" - + "\1\u0476\12\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\1\11" + "\1\u0477\23\11\3\10\5\u0478\1\0\2\10\1\0\1\10" - + "\1\u0478\1\0\2\10\4\0\1\10\2\u0478\1\10\2\u0478" + "\2\0\2\10\2\u0478\2\10\14\0\2\10\1\u0478\1\10" - + "\1\u0478\3\10\1\u0478\6\10\2\0\2\10\1\u0478\17\10" + "\2\u0478\3\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\1\11\1\u0479\15\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\4\11\1\u047a\12\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\6\11\1\u047b\10\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\2\11\1\313\3\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u047c\5\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u047d" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u047e\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\6\11\1\u047f\10\11\2\0\1\10\25\11\1\10" - + "\5\11\1\u0480\1\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\17\11\2\0\1\10\5\11\1\u0481\17\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\1\11\1\u0482\4\11\2\0\6\11\14\0\15\11" + "\1\u02fc\1\11\2\0\1\10\4\11\1\u03e9\1\u0481\11\11" - + "\1\u0301\4\11\1\u0483\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\17\11\2\0\1\10\11\11\1\u0484\13\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u0485\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\12\11\1\u0486\4\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\6\11\1\u0487\10\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\2\11\1\u0488\3\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u0489\5\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" - + "\1\u048a\12\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\11\1\u048b\4\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\5\11\1\u048c\17\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u048d" - + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\3\11\1\u048e\2\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\u048f\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\7\11\1\u0490\7\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0491\5\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\u0492\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\u0493\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u0494\5\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" - + "\1\u0495\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\3\11\1\u0496\2\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\2\11\1\u0497\14\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u0498" - + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\4\11\1\u0499\1\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u049a\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\3\11\1\u045c\13\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\1\u049b\5\11\1\0" - + "\1\u049c\6\11\14\0\10\11\1\u049d\6\11\2\0\1\10" + "\16\11\1\u049e\6\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\14\11\1\u049f\2\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u04a0\2\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\u0262\1\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u04a1\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\1\11\1\u04a2\15\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" - + "\1\u04a3\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\16\11\1\u04a4\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\1\u04a5\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u04a6\2\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\5\11\1\u04a7" - + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\4\11\1\u04a8\1\11\14\0" + "\17\11\2\0\1\10\25\11\35\0\1\u04a9\70\0\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\13\11\1\u04aa" - + "\3\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\6\11\1\u04ab\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\4\11\1\u04ac\1\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\12\11\1\u04ad\4\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\2\11\1\u04ae" - + "\3\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u04af\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\6\11\1\u04b0\10\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\6\11\1\u04b1\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\4\11\1\u04b2\1\u04b3\2\0\6\11\14\0\17\11" + "\2\0\1\10\11\11\1\u04b4\13\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\2\11" - + "\1\u04b5\22\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\u04b6\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\5\11\1\u0142\14\0\17\11" + "\2\0\1\10\2\11\1\u04b7\1\11\1\u04b8\6\11\1\u04b9" - + "\11\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u04ba" - + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\4\11\1\u04bb\12\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u04bc\5\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\5\11\1\u04bd\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\u04be\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\u04bf\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u04c0\10\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" - + "\1\u04c1\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\2\11\1\u04c2\3\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + "\1\u04c3\14\0\17\11\2\0\1\10\25\11\77\u0429\1\u02ca" - + "\26\u0429\36\0\1\u04c4\147\0\1\u04c5\103\0\1\u04c6\154\0" + "\1\u04c7\121\0\1\u04c8\106\0\1\u02ca\77\0\1\u02ca\152\0" - + "\1\u038b\121\0\1\u0392\151\0\1\u038b\102\0\1\u02ca\130\0" + "\1\u04c9\123\0\1\u04ca\151\0\1\u04cb\122\0\1\u04cc\61\0" - + "\1\u04c7\171\0\1\u0430\50\0\5\u04cd\5\0\1\u04cd\10\0" + "\2\u04cd\1\0\2\u04cd\4\0\2\u04cd\20\0\1\u04cd\1\0" - + "\1\u04cd\3\0\1\u04cd\12\0\1\u04cd\17\0\2\u04cd\2\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u04ce\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\5\11\1\u04cf\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u04d0" - + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\11\1\u04d1\4\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u0198\1\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u04d2\5\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\12\11\1\u04d3\4\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u04d4" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u04d5\2\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u04d6\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\2\11\1\u04d7\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u04d8\10\11\2\0\1\10\25\11" - + "\3\0\5\173\5\0\1\173\10\0\2\173\1\0\2\173" + "\4\0\2\173\20\0\1\173\1\0\1\173\3\0\1\173" - + "\12\0\1\173\17\0\2\173\2\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\u04d9\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u04da" + "\3\11\14\0\17\11\2\0\1\10\25\11\6\0\1\u04db" - + "\16\0\1\u04dc\1\u04dd\2\0\1\u04de\74\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\2\11\1\u04df\3\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\u04e0\2\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" - + "\1\u04e1\15\11\2\0\1\10\25\11\32\0\1\u04e2\34\0" + "\1\u04e3\36\0\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u04e4\2\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u04e5\2\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\4\11\1\u04e6\1\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u04e7" + "\1\u04e8\2\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\2\11\1\u04e9\3\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\u0341\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + "\1\u04ea\12\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\2\11\1\u0341\14\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\u04eb\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\4\11\1\u04ec\1\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\7\11\1\u04ed\7\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\5\11\1\u04ee\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\u04ef\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\4\11\1\u04f0\1\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\1\11\1\u04f1\15\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u04f2" - + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\5\11\1\u04f3\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\14\11\1\u0190\10\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\1\u0165\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\13\11\1\u0142\3\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u04f4\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\1\u04f5\16\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\2\11" - + "\1\u04f6\14\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\3\11\1\303\13\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\1\u04f7\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u04f8\3\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\2\11\1\u019f\3\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + "\1\u016d\12\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u04f9\3\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\u04fa\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u04fb\1\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\5\11\1\u04fc\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u04fd\5\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u04fe\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u016f\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\5\11\1\u0324\1\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\15\11" - + "\1\u04ff\7\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\u0500\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\5\11\1\u023a\2\0\6\11\14\0\17\11" + "\2\0\1\10\15\11\1\u0300\7\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u0501\3\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\4\11\1\u0502\12\11\2\0\1\10\25\11\3\10" + "\5\330\1\0\2\10\1\0\1\10\1\330\1\0\2\10" - + "\4\0\1\10\2\330\1\10\2\330\2\0\2\10\2\330" + "\2\10\14\0\2\10\1\330\1\10\1\330\3\10\1\330" - + "\6\10\2\0\2\10\1\330\17\10\2\330\3\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\5\11\1\u0212\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0503" + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\5\11\1\u0230\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\1\11\1\u0504\15\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\2\11\1\u01bc" + "\14\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u0505\5\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" - + "\1\u0506\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\1\11\1\u0507\15\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\1\11\1\u0508\15\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\u0509\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\1\11\1\u050a\15\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\3\11\1\320\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\3\11\1\u050b\2\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u050c" + + "\1\u0374\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\3\11\1\u03b6\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\6\11\1\u03b7\10\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u03b8" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\1\u050d\24\11\1\10\5\11\1\u050e\1\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\1\u039a" + "\5\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\14\11" - + "\1\u050f\2\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u0510\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u0511\2\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u0512" - + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\4\11\1\u0513\1\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u0410" + "\1\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\3\11\1\u0514\13\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\3\11\1\u0515\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + "\1\u0516\10\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u0517\2\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0518" - + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\11\1\u0519\4\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\5\11\1\u051a\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u051b\5\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\5\11\1\u051c\1\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\13\11" + "\1\u051d\1\11\1\u051e\7\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u051f\3\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\4\11\1\u0520\1\11\2\0" - + "\6\11\14\0\17\11\2\0\1\10\1\11\1\u0521\1\u0522" + "\2\11\1\u0523\3\11\1\u0524\13\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\14\11\1\u02b6\2\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\1\11\1\u0525\15\11\2\0\1\10\25\11\103\0" + "\1\u0526\3\0\1\u0527\16\0\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u0484\3\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u0528" - + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\1\u0529\5\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + "\1\u052a\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" - + "\15\11\1\u052b\7\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\1\11\1\u052c\4\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\11\1\u052d" + + "\4\0\6\11\2\0\2\11\1\u03b9\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\1\u03ba\1\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u03bb" + + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\u03bc" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\2\11\1\u03bd\3\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\11\1\u03be\4\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\1\11\1\u03bf\15\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\11\1\u03c0\4\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\u0180\2\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u03c1\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\1\u03c2\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\2\11\1\u03c3\22\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\1\u03c4\5\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\13\11\1\u03c5\11\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\6\11\1\u03c6\10\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + "\1\u03c7\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\1\u03c8\1\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u03c9" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\6\11\1\u03ca\10\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\2\11\1\u0167\14\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u03cb\2\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\4\11\1\u0229\1\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\u03cc\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u052e\3\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\4\11\1\u052f\1\u04a7\2\0" - + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\11\1\230\4\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\11\11\1\u0530\13\11" - + "\36\0\1\u0531\67\0\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\4\11\1\u0532" - + "\1\11\2\0\6\11\14\0\15\11\1\u0533\1\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\1\u0534\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u0535\15\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u03cd\5\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + + "\1\303\12\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\1\u03ce\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u03cf" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u03d0\15\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\2\11\1\u0536\3\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\4\11\1\u01c4\1\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\10\11\1\u0537\6\11\2\0" + + "\4\11\1\u0165\1\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + "\1\u03d1\12\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\11\1\u03d2\4\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\11\1\u0142\1\0\1\10\1\11\4\0\6\11\2\0" + + "\4\11\1\u03b2\1\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\u016d\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\13\11\1\u016d\3\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u03d3" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\11\1\u03d4\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u03d5" + + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u03d6\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\12\11\1\u0538\4\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\3\11\1\u0539\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\6\11\1\u053a\10\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u053b" - + "\1\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\2\11\1\u053c\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u053d\5\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u053e" - + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\u053f\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u0540\1\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\u0541" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\4\11\1\u0542\1\11\14\0" + + "\14\0\6\11\1\u03d7\10\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u03d8" + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u03d9\1\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\4\11\1\u03da\12\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\1\u03db\1\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\u03dc\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u0221\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\1\11\1\u03dd\15\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\u03de\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\1\11\1\u03df\15\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\2\11\1\u02e1\3\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\7\11\1\u03e0\7\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u03e1\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u03e2" + + "\7\11\2\0\1\10\25\11\3\10\5\u03e3\1\0\2\10" + "\1\0\1\10\1\u03e3\1\0\2\10\4\0\1\10\2\u03e3" + + "\1\10\2\u03e3\2\0\2\10\2\u03e3\2\10\14\0\2\10" + "\1\u03e3\1\10\1\u03e3\3\10\1\u03e3\6\10\2\0\2\10" + + "\1\u03e3\17\10\2\u03e3\3\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\4\11\1\u03e4\1\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u03e5\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\1\u03e6\5\11\2\0\5\11\1\u0142\14\0\10\11\1\u03e7" + + "\6\11\2\0\1\10\2\11\1\u03e8\1\11\1\u03e9\20\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\7\11" + "\1\u03ea\7\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u03eb\5\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\2\11\1\u0269\14\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\7\11\1\u03ec\7\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\13\11\1\u03ed\3\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u03ee\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\16\11\1\u0543\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + "\1\u0544\5\11\1\u0545\2\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\1\11\1\u0546\4\11\2\0\6\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\11\1\u0547\4\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\14\11\1\u0548\2\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\12\11\1\u0549\4\11" + + "\2\0\6\11\14\0\17\11\2\0\1\10\5\11\1\u03ef" + "\5\11\1\u03f0\11\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u03f1\1\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + + "\1\u03f2\12\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\6\11\1\u03f3\10\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\1\u03f4\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\2\11\1\u028f\14\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\3\11\1\u054a\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u054b\15\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\1\u054c\16\11\2\0\1\10" - + "\25\11\40\0\1\u054d\145\0\1\u054e\132\0\1\u054f\100\0" + "\1\u0550\127\0\1\u0551\114\0\1\u0552\35\0\1\u0553\73\0" - + "\1\u038b\130\0\1\u0554\123\0\1\u0555\72\0\5\u0127\5\0" + "\1\u0127\10\0\2\u0127\1\0\2\u0127\4\0\2\u0127\20\0" + + "\2\11\1\u03f5\3\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0235\3\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u03f6\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + + "\1\u03f7\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u0142" + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\1\u03f8\1\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\11\1\u03f9\4\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\7\11\1\u03fa\7\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u03fb\1\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u03fc\10\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + + "\2\0\1\10\13\11\1\u03fd\11\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\2\11" + "\1\u03fe\6\11\1\u03ff\13\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\3\11\1\u0400\13\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\6\11\1\u0401\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\2\11\1\u02e1\3\11\2\0\1\u015d\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\11\1\u0402\4\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u0403" + + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u0404\10\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u0405\3\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\2\11" + + "\1\u0406\14\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\u0407\1\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\5\11\1\u0408\17\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u0409\15\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\1\11\1\u040a\15\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\3\11" + "\1\u040b\13\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\6\11\1\u040c\10\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\4\11\1\u040d\12\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\11\11\1\u040e" + "\5\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u040f\5\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\14\11" + + "\1\u0410\2\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\3\11\1\u0411\2\11\14\0\17\11\2\0" + "\1\10\25\11\14\0\1\u0412\111\0\1\10\7\11\1\0" + + "\1\11\1\147\1\0\1\u0413\1\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\1\11\1\u0414\15\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\11\1\u0415\4\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u0416\10\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u0417\2\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\5\11\1\u0418\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0419\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\11\1\u041a\4\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\1\u041b\16\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\u041c\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\11\11\1\u041d\13\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\12\11\1\u026b" + + "\4\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\1\u041e\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u041f\1\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\3\11\1\u0420\2\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u0421" + + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\5\11\1\u0422\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\2\11\1\u0423\14\11\1\u0301" + + "\5\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\6\11\1\u0424\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\u0425\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\13\11\1\u0262\3\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\15\11\1\u02fc" + + "\1\11\2\0\1\10\4\11\1\u02fd\6\11\1\u02ff\3\11" + "\1\u0301\5\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u0426\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u0142\4\11\14\0" + + "\17\11\2\0\1\10\1\11\1\u0427\23\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\3\11\1\u0428\2\11\14\0\17\11" + "\2\0\1\10\25\11\23\0\1\u02b9\125\0\1\u02bc\177\0" + + "\1\u0429\67\0\1\u042a\162\0\1\u042b\70\0\1\u0429\125\0" + + "\1\u042c\77\0\1\u037f\152\0\1\u042d\127\0\1\u042e\155\0" + + "\1\u042f\73\0\1\u0430\151\0\1\u0431\125\0\1\u0432\54\0" + + "\1\u0433\174\0\1\u0434\105\0\1\u0435\124\0\1\u02ca\127\0" + + "\1\u0436\123\0\1\u0437\154\0\1\u02ca\131\0\1\u0438\71\0" + + "\1\u0439\153\0\1\u02ca\126\0\1\u043a\63\0\1\u02d5\105\0" + + "\5\u043b\5\0\1\u043b\10\0\2\u043b\1\0\2\u043b\4\0" + "\2\u043b\20\0\1\u043b\1\0\1\u043b\3\0\1\u043b\12\0" + + "\1\u043b\17\0\2\u043b\2\0\3\10\5\11\1\0\2\10" + "\1\0\1\10\1\11\1\0\2\10\4\0\1\10\2\11" + + "\1\10\2\11\2\0\2\10\2\11\2\10\14\0\2\10" + "\1\11\1\10\1\11\3\10\1\11\6\10\2\0\2\10" + + "\1\11\17\10\2\11\3\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\4\11\1\247\12\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u043c\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u043d\2\11\14\0\6\11\1\u043e" + + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\1\11\1\u03b9\15\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\1\11\1\u043f\15\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u0440\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\1\11\1\u0441\15\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u0442\1\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u0443\5\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u0444\4\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\3\11" + "\1\u0445\21\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u0446\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u0447\5\11\14\0\17\11" + + "\2\0\1\10\25\11\3\u013e\5\170\1\u0218\4\u013e\1\170" + + "\3\u013e\1\0\4\u013e\2\170\1\u013e\2\170\4\u013e\2\170" + + "\20\u013e\1\170\1\u013e\1\170\3\u013e\1\170\12\u013e\1\170" + + "\17\u013e\2\170\2\u013e\3\0\5\u0448\5\0\1\u0448\10\0" + + "\2\u0448\1\0\2\u0448\4\0\2\u0448\20\0\1\u0448\1\0" + "\1\u0448\3\0\1\u0448\12\0\1\u0448\17\0\2\u0448\2\0" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\14\11" + + "\1\303\2\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\5\11\1\u0449\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u0142" + "\1\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\2\11\1\u044a\14\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\1\0" + + "\1\u044b\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u044c" + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\1\u03e6" + "\5\11\2\0\6\11\14\0\17\11\2\0\1\10\7\11" + + "\1\u044d\15\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + + "\1\u0410\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\5\11\1\u044e\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\1\0" + "\1\u044f\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u0450\4\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\1\u0142\1\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u0451\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\1\u022e\1\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\4\11\1\u0452\1\11\2\0" + + "\1\u0453\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u0454" + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u0455\1\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u0456" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\3\11\1\u0457\2\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\3\11\1\u0458\13\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u0459\5\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\u03ba\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\11\1\u045a\4\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\6\11\1\u0455\10\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u045b" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\3\11\1\u045c\2\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u045d\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u045e" + + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\1\u045f\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + "\1\u0460\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\2\11\1\u0461\3\11\2\0\6\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + + "\1\u0462\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u0463\1\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\2\11\1\u0464\14\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u0465\5\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\4\11\1\u0165\12\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0466\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\1\11\1\u0467\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\11" + "\1\u0142\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\1\11\1\u0468\15\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\3\11\1\u0469\13\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u046a\5\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\u03a6\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\u016d\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u046b\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\4\11\1\u046c" + + "\12\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\17\11\2\0\1\10\11\11\1\u046d" + "\13\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\247\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u046e\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + + "\1\u046f\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\3\11\1\u0470\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\3\11\1\u0471\13\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u03db\5\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\u0472\1\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u0473" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\3\11\1\u0474\13\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\2\11\1\u0475\3\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + "\1\u0476\12\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\1\11" + + "\1\u0477\23\11\3\10\5\u0478\1\0\2\10\1\0\1\10" + "\1\u0478\1\0\2\10\4\0\1\10\2\u0478\1\10\2\u0478" + + "\2\0\2\10\2\u0478\2\10\14\0\2\10\1\u0478\1\10" + "\1\u0478\3\10\1\u0478\6\10\2\0\2\10\1\u0478\17\10" + + "\2\u0478\3\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\1\11\1\u0479\15\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\4\11\1\u047a\12\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u047b\10\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\2\11\1\313\3\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\1\u047c\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u047d" + + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u047e\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\6\11\1\u047f\10\11\2\0\1\10\25\11\1\10" + "\5\11\1\u0480\1\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\5\11\1\u0481\17\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\1\11\1\u0482\4\11\2\0\6\11\14\0\15\11" + + "\1\u02fc\1\11\2\0\1\10\4\11\1\u03e9\1\u0481\11\11" + "\1\u0301\4\11\1\u0483\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\11\11\1\u0484\13\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u0485\4\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\12\11\1\u0486\4\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\6\11\1\u0487\10\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\2\11\1\u0488\3\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\1\u0489\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + "\1\u048a\12\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\11\1\u048b\4\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\5\11\1\u048c\17\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u048d" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\3\11\1\u048e\2\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\u048f\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\7\11\1\u0490\7\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0491\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u0492\5\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\u0493\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\1\u0494\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + "\1\u0495\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u0496\2\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\2\11\1\u0497\14\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u0498" + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u0499\1\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u049a\5\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\3\11\1\u045c\13\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\1\u049b\5\11\1\0" + "\1\u049c\6\11\14\0\10\11\1\u049d\6\11\2\0\1\10" + + "\16\11\1\u049e\6\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\14\11\1\u049f\2\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u04a0\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\1\u0262\1\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u04a1\5\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\1\11\1\u04a2\15\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + "\1\u04a3\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\16\11\1\u04a4\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\u04a5\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\3\11\1\u04a6\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\5\11\1\u04a7" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\4\11\1\u04a8\1\11\14\0" + + "\17\11\2\0\1\10\25\11\35\0\1\u04a9\70\0\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\13\11\1\u04aa" + "\3\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\6\11\1\u04ab\10\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\4\11\1\u04ac\1\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\12\11\1\u04ad\4\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\2\11\1\u04ae" + "\3\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u04af\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\6\11\1\u04b0\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u04b1\10\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\4\11\1\u04b2\1\u04b3\2\0\6\11\14\0\17\11" + + "\2\0\1\10\11\11\1\u04b4\13\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\2\11" + "\1\u04b5\22\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u04b6\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\5\11\1\u0142\14\0\17\11" + + "\2\0\1\10\2\11\1\u04b7\1\11\1\u04b8\6\11\1\u04b9" + "\11\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u04ba" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\4\11\1\u04bb\12\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\u04bc\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\5\11\1\u04bd\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u04be\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u04bf\5\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\6\11\1\u04c0\10\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + "\1\u04c1\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\2\11\1\u04c2\3\11\2\0\6\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + + "\1\u04c3\14\0\17\11\2\0\1\10\25\11\77\u0429\1\u02ca" + + "\26\u0429\36\0\1\u04c4\147\0\1\u04c5\103\0\1\u04c6\154\0" + + "\1\u04c7\121\0\1\u04c8\106\0\1\u02ca\77\0\1\u02ca\152\0" + + "\1\u038b\121\0\1\u0392\151\0\1\u038b\102\0\1\u02ca\130\0" + + "\1\u04c9\123\0\1\u04ca\151\0\1\u04cb\122\0\1\u04cc\61\0" + + "\1\u04c7\171\0\1\u0430\50\0\5\u04cd\5\0\1\u04cd\10\0" + + "\2\u04cd\1\0\2\u04cd\4\0\2\u04cd\20\0\1\u04cd\1\0" + "\1\u04cd\3\0\1\u04cd\12\0\1\u04cd\17\0\2\u04cd\2\0" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u04ce\4\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\5\11\1\u04cf\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u04d0" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u04d1\4\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\4\11\1\u0198\1\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\u04d2\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\12\11\1\u04d3\4\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u04d4" + + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\3\11\1\u04d5\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u04d6\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u04d7\3\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\6\11\1\u04d8\10\11\2\0\1\10\25\11" + "\3\0\5\173\5\0\1\173\10\0\2\173\1\0\2\173" + + "\4\0\2\173\20\0\1\173\1\0\1\173\3\0\1\173" + "\12\0\1\173\17\0\2\173\2\0\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u04d9\5\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u04da" + + "\3\11\14\0\17\11\2\0\1\10\25\11\6\0\1\u04db" + "\16\0\1\u04dc\1\u04dd\2\0\1\u04de\74\0\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\2\11\1\u04df\3\11\2\0\6\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\3\11\1\u04e0\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u04e1\15\11\2\0\1\10\25\11\32\0\1\u04e2\34\0" + + "\1\u04e3\36\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + + "\1\u04e4\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\3\11\1\u04e5\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u04e6\1\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u04e7" + + "\1\u04e8\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\2\11\1\u04e9\3\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u0341\5\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + + "\1\u04ea\12\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\2\11\1\u0341\14\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\u04eb\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\4\11\1\u04ec\1\11\2\0\6\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\7\11\1\u04ed\7\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\5\11\1\u04ee\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u04ef\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\4\11\1\u04f0\1\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\1\11\1\u04f1\15\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u04f2" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\5\11\1\u04f3\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\14\11\1\u0190\10\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u0165\1\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\13\11\1\u0142\3\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u04f4\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\1\u04f5\16\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\2\11" + "\1\u04f6\14\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\3\11\1\303\13\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\u04f7\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\2\11\1\u04f8\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u019f\3\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\4\11" + + "\1\u016d\12\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\2\11\1\u04f9\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u04fa\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\1\u04fb\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\5\11\1\u04fc\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\u04fd\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u04fe\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u016f\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\5\11\1\u0324\1\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\15\11" + "\1\u04ff\7\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u0500\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\5\11\1\u023a\2\0\6\11\14\0\17\11" + + "\2\0\1\10\15\11\1\u0300\7\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\2\11\1\u0501\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\4\11\1\u0502\12\11\2\0\1\10\25\11\3\10" + + "\5\330\1\0\2\10\1\0\1\10\1\330\1\0\2\10" + "\4\0\1\10\2\330\1\10\2\330\2\0\2\10\2\330" + + "\2\10\14\0\2\10\1\330\1\10\1\330\3\10\1\330" + "\6\10\2\0\2\10\1\330\17\10\2\330\3\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\5\11\1\u0212\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0503" + + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\5\11\1\u0230\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\1\11\1\u0504\15\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\2\11\1\u01bc" + + "\14\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\1\u0505\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u0506\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\1\11\1\u0507\15\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\1\11\1\u0508\15\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\u0509\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\1\11\1\u050a\15\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\320\2\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\3\11\1\u050b\2\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u050c" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\1\u050d\24\11\1\10\5\11\1\u050e\1\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\1\u039a" + + "\5\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\14\11" + "\1\u050f\2\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u0510\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + + "\1\u0511\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u0512" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u0513\1\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u0410" + + "\1\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\3\11\1\u0514\13\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\u0515\2\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + + "\1\u0516\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\3\11\1\u0517\2\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u0518" + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u0519\4\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\5\11\1\u051a\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\u051b\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\5\11\1\u051c\1\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\13\11" + + "\1\u051d\1\11\1\u051e\7\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\2\11\1\u051f\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\4\11\1\u0520\1\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\1\11\1\u0521\1\u0522" + + "\2\11\1\u0523\3\11\1\u0524\13\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\14\11\1\u02b6\2\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\1\11\1\u0525\15\11\2\0\1\10\25\11\103\0" + + "\1\u0526\3\0\1\u0527\16\0\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\2\11\1\u0484\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u0528" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\1\u0529\5\11\2\0\6\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\5\11" + + "\1\u052a\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\15\11\1\u052b\7\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\11\1\u052c\4\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\1\11\1\u052d" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\2\11\1\u052e\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\4\11\1\u052f\1\u04a7\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\230\4\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\11\11\1\u0530\13\11" + "\36\0\1\u0531\67\0\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\4\11\1\u0532" + "\1\11\2\0\6\11\14\0\15\11\1\u0533\1\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\u0534\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u0535\15\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u0536\3\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\4\11\1\u01c4\1\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\10\11\1\u0537\6\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\12\11\1\u0538\4\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u0539\2\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\6\11\1\u053a\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u053b" + "\1\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u053c\3\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\u053d\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u053e" + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u053f\5\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u0540\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\u0541" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\4\11\1\u0542\1\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\16\11\1\u0543\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + + "\1\u0544\5\11\1\u0545\2\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\1\11\1\u0546\4\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\11\1\u0547\4\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\14\11\1\u0548\2\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\12\11\1\u0549\4\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\u054a\2\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + + "\1\u054b\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\1\u054c\16\11\2\0\1\10" + "\25\11\40\0\1\u054d\145\0\1\u054e\132\0\1\u054f\100\0" + + "\1\u0550\127\0\1\u0551\114\0\1\u0552\35\0\1\u0553\73\0" + + "\1\u038b\130\0\1\u0554\123\0\1\u0555\72\0\5\u0127\5\0" + + "\1\u0127\10\0\2\u0127\1\0\2\u0127\4\0\2\u0127\20\0" + "\1\u0127\1\0\1\u0127\3\0\1\u0127\12\0\1\u0127\17\0" + "\2\u0127\2\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\1\0\1\u0556" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u0162\5\11\14\0\17\11\2\0" @@ -1910,7 +1962,8 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u05c9\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\11\11\1\u0304\13\11\41\0\1\u0429\121\0\1\u0429" + "\125\0\1\u05ca\131\0\1\u02ca\124\0\1\u05cb\152\0\1\u05cc" + + "\1\10\11\11\1\u0304\13\11\41\0\1\u0429\121\0\1\u0429" + + "\125\0\1\u05ca\131\0\1\u02ca\124\0\1\u05cb\152\0\1\u05cc" + "\100\0\1\u05cd\122\0\1\u05ce\163\0\1\u02ca\60\0\1\u04dd" + "\77\0\1\10\7\11\1\0\1\u05cf\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\3\11\1\u05d0\2\11\14\0\17\11\2\0\1\10" @@ -2091,490 +2144,498 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u0142\5\11\14\0\17\11" + "\2\0\1\10\3\11\1\u064e\21\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u064f\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11"; - private static final String ZZ_TRANS_PACKED_1 = "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\3\11\1\u0650\13\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\u0651\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u0652" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u0653\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\5\11\1\u0654\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\4\11\1\u0655\1\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\4\11\1\u0656\1\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\11\1\u0657" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\1\u0658\1\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u0659\4\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\23\11" + "\1\u0355\1\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\2\11\1\u065a\14\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\2\11\1\u065b\22\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\6\11\1\u065c\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u065d" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\1\11\1\u065e\4\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\7\11\1\u065f\7\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\u0660\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u0661\1\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u0662" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u0663\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\3\11\1\u0664\13\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u0665" - + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\7\11\1\u0666\7\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\u05bb\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u0667\3\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0538\5\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u0668\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\6\11\1\u0669\10\11\2\0\1\10\25\11\35\0" - + "\1\u066a\130\0\1\u066b\65\0\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\u066c\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u0623\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\2\11\1\u066d\14\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\2\11\1\u066e\14\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\13\11\1\u0162\11\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\7\11\1\u066f\7\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\u0670" - + "\16\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\7\11\1\u0671\7\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\1\11\1\u0672\15\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u0162\4\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\3\11\1\u04cf\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u0673\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\4\11\1\u0674\1\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\1\u0675\24\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\2\11\1\352\14\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u0676\3\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" - + "\1\u0622\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\3\11\1\u0677\2\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u0678\2\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u0679\5\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u067a\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\u067b\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\u032c\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\u067c\1\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u067d" - + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u067e\2\11\14\0\17\11" + "\2\0\1\10\25\11\60\0\1\u067f\104\0\1\u0680\127\0" - + "\1\u0632\124\0\1\u02ca\146\0\1\u02ca\44\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u0681\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\3\11\1\u04c2\13\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" - + "\1\u0682\10\11\2\0\1\10\25\11\11\0\1\u0683\130\0" + "\1\u0684\111\0\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\1\11\1\u0685\15\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\2\11\1\u0686\3\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\4\11\1\u0687\1\11\14\0\17\11\2\0\1\10" + "\25\11\72\0\1\u0688\44\0\1\u0689\175\0\1\u068a\103\0" - + "\1\u068b\66\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\u068c\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\5\11\1\u068d\1\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\1\11\1\u068e\15\11\2\0\1\10" - + "\25\11\65\0\1\u068f\40\0\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\4\11" - + "\1\u0690\1\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0294\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\4\11" - + "\1\u0691\20\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\u0692\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\2\11\1\u0693\3\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\7\11\1\u0694" - + "\15\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u0695" - + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\2\11\1\u0696\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\2\11\1\u0697\14\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u0698\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\4\11\1\u0699\1\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\u069a\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\1\u069b\16\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\1\0\1\u069c\6\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\3\11\1\u05c9\13\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u069d\10\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u069e\4\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\4\11\1\u069f\1\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u06a0\15\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u06a1\3\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\6\11\1\u06a2\10\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\3\11\1\u06a3\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\1\0\1\u06a4\5\11\1\u06a5\14\0\15\11\1\u06a6\1\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\5\11\1\u023a" - + "\2\0\6\11\14\0\17\11\2\0\1\10\4\11\1\u0618" + "\20\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u06a7\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\1\11\1\u06a8\15\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\5\11\1\u06a9\17\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u06aa" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\15\11\1\u02fc\1\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\4\11\1\u06ab\12\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\2\11\1\u06ac\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\5\11\1\u0162\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\4\11\1\u04cf" - + "\12\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\2\11\1\u06ad\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\4\11\1\u06ae\12\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u06af\2\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\5\11\1\u06b0\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\3\11\1\u06b1\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u06b2\5\11\14\0\17\11\2\0\1\10\25\11" - + "\37\0\1\u05b2\77\0\1\u06b3\114\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\2\11\1\u06b4\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\5\11\1\u06b5\1\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\5\11" + "\1\u06b6\2\0\6\11\14\0\17\11\2\0\1\10\13\11" - + "\1\u06b7\11\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\1\u06b8\5\11\2\0" - + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u06b9\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u06ba\10\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u06bb\2\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\u06bc\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u06bd\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\1\11\1\u06be\15\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" - + "\1\u06bf\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u04cf\1\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\7\11\1\u06c0\7\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\7\11" - + "\1\u06c1\7\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\2\11" + "\1\u06c2\5\11\1\u06c3\14\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u06c4\5\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u0162\2\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\2\11\1\u06c5\14\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u06c6\3\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\4\11\1\u06c7\1\11\14\0" - + "\17\11\2\0\1\10\25\11\63\0\1\u0429\77\0\1\u0555" + "\70\0\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u06c8" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u06c9\15\11" - + "\2\0\1\10\25\11\27\0\1\u06ca\163\0\1\u06cb\40\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\2\11" + "\1\u06cc\14\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\5\11\1\u06cd\11\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\u0544\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\60\0\1\u04a9\105\0" + "\1\u06ce\124\0\1\u06cf\124\0\1\u06d0\67\0\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\1\11\1\u06d1\4\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\1\11\1\u06d2\15\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u0513\14\0" + "\17\11\2\0\1\10\25\11\72\0\1\u06d3\33\0\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\4\11\1\u06d4\1\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\1\u06d5\1\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u06d6\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\5\11\1\u0142\11\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\1\11\1\u06d7\15\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u06d8" + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\11\1\u06d9\4\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u06da" - + "\1\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\4\11\1\u06db\1\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\2\11\1\u06dc\3\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u06dd\3\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\1\11\1\u06de\15\11\2\0" + "\1\10\25\11\103\0\1\u06df\22\0\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\1\u0341" - + "\24\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u06e0" - + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\11\11\1\u0410\5\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\15\11\1\u0300\7\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\13\11" - + "\1\u06e1\3\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\13\11\1\u0341\3\11\2\0" + "\1\10\25\11\114\0\1\u06e2\11\0\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\1\0\1\u06e3\6\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u06e4" - + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u06e5\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\1\352\1\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\1\u06e6\16\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u06e7\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\1\u0162\16\11\2\0" + "\1\10\25\11\1\10\5\11\1\u06e8\1\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u06e9\4\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\3\11\1\u06ea\2\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u06eb\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\5\11\1\352\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\2\11\1\u06ec\14\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u06ed\15\11" + "\2\0\1\10\25\11\72\0\1\u06ee\33\0\1\10\7\11" - + "\1\0\1\11\1\147\1\0\1\u06ef\1\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\4\11" - + "\1\u06f0\1\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u06f1\1\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\3\11\1\u06f2\13\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" - + "\1\u06f3\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\u06f4\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u03ad" + private static final String ZZ_TRANS_PACKED_1 = "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\3\11\1\u0650\13\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\u0651\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u0652" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u06f5\5\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u06f6" - + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\14\11\1\u06f7\2\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u06f8\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\2\11\1\u06ea\3\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\17\11\2\0\1\10\17\11\1\u0301\5\11" + "\1\10\5\11\1\u06f9\1\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\4\11\1\u06fa\1\u023a" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\u06fb\5\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\3\11\1\u06fc\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\2\11\1\u06fd\22\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u06fe\3\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" - + "\1\u06ff\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\2\11\1\u0700\3\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\6\11\1\u0701\10\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u0162" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\42\0\1\u0702\146\0" + "\1\u0703\42\0\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\6\11\1\u0704\10\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\13\11\1\u03ce\11\11\72\0\1\u0705\71\0\1\u05b2" + "\154\0\1\u0706\40\0\1\10\7\11\1\0\1\u0707\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\1\u0708\1\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\25\11\67\0\1\u0709\36\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\3\11\1\u070a\2\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\6\11\1\u070b\10\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" - + "\1\10\15\11\1\u070c\7\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\1\11\1\u052a\15\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u070d" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u070e\5\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" - + "\1\u070f\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u02e1" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\4\11\1\u045c\12\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u0710" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\2\11\1\u0410\14\11\2\0" + "\1\10\25\11\65\0\1\u0711\40\0\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\7\11\1\u0712\7\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\u0713\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\15\0\1\u0714\212\0" + "\1\u0715\23\0\1\10\7\11\1\0\1\11\1\147\1\0" - + "\1\u0716\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u0717\5\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" - + "\1\u0718\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u0719\1\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u071a\1\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u071b\5\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\4\11\1\u0538\1\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\5\11\1\u071c\1\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\4\11\1\u071d" + "\1\u023a\2\0\6\11\14\0\17\11\2\0\1\10\15\11" - + "\1\u071e\1\11\1\u071f\5\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\17\11\2\0\1\10\2\11\1\u0522" + "\22\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u06ec" + "\4\11\14\0\17\11\2\0\1\10\25\11\57\0\1\u0720" - + "\46\0\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u0721" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u0653\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\5\11\1\u0654\2\0" + + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\4\11\1\u0655\1\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u0656\1\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\1\11\1\u0657" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\1\u0658\1\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u0659\4\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\23\11" + + "\1\u0355\1\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\2\11\1\u065a\14\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\2\11\1\u065b\22\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\6\11\1\u065c\10\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u065d" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u0722\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\4\11\1\u0723\12\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0724\3\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\1\u0725\1\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\5\11\1\u02dd\1\11\1\0\1\11\1\147" + + "\4\0\1\11\1\u065e\4\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\7\11\1\u065f\7\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u0660\5\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\4\11\1\u0661\1\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u0662" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u0663\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\3\11\1\u0664\13\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u0665" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\7\11\1\u0666\7\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\u05bb\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\2\11\1\u0667\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0538\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u0668\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\6\11\1\u0669\10\11\2\0\1\10\25\11\35\0" + "\1\u066a\130\0\1\u066b\65\0\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u066c\5\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u0623\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\2\11\1\u066d\14\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\2\11\1\u066e\14\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\13\11\1\u0162\11\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\7\11\1\u066f\7\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\u0670" + "\16\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\7\11\1\u0671\7\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\1\11\1\u0672\15\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\11\1\u0162\4\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\u04cf\2\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u0673\4\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\4\11\1\u0674\1\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\1\u0675\24\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\2\11\1\352\14\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\2\11\1\u0676\3\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u0622\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u0677\2\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + + "\1\u0678\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\u0679\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u067a\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u067b\5\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\u032c\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\4\11\1\u067c\1\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\u067d" + "\5\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u067e\2\11\14\0\17\11" + + "\2\0\1\10\25\11\60\0\1\u067f\104\0\1\u0680\127\0" + "\1\u0632\124\0\1\u02ca\146\0\1\u02ca\44\0\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u0681\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\3\11\1\u04c2\13\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + "\1\u0682\10\11\2\0\1\10\25\11\11\0\1\u0683\130\0" + + "\1\u0684\111\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\1\11\1\u0685\15\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\2\11\1\u0686\3\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u0687\1\11\14\0\17\11\2\0\1\10" + + "\25\11\72\0\1\u0688\44\0\1\u0689\175\0\1\u068a\103\0" + "\1\u068b\66\0\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u068c\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\5\11\1\u068d\1\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\1\11\1\u068e\15\11\2\0\1\10" + "\25\11\65\0\1\u068f\40\0\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\4\11" + "\1\u0690\1\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0294\5\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\4\11" + "\1\u0691\20\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u0692\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\2\11\1\u0693\3\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\17\11\2\0\1\10\7\11\1\u0694" + "\15\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u0695" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u0696\3\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\2\11\1\u0697\14\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u0698\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u0699\1\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\u069a\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\1\u069b\16\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\1\0\1\u069c\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\3\11\1\u05c9\13\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\6\11\1\u069d\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\11\1\u069e\4\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u069f\1\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + + "\1\u06a0\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\2\11\1\u06a1\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\6\11\1\u06a2\10\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u06a3\2\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\1\0\1\u06a4\5\11\1\u06a5\14\0\15\11\1\u06a6\1\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\5\11\1\u023a" + "\2\0\6\11\14\0\17\11\2\0\1\10\4\11\1\u0618" + + "\20\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u06a7\5\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\1\11\1\u06a8\15\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\5\11\1\u06a9\17\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\1\11\1\u06aa" + + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\15\11\1\u02fc\1\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\4\11\1\u06ab\12\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u06ac\3\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\5\11\1\u0162\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\4\11\1\u04cf" + "\12\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u06ad\3\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\4\11\1\u06ae\12\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\3\11\1\u06af\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\5\11\1\u06b0\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u06b1\2\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\1\u06b2\5\11\14\0\17\11\2\0\1\10\25\11" + "\37\0\1\u05b2\77\0\1\u06b3\114\0\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u06b4\3\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\5\11\1\u06b5\1\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\5\11" + + "\1\u06b6\2\0\6\11\14\0\17\11\2\0\1\10\13\11" + "\1\u06b7\11\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\1\u06b8\5\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u06b9\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\6\11\1\u06ba\10\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u06bb\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\u06bc\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u06bd\2\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\1\11\1\u06be\15\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u06bf\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\1\u04cf\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\7\11\1\u06c0\7\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\7\11" + "\1\u06c1\7\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\2\11" + + "\1\u06c2\5\11\1\u06c3\14\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\1\u06c4\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u0162\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\2\11\1\u06c5\14\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + + "\1\u06c6\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\4\11\1\u06c7\1\11\14\0" + "\17\11\2\0\1\10\25\11\63\0\1\u0429\77\0\1\u0555" + + "\70\0\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u06c8" + + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u06c9\15\11" + "\2\0\1\10\25\11\27\0\1\u06ca\163\0\1\u06cb\40\0" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\2\11" + + "\1\u06cc\14\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\5\11\1\u06cd\11\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\u0544\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\60\0\1\u04a9\105\0" + + "\1\u06ce\124\0\1\u06cf\124\0\1\u06d0\67\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\1\11\1\u06d1\4\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\1\11\1\u06d2\15\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\5\11\1\u0513\14\0" + + "\17\11\2\0\1\10\25\11\72\0\1\u06d3\33\0\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\4\11\1\u06d4\1\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\1\u06d5\1\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\11\1\u06d6\4\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\5\11\1\u0142\11\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\1\11\1\u06d7\15\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\7\11\1\u06d8" + + "\7\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\1\11\1\u06d9\4\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\4\11\1\u06da" + "\1\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\4\11\1\u06db\1\11\2\0\6\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\2\11\1\u06dc\3\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u06dd\3\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\1\11\1\u06de\15\11\2\0" + + "\1\10\25\11\103\0\1\u06df\22\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\1\u0341" + "\24\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u06e0" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\11\11\1\u0410\5\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\15\11\1\u0300\7\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\13\11" + "\1\u06e1\3\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\13\11\1\u0341\3\11\2\0" + + "\1\10\25\11\114\0\1\u06e2\11\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\1\0\1\u06e3\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u06e4" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u06e5\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\1\352\1\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\1\u06e6\16\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u06e7\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\u0162\16\11\2\0" + + "\1\10\25\11\1\10\5\11\1\u06e8\1\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\11\1\u06e9\4\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\3\11\1\u06ea\2\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u06eb\5\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\5\11\1\352\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\2\11\1\u06ec\14\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u06ed\15\11" + + "\2\0\1\10\25\11\72\0\1\u06ee\33\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\1\u06ef\1\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\4\11" + "\1\u06f0\1\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\1\u06f1\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\3\11\1\u06f2\13\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + "\1\u06f3\10\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u06f4\5\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u03ad" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\1\u06f5\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u06f6" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\14\11\1\u06f7\2\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\u06f8\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\2\11\1\u06ea\3\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\17\11\1\u0301\5\11" + + "\1\10\5\11\1\u06f9\1\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\4\11\1\u06fa\1\u023a" + + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\u06fb\5\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\u06fc\2\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + + "\2\0\1\10\2\11\1\u06fd\22\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\2\11\1\u06fe\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u06ff\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\2\11\1\u0700\3\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\6\11\1\u0701\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u0162" + + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\42\0\1\u0702\146\0" + + "\1\u0703\42\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\6\11\1\u0704\10\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\13\11\1\u03ce\11\11\72\0\1\u0705\71\0\1\u05b2" + + "\154\0\1\u0706\40\0\1\10\7\11\1\0\1\u0707\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\1\u0708\1\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\67\0\1\u0709\36\0\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u070a\2\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\6\11\1\u070b\10\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\15\11\1\u070c\7\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\1\11\1\u052a\15\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u070d" + + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\u070e\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u070f\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u02e1" + + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\4\11\1\u045c\12\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u0710" + + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\2\11\1\u0410\14\11\2\0" + + "\1\10\25\11\65\0\1\u0711\40\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\7\11\1\u0712\7\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\u0713\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\15\0\1\u0714\212\0" + + "\1\u0715\23\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\u0716\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\u0717\5\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u0718\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\1\u0719\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\4\11\1\u071a\1\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\u071b\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\4\11\1\u0538\1\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\5\11\1\u071c\1\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\4\11\1\u071d" + + "\1\u023a\2\0\6\11\14\0\17\11\2\0\1\10\15\11" + "\1\u071e\1\11\1\u071f\5\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\2\11\1\u0522" + + "\22\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u06ec" + + "\4\11\14\0\17\11\2\0\1\10\25\11\57\0\1\u0720" + "\46\0\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u0721" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u0722\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\4\11\1\u0723\12\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\2\11\1\u0724\3\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\1\u0725\1\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\5\11\1\u02dd\1\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\4\11\1\u071d" + + "\1\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\1\11\1\u0726\15\11\1\u071f\5\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\4\11\1\u0538" + + "\12\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\17\11\2\0\1\10\2\11\1\u0727" + "\22\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u06de" + + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\u03d9\1\11\14\0\1\11\1\u0728" + + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\6\11\1\u0729\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u072a" + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\4\11\1\u072b\1\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\u072c\5\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\1\11\1\u072d\4\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\3\11\1\u072e\2\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u072f" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\1\u035c\5\11\14\0\17\11\2\0\1\10" + "\25\11\37\0\1\u0730\146\0\1\u0731\45\0\1\10\7\11" + + "\1\0\1\11\1\147\1\0\1\11\1\u0732\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + + "\1\10\25\11\37\0\1\u0733\102\0\1\u0734\111\0\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u0735\1\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\12\11\1\u0736\4\11\2\0\1\10\25\11" + + "\37\0\1\u0737\66\0\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\13\11\1\u04fc\3\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\u0738\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\11\1\u0739\4\11\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u073a\5\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\14\11\1\u073b\2\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\1\0\1\u073c" + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\u073d\5\11\14\0\17\11\2\0" + + "\1\10\25\11\66\0\1\u073e\37\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\2\11\1\u05c4\3\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u073f\4\11\14\0\17\11\2\0\1\10\25\11\25\0" + + "\1\u0740\41\0\1\u0741\15\0\1\u0742\10\0\1\u0743\36\0" + "\1\u0744\76\0\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\2\11\1\u0745\14\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u0746" + + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\2\11\1\u0747\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\2\11\1\u0662\14\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u0748\2\11\14\0\17\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\6\11\1\u0749\10\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u074a\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\u074b\1\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + + "\1\u074c\4\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u074d" + "\10\11\2\0\1\10\25\11\35\0\1\u074e\70\0\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u0662\4\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\5\11\1\u074f\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u0750\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\11\1\u0751\4\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\16\11\1\u0410\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\1\11\1\u05a2\4\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u0752\10\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u0753\1\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\2\11\1\u0754\3\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u0755" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u0756\10\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\11\1\u0757\4\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\1\0\1\u0758\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\1\u0759\5\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\2\11" + + "\1\u075a\14\11\2\0\1\10\25\11\35\0\1\u05b2\151\0" + "\1\u075b\44\0\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\6\11\1\u075c\10\11\2\0\1\10\25\11\74\0" + + "\1\u075d\123\0\1\u075e\33\0\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\2\11\1\u02e1\14\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u075f" + "\3\11\14\0\17\11\2\0\1\10\25\11\63\0\1\u0760" + + "\42\0\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\6\11\1\u0761\10\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u0762\15\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\4\11\1\u071d" + "\1\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\1\11\1\u0726\15\11\1\u071f\5\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\4\11\1\u0538" + "\12\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\2\11\1\u0727" - + "\22\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u06de" + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\4\11\1\u03d9\1\11\14\0\1\11\1\u0728" + "\15\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\6\11\1\u0729\10\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\11\1\u072a" - + "\4\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\4\11\1\u072b\1\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\u072c\5\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\1\11\1\u072d\4\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\3\11\1\u072e\2\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\1\u072f" - + "\1\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u035c\5\11\14\0\17\11\2\0\1\10" - + "\25\11\37\0\1\u0730\146\0\1\u0731\45\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\1\11\1\u0732\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\25\11\37\0\1\u0733\102\0\1\u0734\111\0\1\10" - + "\7\11\1\0\1\11\1\147\1\0\1\u0735\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\12\11\1\u0736\4\11\2\0\1\10\25\11" + "\37\0\1\u0737\66\0\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\13\11\1\u04fc\3\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u0738\5\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\11\1\u0739\4\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u073a\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\14\11\1\u073b\2\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\1\0\1\u073c" - + "\6\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\u073d\5\11\14\0\17\11\2\0" + "\1\10\25\11\66\0\1\u073e\37\0\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\2\11\1\u05c4\3\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" - + "\1\u073f\4\11\14\0\17\11\2\0\1\10\25\11\25\0" + "\1\u0740\41\0\1\u0741\15\0\1\u0742\10\0\1\u0743\36\0" - + "\1\u0744\76\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\2\11\1\u0745\14\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u0746" + "\10\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u0747\3\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\2\11\1\u0662\14\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\3\11\1\u0748\2\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u0749\10\11\2\0\1\10\25\11" + + "\2\0\1\10\10\11\1\u05d8\14\11\6\0\1\u0763\117\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" + "\1\u0764\10\11\2\0\1\10\25\11\62\0\1\u0765\43\0" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u0335\2\11" + + "\14\0\17\11\2\0\1\10\25\11\60\0\1\u0766\125\0" + "\1\u0767\61\0\1\u0730\147\0\1\u0768\131\0\1\u0769\63\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" - + "\1\u074a\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\4\11\1\u074b\1\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\1\11" + "\1\u074c\4\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\6\11\1\u074d" - + "\10\11\2\0\1\10\25\11\35\0\1\u074e\70\0\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\1\11\1\u0662\4\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\5\11\1\u074f\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" - + "\1\u0750\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\11\1\u0751\4\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\16\11\1\u0410\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u05a2\4\11\14\0\17\11" + + "\1\u0344\15\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\5\11\1\u076a\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u076b" + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\5\11\1\u076c\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + + "\1\u076d\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u0442\1\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\2\11" + "\1\u076e\14\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\3\11\1\u076f\2\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + + "\1\u0770\3\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + + "\1\11\4\0\6\11\2\0\6\11\14\0\2\11\1\u0771" + "\14\11\2\0\1\10\25\11\32\0\1\u0772\73\0\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\5\11\1\u0773\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\6\11\1\u0752\10\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\1\u0753\1\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u0754\3\11\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u0755" - + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u0756\10\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\11\1\u0757\4\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\1\0\1\u0758\6\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\1\u0759\5\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\2\11" + "\1\u075a\14\11\2\0\1\10\25\11\35\0\1\u05b2\151\0" - + "\1\u075b\44\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" - + "\14\0\6\11\1\u075c\10\11\2\0\1\10\25\11\74\0" + "\1\u075d\123\0\1\u075e\33\0\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\2\11\1\u02e1\14\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u075f" - + "\3\11\14\0\17\11\2\0\1\10\25\11\63\0\1\u0760" + "\42\0\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\6\11\1\u0761\10\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\1\11\1\u0762\15\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\4\11\1\u071d" - + "\1\11\2\0\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\10\11\1\u05d8\14\11\6\0\1\u0763\117\0" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\6\11" - + "\1\u0764\10\11\2\0\1\10\25\11\62\0\1\u0765\43\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u0335\2\11" + "\14\0\17\11\2\0\1\10\25\11\60\0\1\u0766\125\0" - + "\1\u0767\61\0\1\u0730\147\0\1\u0768\131\0\1\u0769\63\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\1\11" + "\1\u0344\15\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\5\11\1\u076a\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u076b" - + "\2\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\5\11\1\u076c\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u076d\3\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\1\u0442\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\2\11" - + "\1\u076e\14\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\3\11\1\u076f\2\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\2\11" + "\1\u0770\3\11\14\0\17\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\2\11\1\u0771" - + "\14\11\2\0\1\10\25\11\32\0\1\u0772\73\0\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\5\11\1\u0773\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\2\11\1\u0774\14\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u0775\2\11" + + "\6\11\14\0\2\11\1\u0774\14\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u0775\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\1\u0538" + + "\24\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u0776" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\17\11\2\0\1\10\1\u0538" + "\24\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u0776" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\4\11\1\u01d1\1\11\14\0\17\11\2\0" - + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" - + "\1\u0777\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\2\11\1\u03c0" + "\14\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\2\11\1\u0778\3\11\14\0\17\11\2\0\1\10" - + "\25\11\74\0\1\u0779\31\0\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\1\11\1\u077a\15\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u0235" + "\2\11\14\0\17\11\2\0\1\10\25\11\37\0\1\u077b" - + "\66\0\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\4\11\1\u0751\12\11\2\0\1\10\25\11\40\0\1\u077c" + "\177\0\1\u077d\13\0\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\1\11\1\u077e\4\11\14\0\17\11\2\0\1\10\25\11" - + "\65\0\1\u077f\40\0\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\3\11\1\u0780\2\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\5\11" + "\1\247\11\11\2\0\1\10\25\11\60\0\1\u0781\45\0" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u0782\2\11" - + "\14\0\17\11\2\0\1\10\25\11\41\0\1\u0783\100\0" + "\1\u0784\122\0\1\u0785\201\0\1\u0786\75\0\1\u0787\70\0" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u0788\5\11\14\0" - + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\2\11\1\u0789\14\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u078a" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\5\11\1\u04a6\14\0\17\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u078b" - + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\13\11\1\u0662\3\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\4\11\1\u078c\12\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\1\u06ab\5\11\14\0" - + "\17\11\2\0\1\10\25\11\64\0\1\u078d\41\0\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + "\1\10\10\11\1\u078e\14\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\6\11\1\u078f\10\11\2\0\1\10" - + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0635\5\11" + + "\6\11\2\0\4\11\1\u01d1\1\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\3\11" + "\1\u0777\2\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\2\11\1\u03c0" + + "\14\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\2\11\1\u0778\3\11\14\0\17\11\2\0\1\10" + "\25\11\74\0\1\u0779\31\0\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\1\11\1\u077a\15\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\3\11\1\u0235" + + "\2\11\14\0\17\11\2\0\1\10\25\11\37\0\1\u077b" + "\66\0\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\4\11\1\u0751\12\11\2\0\1\10\25\11\40\0\1\u077c" + + "\177\0\1\u077d\13\0\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\1\11\1\u077e\4\11\14\0\17\11\2\0\1\10\25\11" + "\65\0\1\u077f\40\0\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\3\11\1\u0780\2\11\14\0\17\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\5\11" + + "\1\247\11\11\2\0\1\10\25\11\60\0\1\u0781\45\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u0782\2\11" + "\14\0\17\11\2\0\1\10\25\11\41\0\1\u0783\100\0" + + "\1\u0784\122\0\1\u0785\201\0\1\u0786\75\0\1\u0787\70\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\u0788\5\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\2\11\1\u0789\14\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\5\11\1\u078a" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\u0790\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\7\11\1\u0791\7\11\2\0\1\10\25\11\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\3\11\1\u0792\2\11\14\0\17\11" - + "\2\0\1\10\25\11\37\0\1\u0793\66\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\1\11\1\u0794\4\11\14\0\17\11" + "\2\0\1\10\25\11\26\0\1\u0795\54\0\1\u0796\36\0" - + "\1\u0797\171\0\1\u0798\45\0\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\5\11\1\u0799\14\0\17\11\2\0\1\10\25\11" + "\66\0\1\u079a\37\0\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u079b\1\11\14\0\17\11\2\0\1\10\25\11" - + "\14\0\1\u079c\111\0\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\4\11\1\u079d\1\11\14\0\17\11\2\0\1\10\25\11" + "\37\0\1\u079e\160\0\1\u05b2\62\0\1\u079f\164\0\1\u07a0" - + "\75\0\1\u07a1\67\0\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\6\11\1\u07a2\10\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\1\u049b\5\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\5\11\1\u07a3\1\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\6\11\2\0\5\11\1\u04a6\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u078b" + "\3\11\14\0\17\11\2\0\1\10\25\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\13\11\1\u0662\3\11" + + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\4\11\1\u078c\12\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\1\u06ab\5\11\14\0" + "\17\11\2\0\1\10\25\11\64\0\1\u078d\41\0\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\6\11\14\0\17\11\2\0" + + "\1\10\10\11\1\u078e\14\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\2\0\6\11\14\0\6\11\1\u078f\10\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u0635\5\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\u0790\5\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" - + "\17\11\2\0\1\10\15\11\1\u07a4\7\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u05d2\10\11" + "\2\0\1\10\25\11\63\0\1\u07a5\42\0\1\10\7\11" - + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\2\11\1\u07a6\3\11\14\0\17\11" - + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + "\1\0\1\u07a7\1\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" - + "\1\11\4\0\6\11\2\0\3\11\1\u07a8\2\11\14\0" + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" - + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\1\0\1\u07a9\6\11\14\0\17\11\2\0\1\10\25\11" - + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\7\11" - + "\1\u07aa\7\11\2\0\1\10\25\11\61\0\1\u07ab\44\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\1\0\1\u07ac\6\11\14\0" + "\17\11\2\0\1\10\25\11\41\0\1\u07ad\147\0\1\u07ae" - + "\134\0\1\u066a\114\0\1\u066a\44\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\6\11\14\0\6\11\1\u07af\10\11\2\0" + "\1\10\25\11\40\0\1\u07b0\65\0\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\6\11\1\u07b1\10\11\2\0" - + "\1\10\25\11\35\0\1\u07b2\70\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\1\u03e6\5\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\32\0\1\u035e\52\0\1\u07b3\61\0\1\u066a\151\0" - + "\1\u07b4\100\0\1\u07b5\65\0\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" - + "\2\0\6\11\14\0\4\11\1\u04fc\12\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\1\u07b6\16\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\1\11\1\u07b7\15\11\2\0" - + "\1\10\25\11\37\0\1\u07b8\66\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\1\11\1\u07b9\4\11\14\0\17\11\2\0" + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" - + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + "\14\0\13\11\1\u0162\3\11\2\0\1\10\25\11\1\10" - + "\7\11\1\0\1\11\1\147\1\0\1\u07ba\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\25\11\117\0\1\u07bb\6\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" - + "\4\0\6\11\1\0\1\u07bc\6\11\14\0\17\11\2\0" + "\1\10\25\11\65\0\1\u07bd\154\0\1\u07be\71\0\1\u07bf" - + "\103\0\1\u07c0\67\0\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" - + "\6\11\14\0\1\11\1\u07c1\15\11\2\0\1\10\25\11" + "\41\0\1\u07c2\64\0\1\10\7\11\1\0\1\11\1\147" - + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\1\u07c3\24\11\36\0" - + "\1\u07c4\155\0\1\u07c5\74\0\1\u07c6\153\0\1\u07c7\42\0" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" - + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u07c8\2\11" + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" - + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\6\11\1\u0676\10\11\2\0" - + "\1\10\25\11\62\0\1\u07c9\43\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" - + "\6\11\2\0\5\11\1\u03eb\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" - + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u04fc\5\11" + "\14\0\17\11\2\0\1\10\25\11\37\0\1\u07ca\204\0" + + "\7\11\1\u0791\7\11\2\0\1\10\25\11\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\3\11\1\u0792\2\11\14\0\17\11" + "\2\0\1\10\25\11\37\0\1\u0793\66\0\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u0794\4\11\14\0\17\11" + + "\2\0\1\10\25\11\26\0\1\u0795\54\0\1\u0796\36\0" + "\1\u0797\171\0\1\u0798\45\0\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\5\11\1\u0799\14\0\17\11\2\0\1\10\25\11" + + "\66\0\1\u079a\37\0\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\4\11\1\u079b\1\11\14\0\17\11\2\0\1\10\25\11" + "\14\0\1\u079c\111\0\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\4\11\1\u079d\1\11\14\0\17\11\2\0\1\10\25\11" + + "\37\0\1\u079e\160\0\1\u05b2\62\0\1\u079f\164\0\1\u07a0" + "\75\0\1\u07a1\67\0\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\6\11\1\u07a2\10\11\2\0\1\10\25\11" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\1\u049b\5\11\2\0\6\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\5\11\1\u07a3\1\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + "\17\11\2\0\1\10\15\11\1\u07a4\7\11\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\6\11\1\u05d2\10\11" + + "\2\0\1\10\25\11\63\0\1\u07a5\42\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + + "\4\0\6\11\2\0\2\11\1\u07a6\3\11\14\0\17\11" + "\2\0\1\10\25\11\1\10\7\11\1\0\1\11\1\147" + + "\1\0\1\u07a7\1\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\17\11\2\0\1\10\25\11\1\10" + + "\7\11\1\0\1\11\1\147\1\0\2\11\1\0\1\10" + "\1\11\4\0\6\11\2\0\3\11\1\u07a8\2\11\14\0" + + "\17\11\2\0\1\10\25\11\1\10\7\11\1\0\1\11" + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + + "\1\0\1\u07a9\6\11\14\0\17\11\2\0\1\10\25\11" + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\7\11" + "\1\u07aa\7\11\2\0\1\10\25\11\61\0\1\u07ab\44\0" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\1\0\1\u07ac\6\11\14\0" + + "\17\11\2\0\1\10\25\11\41\0\1\u07ad\147\0\1\u07ae" + "\134\0\1\u066a\114\0\1\u066a\44\0\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\6\11\14\0\6\11\1\u07af\10\11\2\0" + + "\1\10\25\11\40\0\1\u07b0\65\0\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\6\11\1\u07b1\10\11\2\0" + "\1\10\25\11\35\0\1\u07b2\70\0\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\1\u03e6\5\11\2\0\6\11\14\0\17\11\2\0\1\10" + + "\25\11\32\0\1\u035e\52\0\1\u07b3\61\0\1\u066a\151\0" + "\1\u07b4\100\0\1\u07b5\65\0\1\10\7\11\1\0\1\11" + + "\1\147\1\0\2\11\1\0\1\10\1\11\4\0\6\11" + "\2\0\6\11\14\0\4\11\1\u04fc\12\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\6\11\14\0" + + "\1\u07b6\16\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\1\11\1\u07b7\15\11\2\0" + "\1\10\25\11\37\0\1\u07b8\66\0\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\1\11\1\u07b9\4\11\14\0\17\11\2\0" + + "\1\10\25\11\1\10\7\11\1\0\1\11\1\147\1\0" + "\2\11\1\0\1\10\1\11\4\0\6\11\2\0\6\11" + + "\14\0\13\11\1\u0162\3\11\2\0\1\10\25\11\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u07ba\1\11\1\0" + + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" + "\2\0\1\10\25\11\117\0\1\u07bb\6\0\1\10\7\11" + + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\1\0\1\u07bc\6\11\14\0\17\11\2\0" + + "\1\10\25\11\65\0\1\u07bd\154\0\1\u07be\71\0\1\u07bf" + "\103\0\1\u07c0\67\0\1\10\7\11\1\0\1\11\1\147" + + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\1\11\1\u07c1\15\11\2\0\1\10\25\11" + + "\41\0\1\u07c2\64\0\1\10\7\11\1\0\1\11\1\147" + "\1\0\2\11\1\0\1\10\1\11\4\0\6\11\2\0" + + "\6\11\14\0\17\11\2\0\1\10\1\u07c3\24\11\36\0" + "\1\u07c4\155\0\1\u07c5\74\0\1\u07c6\153\0\1\u07c7\42\0" + + "\1\10\7\11\1\0\1\11\1\147\1\0\2\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\3\11\1\u07c8\2\11" + + "\14\0\17\11\2\0\1\10\25\11\1\10\7\11\1\0" + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + + "\6\11\2\0\6\11\14\0\6\11\1\u0676\10\11\2\0" + "\1\10\25\11\62\0\1\u07c9\43\0\1\10\7\11\1\0" + + "\1\11\1\147\1\0\2\11\1\0\1\10\1\11\4\0" + "\6\11\2\0\5\11\1\u03eb\14\0\17\11\2\0\1\10" + + "\25\11\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\1\u04fc\5\11" + + "\14\0\17\11\2\0\1\10\25\11\37\0\1\u07ca\204\0" + "\1\u07cb\45\0\1\u07cc\104\0\1\u07cd\173\0\1\u07ce\127\0" + "\1\u07cf\40\0\1\10\7\11\1\0\1\11\1\147\1\0" + "\1\u07d0\1\11\1\0\1\10\1\11\4\0\6\11\2\0" + "\6\11\14\0\17\11\2\0\1\10\25\11\25\0\1\u07d1" + "\100\0\1\10\7\11\1\0\1\11\1\147\1\0\2\11" + "\1\0\1\10\1\11\4\0\6\11\2\0\2\11\1\u07d2" + "\3\11\14\0\17\11\2\0\1\10\25\11\60\0\1\u07d3" + "\133\0\1\u07d4\124\0\1\u07d5\75\0\1\u07d6\70\0\1\10" + "\7\11\1\0\1\11\1\147\1\0\1\u02ee\1\11\1\0" + "\1\10\1\11\4\0\6\11\2\0\6\11\14\0\17\11" - + "\2\0\1\10\25\11\35\0\1\u07d7\125\0\1\u07d8\101\0" + "\1\u07ca\153\0\1\u07d9\113\0\1\u0740\41\0\1\u0741\15\0" + + "\2\0\1\10\25\11\35\0\1\u07d7\125\0\1\u07d8\101\0" + + "\1\u07ca\153\0\1\u07d9\113\0\1\u0740\41\0\1\u0741\15\0" + "\1\u0742\115\0\1\u05b2\112\0\1\u0730\43\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\6\11\14\0\17\11\2\0\1\10" + "\11\11\1\u03ff\13\11\40\0\1\u07da\65\0\1\10\7\11" + "\1\0\1\11\1\147\1\0\2\11\1\0\1\10\1\11" + "\4\0\6\11\2\0\1\11\1\u0410\4\11\14\0\17\11" + "\2\0\1\10\25\11\41\0\1\u05b2\75\0\1\u07db\205\0" + "\1\u066a\61\0\1\u07dc\41\0\1\u07dd\13\0\1\u07de\1\0" - + "\1\u07df\105\0\1\u07e0\71\0\1\u07e1\157\0\1\u07e2\135\0" + "\1\u07e3\67\0\1\u07e4\150\0\1\u07e5\125\0\1\u07e6\127\0" - + "\1\u07e7\57\0\1\u07e8\171\0\1\u07e9\132\0\1\u07ea\75\0" + "\1\u07eb\150\0\1\u07ec\105\0\1\u07ed\101\0\1\u07ee\122\0" - + "\1\u07ef\155\0\1\u07f0\121\0\1\u07f1\104\0\1\u07f2\150\0" + "\1\u07f3\122\0\1\u07f4\102\0\1\u07f5\143\0\1\u07f6\170\0" - + "\1\u07f1\62\0\1\u07f7\163\0\1\u07f8\143\0\1\u07de\132\0" + "\1\u07f9\56\0\1\u07fa\172\0\1\u07fb\54\0\1\u07fc\131\0" - + "\1\u07fd\125\0\1\u07fe\121\0\1\u07ff\130\0\1\u0800\146\0" + "\1\u05b2\137\0\1\u0801\63\0\1\u0802\133\0\1\u029d\125\0" - + "\1\u07f1\125\0\1\u0803\102\0\1\u0804\173\0\1\u066a\123\0" + "\1\u0805\103\0\1\u0806\150\0\1\u0807\102\0\1\u0808\127\0" + + "\1\u07df\105\0\1\u07e0\71\0\1\u07e1\157\0\1\u07e2\135\0" + + "\1\u07e3\67\0\1\u07e4\150\0\1\u07e5\125\0\1\u07e6\127\0" + + "\1\u07e7\57\0\1\u07e8\171\0\1\u07e9\132\0\1\u07ea\75\0" + + "\1\u07eb\150\0\1\u07ec\105\0\1\u07ed\101\0\1\u07ee\122\0" + + "\1\u07ef\155\0\1\u07f0\121\0\1\u07f1\104\0\1\u07f2\150\0" + + "\1\u07f3\122\0\1\u07f4\102\0\1\u07f5\143\0\1\u07f6\170\0" + + "\1\u07f1\62\0\1\u07f7\163\0\1\u07f8\143\0\1\u07de\132\0" + + "\1\u07f9\56\0\1\u07fa\172\0\1\u07fb\54\0\1\u07fc\131\0" + + "\1\u07fd\125\0\1\u07fe\121\0\1\u07ff\130\0\1\u0800\146\0" + + "\1\u05b2\137\0\1\u0801\63\0\1\u0802\133\0\1\u029d\125\0" + + "\1\u07f1\125\0\1\u0803\102\0\1\u0804\173\0\1\u066a\123\0" + + "\1\u0805\103\0\1\u0806\150\0\1\u0807\102\0\1\u0808\127\0" + "\1\u0809\126\0\1\u068a\152\0\1\u05b2\74\0\1\u080a\150\0" + "\1\u06cf\45\0"; - + private static int[] zzUnpackTrans() { int[] result = new int[172688]; int offset = 0; @@ -2582,7 +2643,7 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { offset = zzUnpackTrans(ZZ_TRANS_PACKED_1, 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 */ @@ -2597,7 +2658,7 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -2609,25 +2670,31 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\2\1\1\0\12\1\2\11\21\1\2\11\4\1" + "\1\11\35\1\1\11\5\1\1\11\10\1\1\11\6\1" - + "\1\11\3\1\1\11\1\1\2\11\24\1\1\0\1\1" + "\1\0\7\1\2\0\1\11\54\1\2\0\122\1\2\0" + "\1\11\4\0\1\11\2\0\1\11\22\0\1\11\1\0" - + "\1\1\2\0\2\11\3\1\1\0\14\1\2\11\3\1" + "\1\0\2\1\1\11\5\1\1\11\235\1\37\0\1\11" + "\2\0\1\11\15\1\1\11\1\1\1\0\5\1\1\11" - + "\174\1\1\0\31\1\2\0\1\1\2\0\1\1\15\0" + "\1\11\12\0\1\1\1\0\1\11\16\1\1\0\167\1" + "\1\0\31\1\36\0\17\1\1\0\154\1\1\0\26\1" - + "\23\0\14\1\1\0\2\1\1\0\3\1\1\0\114\1" + "\1\0\14\1\1\0\32\1\5\0\1\1\4\0\15\1" + "\4\0\3\1\2\0\102\1\2\0\11\1\1\0\33\1" - + "\12\0\13\1\4\0\3\1\1\0\76\1\2\0\10\1" + "\1\11\27\1\5\0\4\1\1\0\5\1\4\0\1\1" + "\1\0\3\1\1\0\57\1\2\0\32\1\5\0\3\1" - + "\2\0\3\1\4\0\3\1\1\0\47\1\2\0\23\1" + "\2\0\2\1\2\0\3\1\4\0\3\1\1\0\14\1" + "\1\0\7\1\1\0\16\1\1\0\26\1\2\0\2\1" - + "\3\0\2\1\1\0\13\1\1\0\2\1\2\0\12\1" + "\1\0\23\1\2\0\1\1\2\0\2\1\1\0\7\1" + "\1\0\2\1\2\0\12\1\1\0\17\1\2\0\1\1" - + "\2\0\2\1\1\0\4\1\1\0\1\1\1\0\1\1" + "\5\0\11\1\1\0\11\1\1\0\2\1\1\0\1\1" + "\2\0\1\1\1\0\2\1\1\0\1\1\5\0\10\1" - + "\1\0\6\1\1\0\1\1\3\0\1\1\1\0\1\1" + "\1\0\1\1\5\0\5\1\1\0\5\1\1\0\1\1" + "\4\0\1\1\1\0\1\1\1\0\1\1\4\0\3\1" - + "\1\0\3\1\1\0\1\1\4\0\1\1\1\0\1\1" + "\4\0\2\1\1\0\2\1\6\0\1\1\1\0\1\1" + "\4\0\1\1\7\0\1\1\1\0\1\1\30\0\1\1" + "\37\0"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\2\1\1\0\12\1\2\11\21\1\2\11\4\1" + + "\1\11\35\1\1\11\5\1\1\11\10\1\1\11\6\1" + "\1\11\3\1\1\11\1\1\2\11\24\1\1\0\1\1" + + "\1\0\7\1\2\0\1\11\54\1\2\0\122\1\2\0" + "\1\11\4\0\1\11\2\0\1\11\22\0\1\11\1\0" + + "\1\1\2\0\2\11\3\1\1\0\14\1\2\11\3\1" + "\1\0\2\1\1\11\5\1\1\11\235\1\37\0\1\11" + + "\2\0\1\11\15\1\1\11\1\1\1\0\5\1\1\11" + "\174\1\1\0\31\1\2\0\1\1\2\0\1\1\15\0" + + "\1\11\12\0\1\1\1\0\1\11\16\1\1\0\167\1" + "\1\0\31\1\36\0\17\1\1\0\154\1\1\0\26\1" + + "\23\0\14\1\1\0\2\1\1\0\3\1\1\0\114\1" + "\1\0\14\1\1\0\32\1\5\0\1\1\4\0\15\1" + + "\4\0\3\1\2\0\102\1\2\0\11\1\1\0\33\1" + "\12\0\13\1\4\0\3\1\1\0\76\1\2\0\10\1" + + "\1\11\27\1\5\0\4\1\1\0\5\1\4\0\1\1" + "\1\0\3\1\1\0\57\1\2\0\32\1\5\0\3\1" + + "\2\0\3\1\4\0\3\1\1\0\47\1\2\0\23\1" + "\2\0\2\1\2\0\3\1\4\0\3\1\1\0\14\1" + + "\1\0\7\1\1\0\16\1\1\0\26\1\2\0\2\1" + "\3\0\2\1\1\0\13\1\1\0\2\1\2\0\12\1" + + "\1\0\23\1\2\0\1\1\2\0\2\1\1\0\7\1" + "\1\0\2\1\2\0\12\1\1\0\17\1\2\0\1\1" + + "\2\0\2\1\1\0\4\1\1\0\1\1\1\0\1\1" + "\5\0\11\1\1\0\11\1\1\0\2\1\1\0\1\1" + + "\2\0\1\1\1\0\2\1\1\0\1\1\5\0\10\1" + "\1\0\6\1\1\0\1\1\3\0\1\1\1\0\1\1" + + "\1\0\1\1\5\0\5\1\1\0\5\1\1\0\1\1" + "\4\0\1\1\1\0\1\1\1\0\1\1\4\0\3\1" + + "\1\0\3\1\1\0\1\1\4\0\1\1\1\0\1\1" + "\4\0\2\1\1\0\2\1\6\0\1\1\1\0\1\1" + + "\4\0\1\1\7\0\1\1\1\0\1\1\30\0\1\1" + "\37\0"; + private static int[] zzUnpackAttribute() { int[] result = new int[2058]; 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 */ @@ -2641,7 +2708,7 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -2649,8 +2716,8 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -2660,74 +2727,65 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public GroovyTokenMaker() {} - + public GroovyTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -2735,21 +2793,18 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -2758,24 +2813,24 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = MULTILINE_STRING_DOUBLE; - start = text.offset; - break; - case Token.LITERAL_CHAR: - state = MULTILINE_STRING_SINGLE; - start = text.offset; - break; - case Token.COMMENT_MULTILINE: - state = MLC; - start = text.offset; - break; - case Token.COMMENT_DOCUMENTATION: - state = DOCCOMMENT; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = MULTILINE_STRING_DOUBLE; + start = text.offset; + break; + case Token.LITERAL_CHAR: + state = MULTILINE_STRING_SINGLE; + start = text.offset; + break; + case Token.COMMENT_MULTILINE: + state = MLC; + start = text.offset; + break; + case Token.COMMENT_DOCUMENTATION: + state = DOCCOMMENT; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -2787,53 +2842,51 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** - * Returns whether a regular expression token can follow the specified - * token. + * Returns whether a regular expression token can follow the specified token. * - * @param t - * The token to check, which may be null. + * @param t The token to check, which may be null. * @return Whether a regular expression token may follow this one. */ private static final boolean regexCanFollow(Token t) { char ch; return t == null || // t.isOperator() || - (t.length() == 1 && ((ch = t.charAt(0)) == '=' || ch == '(' || ch == ',' || ch == '?' || ch == ':' || ch == '[')) || + (t.length() == 1 + && ((ch = t.charAt(0)) == '=' || ch == '(' || ch == ',' || ch == '?' || ch == ':' || ch == '[')) + || /* Operators "==", "===", "!=", "!==", etc. */ (t.getType() == Token.OPERATOR && ((ch = t.charAt(t.length() - 1)) == '=' || ch == '~')); } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -2843,34 +2896,31 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public GroovyTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public GroovyTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -2886,7 +2936,7 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -2896,69 +2946,64 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -2969,29 +3014,27 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -3010,8 +3053,7 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -3051,354 +3093,355 @@ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 21: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 49: - break; - case 3: { - addToken(Token.IDENTIFIER); - } - case 50: - break; - case 43: { - addToken(Token.LITERAL_BOOLEAN); - } - case 51: - break; - case 6: { - start = zzMarkedPos - 1; - yybegin(STRING_DOUBLE); - } - case 52: - break; - case 36: { - start = zzMarkedPos - 3; - yybegin(MULTILINE_STRING_DOUBLE); - } - case 53: - break; - case 13: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - return firstToken; - } - case 54: - break; - case 35: { - addToken(Token.ERROR_CHAR); - } - case 55: - break; - case 22: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 56: - break; - case 5: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 57: - break; - case 11: { - addToken(Token.ANNOTATION); - } - case 58: - break; - case 29: { - addToken(Token.FUNCTION); - } - case 59: - break; - case 34: { - start = zzMarkedPos - 3; - yybegin(MULTILINE_STRING_SINGLE); - } - case 60: - break; - case 2: { - addToken(Token.ERROR_IDENTIFIER); - } - case 61: - break; - case 37: { - boolean highlightedAsRegex = false; - if (zzBuffer[zzStartRead] == '~' || firstToken == null) { + case 21: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 49: + break; + case 3: { + addToken(Token.IDENTIFIER); + } + case 50: + break; + case 43: { + addToken(Token.LITERAL_BOOLEAN); + } + case 51: + break; + case 6: { + start = zzMarkedPos - 1; + yybegin(STRING_DOUBLE); + } + case 52: + break; + case 36: { + start = zzMarkedPos - 3; + yybegin(MULTILINE_STRING_DOUBLE); + } + case 53: + break; + case 13: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + return firstToken; + } + case 54: + break; + case 35: { + addToken(Token.ERROR_CHAR); + } + case 55: + break; + case 22: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 56: + break; + case 5: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 57: + break; + case 11: { + addToken(Token.ANNOTATION); + } + case 58: + break; + case 29: { + addToken(Token.FUNCTION); + } + case 59: + break; + case 34: { + start = zzMarkedPos - 3; + yybegin(MULTILINE_STRING_SINGLE); + } + case 60: + break; + case 2: { + addToken(Token.ERROR_IDENTIFIER); + } + case 61: + break; + case 37: { + boolean highlightedAsRegex = false; + if (zzBuffer[zzStartRead] == '~' || firstToken == null) { + addToken(Token.REGEX); + highlightedAsRegex = true; + } else { + // If this is *likely* to be a regex, based on + // the previous token, highlight it as such. + Token t = firstToken.getLastNonCommentNonWhitespaceToken(); + if (regexCanFollow(t)) { addToken(Token.REGEX); highlightedAsRegex = true; - } else { - // If this is *likely* to be a regex, based on - // the previous token, highlight it as such. - Token t = firstToken.getLastNonCommentNonWhitespaceToken(); - if (regexCanFollow(t)) { - addToken(Token.REGEX); - highlightedAsRegex = true; - } - } - // If it doesn't *appear* to be a regex, highlight it as - // individual tokens. - if (!highlightedAsRegex) { - int temp = zzStartRead + 1; - addToken(zzStartRead, zzStartRead, Token.OPERATOR); - zzStartRead = zzCurrentPos = zzMarkedPos = temp; } } - case 62: - break; - case 41: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 2, Token.LITERAL_CHAR); + // If it doesn't *appear* to be a regex, highlight it as + // individual tokens. + if (!highlightedAsRegex) { + int temp = zzStartRead + 1; + addToken(zzStartRead, zzStartRead, Token.OPERATOR); + zzStartRead = zzCurrentPos = zzMarkedPos = temp; } - case 63: - break; - case 46: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.VARIABLE); - start = zzMarkedPos; - } - case 64: - break; - case 32: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.PREPROCESSOR); - start = zzMarkedPos; - } - case 65: - break; - case 45: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); - start = zzMarkedPos; - } - case 66: - break; - case 15: { /* Skip escaped chars, handles case: '\"""'. */ - } - case 67: - break; - case 25: { - addToken(Token.LITERAL_CHAR); - } - case 68: - break; - case 19: { /* Skip escaped chars. */ - } - case 69: - break; - case 40: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 2, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 70: - break; - case 24: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 71: - break; - case 27: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 72: - break; - case 8: { - addToken(Token.WHITESPACE); - } - case 73: - break; - case 31: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); - } - case 74: - break; - case 39: { - addToken(Token.DATA_TYPE); - } - case 75: - break; - case 30: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 76: - break; - case 4: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 77: - break; - case 33: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addToken(temp, zzMarkedPos - 1, Token.VARIABLE); - start = zzMarkedPos; - } - case 78: - break; - case 20: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 79: - break; - case 17: { /* Skip escaped chars, handles case: "\'''". */ - } - case 80: - break; - case 38: { - start = zzMarkedPos - 3; - yybegin(DOCCOMMENT); - } - case 81: - break; - case 28: { - addToken(Token.RESERVED_WORD); - } - case 82: - break; - case 44: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 83: - break; - case 48: { - addToken(Token.RESERVED_WORD_2); - } - case 84: - break; - case 14: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 85: - break; - case 10: { - addToken(Token.SEPARATOR); - } - case 86: - break; - case 7: { - addNullToken(); - return firstToken; - } - case 87: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 88: - break; - case 9: { - addToken(Token.OPERATOR); - } - case 89: - break; - case 18: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 90: - break; - case 23: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 91: - break; - case 47: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 92: - break; - case 42: { - addToken(Token.COMMENT_MULTILINE); - } - case 93: - break; - case 26: { - start = zzMarkedPos - 2; - yybegin(EOL_COMMENT); - } - case 94: - break; - case 1: {} - case 95: - break; - case 16: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 96: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 2059: - break; - case MULTILINE_STRING_DOUBLE: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 2060: - break; - case DOCCOMMENT: { - yybegin(YYINITIAL); - addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); - return firstToken; - } - case 2061: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 2062: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 2063: - break; - case STRING_DOUBLE: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - return firstToken; - } - case 2064: - break; - case MULTILINE_STRING_SINGLE: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 2065: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + } + case 62: + break; + case 41: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 2, Token.LITERAL_CHAR); + } + case 63: + break; + case 46: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.VARIABLE); + start = zzMarkedPos; + } + case 64: + break; + case 32: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.PREPROCESSOR); + start = zzMarkedPos; + } + case 65: + break; + case 45: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); + start = zzMarkedPos; + } + case 66: + break; + case 15: { /* Skip escaped chars, handles case: '\"""'. */ + } + case 67: + break; + case 25: { + addToken(Token.LITERAL_CHAR); + } + case 68: + break; + case 19: { /* Skip escaped chars. */ + } + case 69: + break; + case 40: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 2, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 70: + break; + case 24: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 71: + break; + case 27: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 72: + break; + case 8: { + addToken(Token.WHITESPACE); + } + case 73: + break; + case 31: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); + } + case 74: + break; + case 39: { + addToken(Token.DATA_TYPE); + } + case 75: + break; + case 30: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 76: + break; + case 4: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 77: + break; + case 33: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addToken(temp, zzMarkedPos - 1, Token.VARIABLE); + start = zzMarkedPos; + } + case 78: + break; + case 20: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 79: + break; + case 17: { /* Skip escaped chars, handles case: "\'''". */ + } + case 80: + break; + case 38: { + start = zzMarkedPos - 3; + yybegin(DOCCOMMENT); + } + case 81: + break; + case 28: { + addToken(Token.RESERVED_WORD); + } + case 82: + break; + case 44: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 83: + break; + case 48: { + addToken(Token.RESERVED_WORD_2); + } + case 84: + break; + case 14: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 85: + break; + case 10: { + addToken(Token.SEPARATOR); + } + case 86: + break; + case 7: { + addNullToken(); + return firstToken; + } + case 87: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 88: + break; + case 9: { + addToken(Token.OPERATOR); + } + case 89: + break; + case 18: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 90: + break; + case 23: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 91: + break; + case 47: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 92: + break; + case 42: { + addToken(Token.COMMENT_MULTILINE); + } + case 93: + break; + case 26: { + start = zzMarkedPos - 2; + yybegin(EOL_COMMENT); + } + case 94: + break; + case 1: { + } + case 95: + break; + case 16: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 96: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 2059: + break; + case MULTILINE_STRING_DOUBLE: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 2060: + break; + case DOCCOMMENT: { + yybegin(YYINITIAL); + addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); + return firstToken; + } + case 2061: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 2062: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 2063: + break; + case STRING_DOUBLE: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + return firstToken; + } + case 2064: + break; + case MULTILINE_STRING_SINGLE: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 2065: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/HTMLTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/HTMLTokenMaker.java index 3f7927a..880927e 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/HTMLTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/HTMLTokenMaker.java @@ -23,16 +23,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -42,23 +41,23 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated HTMLTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell * @version 0.9 */ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -93,11 +92,14 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\4\1\2\1\0\1\1\1\33\22\0\1\4\1\51\1\7" - + "\1\34\1\36\1\50\1\5\1\110\1\105\1\104\1\37\1\42\1\45" + "\1\31\1\43\1\10\1\25\6\125\1\27\2\24\1\53\1\6\1\3" - + "\1\46\1\17\1\52\1\103\1\112\1\26\1\12\1\116\1\22\1\41" + "\1\120\1\124\1\14\1\126\1\121\1\21\1\115\1\114\1\113\1\15" - + "\1\122\1\13\1\11\1\16\1\117\1\123\1\23\1\40\1\20\1\23" + "\1\107\1\35\1\107\1\47\1\30\1\130\1\71\1\102\1\66\1\70" - + "\1\76\1\73\1\57\1\65\1\56\1\126\1\100\1\67\1\77\1\64" + "\1\62\1\75\1\122\1\61\1\72\1\63\1\32\1\101\1\111\1\106" - + "\1\74\1\127\1\60\1\55\1\44\1\54\uff81\0"; + + "\1\34\1\36\1\50\1\5\1\110\1\105\1\104\1\37\1\42\1\45" + + "\1\31\1\43\1\10\1\25\6\125\1\27\2\24\1\53\1\6\1\3" + + "\1\46\1\17\1\52\1\103\1\112\1\26\1\12\1\116\1\22\1\41" + + "\1\120\1\124\1\14\1\126\1\121\1\21\1\115\1\114\1\113\1\15" + + "\1\122\1\13\1\11\1\16\1\117\1\123\1\23\1\40\1\20\1\23" + + "\1\107\1\35\1\107\1\47\1\30\1\130\1\71\1\102\1\66\1\70" + + "\1\76\1\73\1\57\1\65\1\56\1\126\1\100\1\67\1\77\1\64" + + "\1\62\1\75\1\122\1\61\1\72\1\63\1\32\1\101\1\111\1\106" + "\1\74\1\127\1\60\1\55\1\44\1\54\uff81\0"; /** * Translates characters to character classes */ @@ -106,10 +108,11 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\7\0\1\2" + "\5\0\2\2\1\3\1\4\1\5\1\6\1\1\1\7" - + "\5\1\1\10\2\1\1\11\1\12\2\13\1\14\1\15" + "\1\16\1\17\1\20\1\21\1\22\1\23\2\21\2\23" - + "\3\21\2\23\5\21\1\23\3\21\1\23\1\1\1\24" + "\1\1\1\25\1\15\1\26\1\27\1\30\1\31\1\32" - + "\1\33\1\34\1\35\1\36\2\17\1\2\1\37\1\17" + "\2\2\1\17\2\40\1\17\1\2\1\35\2\17\1\2" + "\1\41\1\35\17\2\1\42\2\2\1\43\1\1\1\44" + private static final String ZZ_ACTION_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\7\0\1\2" + + "\5\0\2\2\1\3\1\4\1\5\1\6\1\1\1\7" + "\5\1\1\10\2\1\1\11\1\12\2\13\1\14\1\15" + + "\1\16\1\17\1\20\1\21\1\22\1\23\2\21\2\23" + "\3\21\2\23\5\21\1\23\3\21\1\23\1\1\1\24" + + "\1\1\1\25\1\15\1\26\1\27\1\30\1\31\1\32" + "\1\33\1\34\1\35\1\36\2\17\1\2\1\37\1\17" + + "\2\2\1\17\2\40\1\17\1\2\1\35\2\17\1\2" + "\1\41\1\35\17\2\1\42\2\2\1\43\1\1\1\44" + "\1\45\1\46\1\1\1\47\1\50\1\51\1\1\1\52" + "\6\1\1\53\4\1\1\54\1\55\1\54\1\56\1\54" + "\1\57\1\54\1\60\1\61\1\54\1\62\1\63\1\64" + "\2\63\1\65\1\63\1\66\1\67\1\70\1\71\1\70" + "\1\72\2\2\1\40\1\2\2\70\1\73\1\74\1\75" + "\1\76\1\77\1\100\1\101\1\1\1\102\2\1\1\103" @@ -123,14 +126,14 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { + "\1\65\15\0\2\111\2\0\11\21\1\23\12\21\1\0" + "\1\35\7\2\1\65\10\2\1\65\6\2\24\0\1\111" + "\1\151\12\21\1\0\1\35\5\2\1\152\12\2\14\0" + "\1\153\3\21\1\0\10\2\10\0\1\21\1\0\3\2" + "\2\0\1\154\4\0\1\21\1\155\1\2\1\156\1\157" + "\6\0\1\160"; - + private static int[] zzUnpackAction() { int[] result = new int[819]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -144,7 +147,7 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -251,14 +254,14 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { + "\0\uef30\0\uef89\0\uefe2\0\uf03b\0\uf094\0\uf0ed\0\uf146\0\uf19f" + "\0\uf1f8\0\uf251\0\u0a15\0\uf2aa\0\uf303\0\uf35c\0\uf3b5\0\uf40e" + "\0\u0a15\0\uf467\0\u0a15\0\u0a15\0\uf4c0\0\uf519\0\uf572\0\uf5cb" + "\0\uf624\0\uf67d\0\u0a15"; - + private static int[] zzUnpackRowMap() { int[] result = new int[819]; 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 */ @@ -269,7 +272,7 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * The transition table of the DFA */ @@ -288,68 +291,77 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\1\136\1\143\1\144\1\145\2\127\1\136\1\146" + "\2\136\1\147\1\150\1\151\1\133\4\146\3\63\1\152" + "\1\153\1\154\1\151\1\155\1\136\1\156\1\157\1\136" + "\1\160\1\161\1\162\1\163\1\164\1\165\1\136\1\166" + "\1\167\2\136\1\170\1\171\1\127\2\151\1\136\1\151" + "\1\172\1\173\2\136\1\174\10\136\1\141\2\136\1\175" - + "\2\176\1\177\4\176\1\200\25\176\1\201\73\176\2\202" + "\1\203\32\202\1\204\52\202\1\205\20\202\2\206\1\207" - + "\1\210\33\206\1\211\25\206\1\212\5\206\1\213\15\206" + "\1\214\17\206\2\215\1\216\1\217\61\215\1\220\5\215" - + "\1\221\15\215\1\222\17\215\1\223\1\40\1\224\1\225" + "\1\40\1\223\1\151\1\226\1\227\6\230\1\63\4\230" - + "\2\223\1\230\1\223\3\230\1\223\1\231\1\223\1\63" + "\3\230\1\63\1\230\1\223\1\133\2\63\3\223\1\232" - + "\2\63\2\230\1\233\22\230\1\234\2\151\1\230\1\151" + "\1\235\14\230\1\223\2\230\1\223\1\236\1\40\1\237" - + "\1\240\1\40\3\236\1\241\6\242\1\236\4\242\2\236" + "\1\242\1\236\3\242\4\236\1\243\2\242\2\236\1\244" - + "\6\236\1\245\2\236\2\242\1\236\22\242\3\236\1\242" + "\2\236\14\242\1\236\2\242\1\236\1\246\1\40\1\247" - + "\1\250\1\40\1\246\1\251\1\226\1\252\6\253\1\246" + "\4\253\2\254\1\253\1\254\1\253\1\255\1\253\1\246" - + "\1\256\1\253\2\246\2\253\1\246\1\133\1\244\1\133" + "\3\246\1\257\4\246\2\253\1\246\22\253\1\246\1\260" - + "\1\261\1\253\1\246\1\235\14\253\1\254\2\253\1\246" + "\2\176\1\262\4\176\1\263\25\176\1\264\73\176\2\202" - + "\1\265\32\202\1\264\52\202\1\266\20\202\2\267\1\270" + "\34\267\1\271\25\267\1\212\5\267\1\213\15\267\1\214" - + "\17\267\2\272\1\273\32\272\1\274\1\275\71\272\1\276" + "\2\277\1\300\33\277\1\301\5\277\1\302\64\277\2\34" - + "\4\0\124\34\1\35\2\0\1\40\1\0\123\34\141\0" + "\1\303\1\304\5\305\1\0\10\305\2\0\1\305\5\0" - + "\2\305\7\0\1\306\1\307\3\0\2\305\1\0\11\305" + "\1\304\10\305\3\0\1\305\2\0\17\305\2\0\1\40" - + "\2\0\1\40\124\0\4\41\1\0\1\41\1\310\122\41" + "\2\42\1\0\26\42\1\0\33\42\1\0\5\42\1\0" - + "\15\42\1\0\17\42\31\0\1\311\162\0\1\312\123\0" + "\1\313\4\0\1\314\156\0\1\315\17\0\2\50\1\0" - + "\47\50\1\0\56\50\17\0\1\316\111\0\2\53\1\0" + "\14\53\1\0\111\53\2\56\1\0\1\56\1\0\2\56" - + "\2\0\6\56\1\0\26\56\1\0\41\56\1\0\21\56" + "\1\57\1\0\1\56\1\40\2\56\2\0\6\56\1\0" - + "\26\56\1\0\41\56\1\0\20\56\17\0\1\62\111\0" + "\2\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" - + "\26\65\1\0\41\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\1\65\1\317\2\65\1\320\1\321\1\0" - + "\2\65\1\322\7\65\1\323\13\65\1\0\13\65\1\324" + "\1\321\2\65\1\317\2\65\1\325\3\65\1\320\1\322" - + "\1\326\10\65\1\0\1\65\1\325\1\324\1\65\1\326" + "\1\65\1\323\13\65\1\0\1\65\1\0\2\65\2\0" - + "\3\65\1\327\2\65\1\0\2\65\1\330\23\65\1\0" + "\7\65\1\327\3\65\1\331\6\65\1\332\4\65\1\330" - + "\11\65\1\0\1\65\1\332\1\331\17\65\1\0\1\65" + "\1\0\2\65\2\0\6\65\1\0\12\65\1\333\13\65" - + "\1\0\41\65\1\0\6\65\1\333\13\65\1\0\1\65" + "\1\0\2\65\2\0\1\334\5\65\1\0\1\65\1\335" - + "\17\65\1\336\4\65\1\0\15\65\1\337\2\65\1\335" + "\2\65\1\334\1\336\3\65\1\340\10\65\1\0\3\65" - + "\1\337\1\340\15\65\1\0\1\65\1\0\2\65\2\0" + "\2\65\1\341\3\65\1\0\1\65\1\342\24\65\1\0" - + "\12\65\1\341\5\65\1\342\1\65\1\343\16\65\1\0" + "\1\65\1\343\20\65\1\0\1\65\1\0\2\65\2\0" - + "\2\65\1\112\1\344\1\65\1\112\1\0\2\65\1\345" + "\3\65\1\346\12\65\1\347\4\65\1\0\7\65\1\344" - + "\2\65\1\112\1\65\1\112\1\65\1\350\2\65\1\112" + "\1\351\1\65\1\347\2\65\1\345\3\65\1\346\5\65" - + "\1\0\1\65\1\351\3\65\1\112\5\65\1\350\6\65" + "\1\0\1\65\1\0\2\65\2\0\3\65\1\352\2\65" - + "\1\0\2\65\1\353\23\65\1\0\7\65\1\352\12\65" + "\1\354\4\65\1\353\11\65\1\0\1\65\1\354\20\65" - + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" + "\1\0\30\65\1\355\1\65\1\356\6\65\1\0\4\65" - + "\1\355\5\65\1\356\7\65\1\0\1\65\1\0\2\65" + "\2\0\2\65\1\112\1\340\2\65\1\0\1\65\1\357" - + "\10\65\1\360\13\65\1\0\7\65\1\340\1\361\1\65" + "\1\112\1\362\4\65\1\357\1\363\1\364\16\65\1\0" - + "\1\65\1\364\1\362\2\65\1\363\1\360\1\361\12\65" + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\1\65" - + "\1\112\24\65\1\0\20\65\1\112\20\65\1\0\22\65" + "\1\0\1\65\1\0\2\65\2\0\2\65\1\365\1\366" - + "\2\65\1\0\26\65\1\0\7\65\1\366\2\65\1\365" + "\1\367\25\65\1\0\2\65\1\367\17\65\1\0\1\65" - + "\1\0\2\65\2\0\4\65\1\370\1\65\1\0\1\65" + "\1\112\4\65\1\371\3\65\1\372\13\65\1\0\20\65" - + "\1\112\5\65\1\370\4\65\1\371\5\65\1\0\6\65" + "\1\372\13\65\1\0\1\65\1\0\2\65\2\0\6\65" - + "\1\0\2\65\1\373\23\65\1\0\13\65\1\374\6\65" + "\1\375\4\65\1\373\11\65\1\0\1\65\1\375\1\374" - + "\17\65\1\0\1\65\1\0\2\65\2\0\2\65\1\112" + "\2\65\1\376\1\0\2\65\1\377\23\65\1\0\12\65" - + "\1\112\1\65\1\376\12\65\1\377\11\65\1\0\14\65" + "\1\112\5\65\1\0\1\65\1\0\2\65\2\0\3\65" - + "\1\u0100\1\65\1\112\1\0\1\65\1\112\1\u0101\16\65" + "\1\u0102\4\65\1\0\7\65\1\u0100\4\65\1\112\3\65" - + "\2\112\1\u0103\1\65\1\u0102\2\65\1\u0101\11\65\1\0" + "\1\65\1\u0103\3\65\1\112\14\65\1\0\1\65\1\0" - + "\2\65\2\0\1\u0104\1\u0105\1\u0106\1\65\1\u0107\1\65" + "\1\0\6\65\1\u0108\3\65\1\u0109\13\65\1\0\12\65" - + "\1\u0106\4\65\1\u0105\1\65\1\u010a\1\65\1\u0104\2\65" + "\1\u0107\4\65\1\u0108\5\65\1\0\5\65\1\u010a\1\u0109" - + "\13\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\2\65\1\u010b\7\65\1\u010c\13\65\1\0\22\65\1\u010d" - + "\4\65\1\u010b\11\65\1\0\1\65\1\u010d\4\65\1\u010c" + "\13\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" - + "\2\65\1\u010e\3\65\1\u010f\17\65\1\0\27\65\1\u010e" + "\3\65\1\u010f\5\65\1\0\22\65\1\0\1\65\1\0" - + "\2\65\2\0\3\65\1\u0110\2\65\1\0\26\65\1\0" + "\7\65\1\u0110\12\65\1\u0111\16\65\1\0\1\65\1\u0111" - + "\16\65\7\113\1\0\121\113\110\115\1\0\20\115\17\0" + "\1\u0112\111\0\1\127\10\0\6\127\1\0\11\127\1\0" - + "\1\127\1\0\3\127\1\0\2\127\14\0\2\127\1\0" + "\23\127\2\0\1\127\2\0\17\127\4\0\1\u0113\4\0" - + "\1\u0114\35\0\1\63\67\0\1\63\40\0\1\63\62\0" + "\10\u0115\1\u0116\24\u0115\1\u0117\1\u0115\1\u0118\6\u0115\1\u0119" + + "\2\176\1\177\4\176\1\200\25\176\1\201\73\176\2\202" + + "\1\203\32\202\1\204\52\202\1\205\20\202\2\206\1\207" + + "\1\210\33\206\1\211\25\206\1\212\5\206\1\213\15\206" + + "\1\214\17\206\2\215\1\216\1\217\61\215\1\220\5\215" + "\1\221\15\215\1\222\17\215\1\223\1\40\1\224\1\225" + + "\1\40\1\223\1\151\1\226\1\227\6\230\1\63\4\230" + "\2\223\1\230\1\223\3\230\1\223\1\231\1\223\1\63" + + "\3\230\1\63\1\230\1\223\1\133\2\63\3\223\1\232" + "\2\63\2\230\1\233\22\230\1\234\2\151\1\230\1\151" + + "\1\235\14\230\1\223\2\230\1\223\1\236\1\40\1\237" + "\1\240\1\40\3\236\1\241\6\242\1\236\4\242\2\236" + + "\1\242\1\236\3\242\4\236\1\243\2\242\2\236\1\244" + "\6\236\1\245\2\236\2\242\1\236\22\242\3\236\1\242" + + "\2\236\14\242\1\236\2\242\1\236\1\246\1\40\1\247" + "\1\250\1\40\1\246\1\251\1\226\1\252\6\253\1\246" + + "\4\253\2\254\1\253\1\254\1\253\1\255\1\253\1\246" + "\1\256\1\253\2\246\2\253\1\246\1\133\1\244\1\133" + + "\3\246\1\257\4\246\2\253\1\246\22\253\1\246\1\260" + "\1\261\1\253\1\246\1\235\14\253\1\254\2\253\1\246" + + "\2\176\1\262\4\176\1\263\25\176\1\264\73\176\2\202" + + "\1\265\32\202\1\264\52\202\1\266\20\202\2\267\1\270" + + "\34\267\1\271\25\267\1\212\5\267\1\213\15\267\1\214" + + "\17\267\2\272\1\273\32\272\1\274\1\275\71\272\1\276" + + "\2\277\1\300\33\277\1\301\5\277\1\302\64\277\2\34" + "\4\0\124\34\1\35\2\0\1\40\1\0\123\34\141\0" + + "\1\303\1\304\5\305\1\0\10\305\2\0\1\305\5\0" + "\2\305\7\0\1\306\1\307\3\0\2\305\1\0\11\305" + + "\1\304\10\305\3\0\1\305\2\0\17\305\2\0\1\40" + "\2\0\1\40\124\0\4\41\1\0\1\41\1\310\122\41" + + "\2\42\1\0\26\42\1\0\33\42\1\0\5\42\1\0" + "\15\42\1\0\17\42\31\0\1\311\162\0\1\312\123\0" + + "\1\313\4\0\1\314\156\0\1\315\17\0\2\50\1\0" + "\47\50\1\0\56\50\17\0\1\316\111\0\2\53\1\0" + + "\14\53\1\0\111\53\2\56\1\0\1\56\1\0\2\56" + "\2\0\6\56\1\0\26\56\1\0\41\56\1\0\21\56" + + "\1\57\1\0\1\56\1\40\2\56\2\0\6\56\1\0" + "\26\56\1\0\41\56\1\0\20\56\17\0\1\62\111\0" + + "\2\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\26\65\1\0\41\65\1\0\22\65\1\0\1\65\1\0" + + "\2\65\2\0\1\65\1\317\2\65\1\320\1\321\1\0" + "\2\65\1\322\7\65\1\323\13\65\1\0\13\65\1\324" + + "\1\321\2\65\1\317\2\65\1\325\3\65\1\320\1\322" + "\1\326\10\65\1\0\1\65\1\325\1\324\1\65\1\326" + + "\1\65\1\323\13\65\1\0\1\65\1\0\2\65\2\0" + "\3\65\1\327\2\65\1\0\2\65\1\330\23\65\1\0" + + "\7\65\1\327\3\65\1\331\6\65\1\332\4\65\1\330" + "\11\65\1\0\1\65\1\332\1\331\17\65\1\0\1\65" + + "\1\0\2\65\2\0\6\65\1\0\12\65\1\333\13\65" + "\1\0\41\65\1\0\6\65\1\333\13\65\1\0\1\65" + + "\1\0\2\65\2\0\1\334\5\65\1\0\1\65\1\335" + "\17\65\1\336\4\65\1\0\15\65\1\337\2\65\1\335" + + "\2\65\1\334\1\336\3\65\1\340\10\65\1\0\3\65" + "\1\337\1\340\15\65\1\0\1\65\1\0\2\65\2\0" + + "\2\65\1\341\3\65\1\0\1\65\1\342\24\65\1\0" + "\12\65\1\341\5\65\1\342\1\65\1\343\16\65\1\0" + + "\1\65\1\343\20\65\1\0\1\65\1\0\2\65\2\0" + "\2\65\1\112\1\344\1\65\1\112\1\0\2\65\1\345" + + "\3\65\1\346\12\65\1\347\4\65\1\0\7\65\1\344" + "\2\65\1\112\1\65\1\112\1\65\1\350\2\65\1\112" + + "\1\351\1\65\1\347\2\65\1\345\3\65\1\346\5\65" + "\1\0\1\65\1\351\3\65\1\112\5\65\1\350\6\65" + + "\1\0\1\65\1\0\2\65\2\0\3\65\1\352\2\65" + "\1\0\2\65\1\353\23\65\1\0\7\65\1\352\12\65" + + "\1\354\4\65\1\353\11\65\1\0\1\65\1\354\20\65" + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" + + "\1\0\30\65\1\355\1\65\1\356\6\65\1\0\4\65" + "\1\355\5\65\1\356\7\65\1\0\1\65\1\0\2\65" + + "\2\0\2\65\1\112\1\340\2\65\1\0\1\65\1\357" + "\10\65\1\360\13\65\1\0\7\65\1\340\1\361\1\65" + + "\1\112\1\362\4\65\1\357\1\363\1\364\16\65\1\0" + "\1\65\1\364\1\362\2\65\1\363\1\360\1\361\12\65" + + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\1\65" + "\1\112\24\65\1\0\20\65\1\112\20\65\1\0\22\65" + + "\1\0\1\65\1\0\2\65\2\0\2\65\1\365\1\366" + "\2\65\1\0\26\65\1\0\7\65\1\366\2\65\1\365" + + "\1\367\25\65\1\0\2\65\1\367\17\65\1\0\1\65" + "\1\0\2\65\2\0\4\65\1\370\1\65\1\0\1\65" + + "\1\112\4\65\1\371\3\65\1\372\13\65\1\0\20\65" + "\1\112\5\65\1\370\4\65\1\371\5\65\1\0\6\65" + + "\1\372\13\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\2\65\1\373\23\65\1\0\13\65\1\374\6\65" + + "\1\375\4\65\1\373\11\65\1\0\1\65\1\375\1\374" + "\17\65\1\0\1\65\1\0\2\65\2\0\2\65\1\112" + + "\2\65\1\376\1\0\2\65\1\377\23\65\1\0\12\65" + "\1\112\1\65\1\376\12\65\1\377\11\65\1\0\14\65" + + "\1\112\5\65\1\0\1\65\1\0\2\65\2\0\3\65" + "\1\u0100\1\65\1\112\1\0\1\65\1\112\1\u0101\16\65" + + "\1\u0102\4\65\1\0\7\65\1\u0100\4\65\1\112\3\65" + "\2\112\1\u0103\1\65\1\u0102\2\65\1\u0101\11\65\1\0" + + "\1\65\1\u0103\3\65\1\112\14\65\1\0\1\65\1\0" + "\2\65\2\0\1\u0104\1\u0105\1\u0106\1\65\1\u0107\1\65" + + "\1\0\6\65\1\u0108\3\65\1\u0109\13\65\1\0\12\65" + "\1\u0106\4\65\1\u0105\1\65\1\u010a\1\65\1\u0104\2\65" + + "\1\u0107\4\65\1\u0108\5\65\1\0\5\65\1\u010a\1\u0109" + "\13\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + + "\2\65\1\u010b\7\65\1\u010c\13\65\1\0\22\65\1\u010d" + "\4\65\1\u010b\11\65\1\0\1\65\1\u010d\4\65\1\u010c" + + "\13\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\2\65\1\u010e\3\65\1\u010f\17\65\1\0\27\65\1\u010e" + + "\3\65\1\u010f\5\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\3\65\1\u0110\2\65\1\0\26\65\1\0" + + "\7\65\1\u0110\12\65\1\u0111\16\65\1\0\1\65\1\u0111" + "\16\65\7\113\1\0\121\113\110\115\1\0\20\115\17\0" + + "\1\u0112\111\0\1\127\10\0\6\127\1\0\11\127\1\0" + "\1\127\1\0\3\127\1\0\2\127\14\0\2\127\1\0" + + "\23\127\2\0\1\127\2\0\17\127\4\0\1\u0113\4\0" + "\1\u0114\35\0\1\63\67\0\1\63\40\0\1\63\62\0" + + "\10\u0115\1\u0116\24\u0115\1\u0117\1\u0115\1\u0118\6\u0115\1\u0119" + "\62\u0115\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\22\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\3\136\1\u011b\16\136\1\127\2\0\1\136\2\0\17\136" - + "\20\0\1\u011c\26\0\1\63\62\0\1\u011d\10\0\6\u011d" + "\1\0\1\u011d\1\u011e\1\u011f\1\u011d\2\141\1\u011d\1\141" - + "\1\u011d\1\0\1\u011d\1\0\3\u011d\1\0\1\u011d\1\u0120" + "\1\0\1\u0121\12\0\2\u011d\1\0\6\u011d\1\u011e\1\u0120" - + "\2\u011d\1\u0120\2\u011d\1\u011f\5\u011d\2\0\1\u011d\2\0" + "\5\u011d\1\u0120\6\u011d\1\141\2\u011d\1\0\1\u011d\10\0" - + "\6\u011d\1\0\1\u011d\1\u011e\1\u011f\1\u011d\1\u0122\1\u0123" + "\1\u011d\1\u0123\1\u011d\1\0\1\u011d\1\0\3\u011d\1\0" - + "\1\u0124\1\u0120\1\0\1\u0121\12\0\2\u011d\1\0\6\u011d" + "\1\u011e\1\u0120\2\u011d\1\u0120\2\u011d\1\u011f\5\u011d\2\0" + + "\20\0\1\u011c\26\0\1\63\62\0\1\u011d\10\0\6\u011d" + + "\1\0\1\u011d\1\u011e\1\u011f\1\u011d\2\141\1\u011d\1\141" + + "\1\u011d\1\0\1\u011d\1\0\3\u011d\1\0\1\u011d\1\u0120" + + "\1\0\1\u0121\12\0\2\u011d\1\0\6\u011d\1\u011e\1\u0120" + + "\2\u011d\1\u0120\2\u011d\1\u011f\5\u011d\2\0\1\u011d\2\0" + + "\5\u011d\1\u0120\6\u011d\1\141\2\u011d\1\0\1\u011d\10\0" + + "\6\u011d\1\0\1\u011d\1\u011e\1\u011f\1\u011d\1\u0122\1\u0123" + + "\1\u011d\1\u0123\1\u011d\1\0\1\u011d\1\0\3\u011d\1\0" + + "\1\u0124\1\u0120\1\0\1\u0121\12\0\2\u011d\1\0\6\u011d" + + "\1\u011e\1\u0120\2\u011d\1\u0120\2\u011d\1\u011f\5\u011d\2\0" + "\1\u0124\2\0\5\u011d\1\u0120\6\u011d\1\u0123\2\u011d\32\0" + "\1\63\14\0\1\63\62\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\3\136\1\u0125\16\136\1\127" + "\2\0\1\136\2\0\17\136\47\0\1\63\124\0\1\63" + "\3\0\1\63\106\0\2\u0121\1\0\1\u0121\75\0\1\u0121" @@ -371,25 +383,30 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\21\136\1\u013a\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\u013b" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\2\136\1\u013c\1\136\1\u013d\6\136\1\u013e\6\136" + "\1\127\2\0\1\136\2\0\1\u013f\16\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\u0140\1\0\1\127" - + "\1\u011a\1\136\1\0\2\136\14\0\1\u0141\1\136\1\0" + "\1\136\1\u0142\4\136\1\u0143\1\136\1\u0144\11\136\1\127" - + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\u0145\1\0\1\127\1\u011a\1\136" - + "\1\0\2\136\14\0\2\136\1\0\1\u0146\7\136\1\u0147" + "\11\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" - + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\3\136" - + "\1\u0148\2\136\1\u0149\1\136\1\u014a\1\u014b\6\136\1\u014c" + "\1\136\1\127\2\0\1\u014d\2\0\17\136\1\0\1\127" - + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\1\136" - + "\1\u014e\6\136\1\u0142\11\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" - + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\1\u014f\1\u0150\11\136\1\u0151\6\136\1\127" - + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" - + "\1\0\2\136\14\0\1\u0152\1\136\1\0\4\136\1\u0153" + "\15\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" - + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\10\136" - + "\1\u0154\11\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\2\176\1\0\4\176\1\0\25\176\1\0\73\176\2\u0155" - + "\1\0\27\u0155\1\u0156\53\u0155\1\u0157\22\u0155\2\202\1\0" + "\32\202\1\0\52\202\1\0\20\202\2\206\2\0\33\206" - + "\1\0\25\206\1\0\5\206\1\0\15\206\1\0\17\206" + "\10\0\1\u0158\130\0\1\u0159\203\0\1\u015a\123\0\1\u015b" + + "\1\u011a\1\136\1\0\2\136\14\0\1\u0141\1\136\1\0" + + "\1\136\1\u0142\4\136\1\u0143\1\136\1\u0144\11\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + + "\1\0\11\136\1\0\1\u0145\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\1\u0146\7\136\1\u0147" + + "\11\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\3\136" + + "\1\u0148\2\136\1\u0149\1\136\1\u014a\1\u014b\6\136\1\u014c" + + "\1\136\1\127\2\0\1\u014d\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\1\136" + "\1\u014e\6\136\1\u0142\11\136\1\127\2\0\1\136\2\0" + + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + + "\2\136\1\0\1\u014f\1\u0150\11\136\1\u0151\6\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\1\u0152\1\136\1\0\4\136\1\u0153" + + "\15\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\10\136" + "\1\u0154\11\136\1\127\2\0\1\136\2\0\17\136\1\0" + + "\2\176\1\0\4\176\1\0\25\176\1\0\73\176\2\u0155" + + "\1\0\27\u0155\1\u0156\53\u0155\1\u0157\22\u0155\2\202\1\0" + + "\32\202\1\0\52\202\1\0\20\202\2\206\2\0\33\206" + "\1\0\25\206\1\0\5\206\1\0\15\206\1\0\17\206" + + "\10\0\1\u0158\130\0\1\u0159\203\0\1\u015a\123\0\1\u015b" + "\4\0\1\u015c\156\0\1\u015d\17\0\2\215\2\0\61\215" + "\1\0\5\215\1\0\15\215\1\0\17\215\10\0\1\u015e" - + "\203\0\1\u015f\123\0\1\u0160\4\0\1\u0161\156\0\1\u0162" + "\27\0\1\u0163\157\0\1\u0164\102\0\6\230\1\0\13\230" - + "\5\0\2\230\1\0\1\230\12\0\2\230\1\0\22\230" + "\3\0\1\230\2\0\17\230\12\0\6\u0165\1\0\4\u0165" - + "\2\0\1\u0165\1\0\3\u0165\4\0\3\u0165\1\0\1\u0165" + "\12\0\2\u0165\1\0\22\u0165\3\0\1\u0165\2\0\14\u0165" - + "\1\0\2\u0165\54\0\1\u0166\5\0\1\u0167\1\u0168\1\u0169" + "\1\u016a\1\u016b\1\u016c\1\u016d\1\u016e\1\u016f\1\0\1\u0170" + + "\203\0\1\u015f\123\0\1\u0160\4\0\1\u0161\156\0\1\u0162" + + "\27\0\1\u0163\157\0\1\u0164\102\0\6\230\1\0\13\230" + "\5\0\2\230\1\0\1\230\12\0\2\230\1\0\22\230" + + "\3\0\1\230\2\0\17\230\12\0\6\u0165\1\0\4\u0165" + "\2\0\1\u0165\1\0\3\u0165\4\0\3\u0165\1\0\1\u0165" + + "\12\0\2\u0165\1\0\22\u0165\3\0\1\u0165\2\0\14\u0165" + + "\1\0\2\u0165\54\0\1\u0166\5\0\1\u0167\1\u0168\1\u0169" + + "\1\u016a\1\u016b\1\u016c\1\u016d\1\u016e\1\u016f\1\0\1\u0170" + "\2\0\1\u0171\2\0\1\u0172\40\0\6\u0173\1\0\4\u0173" + "\2\0\1\u0173\1\0\3\u0173\4\0\3\u0173\1\0\1\u0173" + "\12\0\2\u0173\1\0\22\u0173\3\0\1\u0173\2\0\14\u0173" + "\1\0\2\u0173\12\0\6\242\1\0\13\242\5\0\2\242" + "\14\0\2\242\1\0\22\242\3\0\1\242\2\0\17\242" + "\12\0\6\242\1\0\4\242\2\0\1\242\1\0\3\242" @@ -403,7 +420,8 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\2\u017a\1\0\1\u017a\2\0\1\u017a\3\0\1\u017a" + "\7\0\1\u017a\3\0\1\u017a\6\0\1\u017a\61\0\1\u017b" + "\52\0\2\u017c\1\0\126\u017c\2\267\1\0\34\267\1\0" + "\25\267\1\0\5\267\1\0\15\267\1\0\17\267\10\0" + "\1\u017d\120\0\2\272\1\0\32\272\2\0\71\272\61\0" + "\1\u017e\50\0\2\277\1\0\33\277\1\0\5\277\1\0" - + "\64\277\60\0\1\u017f\61\0\6\u0180\1\0\10\u0180\2\0" + "\1\u0180\5\0\2\u0180\14\0\2\u0180\1\0\22\u0180\3\0" + + "\64\277\60\0\1\u017f\61\0\6\u0180\1\0\10\u0180\2\0" + + "\1\u0180\5\0\2\u0180\14\0\2\u0180\1\0\22\u0180\3\0" + "\1\u0180\2\0\17\u0180\12\0\1\305\1\u0181\3\305\1\u0182" + "\1\0\10\305\2\0\1\305\5\0\2\305\14\0\2\305" + "\1\0\2\305\1\u0182\2\305\1\u0181\14\305\3\0\1\305" + "\2\0\17\305\12\0\6\305\1\0\10\305\2\0\1\305" + "\5\0\2\305\14\0\2\305\1\0\22\305\3\0\1\305" + "\2\0\17\305\32\0\1\u0183\116\0\1\u0184\174\0\1\u0185" @@ -479,23 +497,36 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" + "\1\0\21\65\1\112\17\65\1\0\5\65\1\112\14\65" + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" + "\1\0\21\65\1\u01c8\17\65\1\0\5\65\1\u01c8\14\65" + "\1\0\1\65\1\0\2\65\2\0\2\65\1\112\3\65" + "\1\0\26\65\1\0\12\65\1\112\26\65\1\0\20\65" - + "\11\0\1\u01c9\60\0\1\u01c9\36\0\10\u0115\1\u01ca\24\u0115" + "\1\u0117\75\u0115\1\0\126\u0115\37\0\1\u01cb\71\0\1\127" - + "\10\0\6\127\1\0\11\127\1\0\1\u01cc\1\0\3\127" + "\1\0\2\127\14\0\2\127\1\0\23\127\2\0\1\127" - + "\2\0\17\127\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" - + "\14\0\2\136\1\0\12\136\1\u01cd\7\136\1\127\2\0" + "\1\136\2\0\17\136\20\0\1\146\26\0\1\63\62\0" - + "\1\u011d\10\0\6\u011d\1\0\11\u011d\1\0\1\u011d\1\0" + "\3\u011d\1\0\2\u011d\14\0\2\u011d\1\0\23\u011d\2\0" - + "\1\u011d\2\0\17\u011d\1\0\1\u011d\10\0\6\u011d\1\0" + "\4\u011d\2\u01ce\1\u011d\1\u01ce\1\u011d\1\u01cf\1\u011d\1\0" - + "\3\u011d\1\0\2\u011d\1\u01cf\13\0\2\u011d\1\0\23\u011d" + "\2\0\1\u011d\2\0\14\u011d\1\u01ce\2\u011d\1\0\1\u011d" - + "\10\0\6\u011d\1\0\2\u011d\1\u011f\1\u011d\2\u0121\1\u011d" + "\1\u0121\1\u011d\1\0\1\u011d\1\0\3\u011d\1\0\1\u011d" - + "\1\u0120\14\0\2\u011d\1\0\7\u011d\1\u0120\2\u011d\1\u0120" + "\2\u011d\1\u011f\5\u011d\2\0\1\u011d\2\0\5\u011d\1\u0120" - + "\6\u011d\1\u0121\2\u011d\1\0\1\u011d\10\0\6\u011d\1\0" + "\2\u011d\1\u011f\1\u011d\2\u0122\1\u011d\1\u0122\1\u011d\1\0" - + "\1\u011d\1\0\3\u011d\1\0\1\u011d\1\u0120\1\0\1\u0121" + "\12\0\2\u011d\1\0\7\u011d\1\u0120\2\u011d\1\u0120\2\u011d" - + "\1\u011f\5\u011d\2\0\1\u011d\2\0\5\u011d\1\u0120\6\u011d" + "\1\u0122\2\u011d\1\0\1\u011d\10\0\6\u011d\1\0\1\u011d" - + "\1\u01d0\1\u011f\1\u011d\1\u0122\1\u0123\1\u011d\1\u0123\1\u011d" + "\1\0\1\u011d\1\0\3\u011d\1\0\1\u011d\1\u0120\1\0" - + "\1\u0121\12\0\2\u011d\1\0\6\u011d\1\u01d0\1\u0120\2\u011d" + "\1\u0120\2\u011d\1\u011f\5\u011d\2\0\1\u011d\2\0\5\u011d" - + "\1\u0120\6\u011d\1\u0123\2\u011d\1\0\1\u011d\10\0\1\u011d" + "\1\u01d1\4\u011d\1\0\2\u011d\1\u01d1\1\u011d\4\u01d1\1\u011d" - + "\1\0\1\u011d\1\0\3\u011d\1\0\1\u011d\1\u01d1\14\0" + "\2\u011d\1\0\5\u011d\1\u01d1\1\u011d\2\u01d1\1\u011d\1\u01d1" - + "\2\u011d\1\u01d1\3\u011d\1\u01d1\1\u011d\2\0\1\u011d\2\0" + "\1\u011d\1\u01d1\3\u011d\1\u01d1\6\u011d\1\u01d1\2\u011d\1\0" + + "\11\0\1\u01c9\60\0\1\u01c9\36\0\10\u0115\1\u01ca\24\u0115" + + "\1\u0117\75\u0115\1\0\126\u0115\37\0\1\u01cb\71\0\1\127" + "\10\0\6\127\1\0\11\127\1\0\1\u01cc\1\0\3\127" + + "\1\0\2\127\14\0\2\127\1\0\23\127\2\0\1\127" + "\2\0\17\127\1\0\1\127\10\0\6\136\1\0\11\136" + + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\12\136\1\u01cd\7\136\1\127\2\0" + + "\1\136\2\0\17\136\20\0\1\146\26\0\1\63\62\0" + "\1\u011d\10\0\6\u011d\1\0\11\u011d\1\0\1\u011d\1\0" + + "\3\u011d\1\0\2\u011d\14\0\2\u011d\1\0\23\u011d\2\0" + + "\1\u011d\2\0\17\u011d\1\0\1\u011d\10\0\6\u011d\1\0" + + "\4\u011d\2\u01ce\1\u011d\1\u01ce\1\u011d\1\u01cf\1\u011d\1\0" + + "\3\u011d\1\0\2\u011d\1\u01cf\13\0\2\u011d\1\0\23\u011d" + + "\2\0\1\u011d\2\0\14\u011d\1\u01ce\2\u011d\1\0\1\u011d" + + "\10\0\6\u011d\1\0\2\u011d\1\u011f\1\u011d\2\u0121\1\u011d" + + "\1\u0121\1\u011d\1\0\1\u011d\1\0\3\u011d\1\0\1\u011d" + + "\1\u0120\14\0\2\u011d\1\0\7\u011d\1\u0120\2\u011d\1\u0120" + + "\2\u011d\1\u011f\5\u011d\2\0\1\u011d\2\0\5\u011d\1\u0120" + + "\6\u011d\1\u0121\2\u011d\1\0\1\u011d\10\0\6\u011d\1\0" + + "\2\u011d\1\u011f\1\u011d\2\u0122\1\u011d\1\u0122\1\u011d\1\0" + + "\1\u011d\1\0\3\u011d\1\0\1\u011d\1\u0120\1\0\1\u0121" + + "\12\0\2\u011d\1\0\7\u011d\1\u0120\2\u011d\1\u0120\2\u011d" + + "\1\u011f\5\u011d\2\0\1\u011d\2\0\5\u011d\1\u0120\6\u011d" + + "\1\u0122\2\u011d\1\0\1\u011d\10\0\6\u011d\1\0\1\u011d" + + "\1\u01d0\1\u011f\1\u011d\1\u0122\1\u0123\1\u011d\1\u0123\1\u011d" + + "\1\0\1\u011d\1\0\3\u011d\1\0\1\u011d\1\u0120\1\0" + + "\1\u0121\12\0\2\u011d\1\0\6\u011d\1\u01d0\1\u0120\2\u011d" + + "\1\u0120\2\u011d\1\u011f\5\u011d\2\0\1\u011d\2\0\5\u011d" + + "\1\u0120\6\u011d\1\u0123\2\u011d\1\0\1\u011d\10\0\1\u011d" + + "\1\u01d1\4\u011d\1\0\2\u011d\1\u01d1\1\u011d\4\u01d1\1\u011d" + + "\1\0\1\u011d\1\0\3\u011d\1\0\1\u011d\1\u01d1\14\0" + + "\2\u011d\1\0\5\u011d\1\u01d1\1\u011d\2\u01d1\1\u011d\1\u01d1" + + "\2\u011d\1\u01d1\3\u011d\1\u01d1\1\u011d\2\0\1\u011d\2\0" + + "\1\u011d\1\u01d1\3\u011d\1\u01d1\6\u011d\1\u01d1\2\u011d\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\15\136\1\u01d2\4\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\2\136\1\u01d3\6\136\1\u01d4\10\136\1\127\2\0" @@ -573,219 +604,239 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\4\u0208\11\0\1\u0208\24\0\1\u0208\1\0\2\u0208" + "\1\0\1\u0208\2\0\1\u0208\3\0\1\u0208\7\0\1\u0208" + "\3\0\1\u0208\6\0\1\u0208\15\0\1\u0209\7\0\1\u0209" + "\1\0\4\u0209\11\0\1\u0209\24\0\1\u0209\1\0\2\u0209" + "\1\0\1\u0209\2\0\1\u0209\3\0\1\u0209\7\0\1\u0209" + "\3\0\1\u0209\6\0\1\u0209\14\0\1\u020a\60\0\1\u020a" - + "\121\0\1\u020b\134\0\1\u020c\136\0\1\u020d\144\0\1\u020e" + "\30\0\1\u020f\60\0\1\u020f\121\0\1\u0210\134\0\1\u0211" - + "\136\0\1\u0212\144\0\1\u0213\30\0\1\u0214\60\0\1\u0214" + "\47\0\6\u0165\1\0\13\u0165\5\0\2\u0165\1\0\1\u0165" - + "\12\0\2\u0165\1\0\22\u0165\3\0\1\u0165\2\0\17\u0165" + "\72\0\1\u0215\1\0\1\u0216\6\0\1\u0217\110\0\1\u0218" - + "\132\0\1\u0219\135\0\1\u021a\121\0\1\u021b\1\u021c\127\0" + "\1\u021d\133\0\1\u021e\121\0\1\u021f\12\0\1\u0220\115\0" - + "\1\u0221\140\0\1\u0222\120\0\1\u0223\3\0\1\u0224\132\0" + "\1\u0225\12\0\1\u0226\107\0\1\u0227\63\0\6\u0173\1\0" - + "\13\u0173\5\0\2\u0173\1\0\1\u0173\12\0\2\u0173\1\0" + "\22\u0173\3\0\1\u0173\2\0\17\u0173\65\0\1\u0174\143\0" - + "\1\u0174\114\0\1\u0174\2\0\1\u0174\17\0\1\u0174\121\0" + "\1\u0174\6\0\1\u0174\114\0\1\u0174\4\0\1\u0174\130\0" + + "\121\0\1\u020b\134\0\1\u020c\136\0\1\u020d\144\0\1\u020e" + + "\30\0\1\u020f\60\0\1\u020f\121\0\1\u0210\134\0\1\u0211" + + "\136\0\1\u0212\144\0\1\u0213\30\0\1\u0214\60\0\1\u0214" + + "\47\0\6\u0165\1\0\13\u0165\5\0\2\u0165\1\0\1\u0165" + + "\12\0\2\u0165\1\0\22\u0165\3\0\1\u0165\2\0\17\u0165" + + "\72\0\1\u0215\1\0\1\u0216\6\0\1\u0217\110\0\1\u0218" + + "\132\0\1\u0219\135\0\1\u021a\121\0\1\u021b\1\u021c\127\0" + + "\1\u021d\133\0\1\u021e\121\0\1\u021f\12\0\1\u0220\115\0" + + "\1\u0221\140\0\1\u0222\120\0\1\u0223\3\0\1\u0224\132\0" + + "\1\u0225\12\0\1\u0226\107\0\1\u0227\63\0\6\u0173\1\0" + + "\13\u0173\5\0\2\u0173\1\0\1\u0173\12\0\2\u0173\1\0" + + "\22\u0173\3\0\1\u0173\2\0\17\u0173\65\0\1\u0174\143\0" + + "\1\u0174\114\0\1\u0174\2\0\1\u0174\17\0\1\u0174\121\0" + + "\1\u0174\6\0\1\u0174\114\0\1\u0174\4\0\1\u0174\130\0" + "\1\u0228\42\0\2\305\1\u0229\3\305\1\0\10\305\2\0" + "\1\305\5\0\2\305\14\0\2\305\1\0\1\u0229\21\305" + "\3\0\1\305\2\0\17\305\12\0\6\305\1\0\1\u022a" + "\7\305\2\0\1\305\5\0\2\305\14\0\2\305\1\0" - + "\13\305\1\u022a\6\305\3\0\1\305\2\0\17\305\32\0" + "\1\u022b\174\0\1\u022c\131\0\1\u0187\105\0\1\u022d\120\0" - + "\1\u022e\65\0\2\65\1\0\1\65\1\0\2\65\2\0" + "\3\65\1\u022f\2\65\1\0\26\65\1\0\7\65\1\u022f" - + "\31\65\1\0\22\65\1\0\1\65\1\0\2\65\2\0" + "\1\65\1\u01a3\4\65\1\0\26\65\1\0\15\65\1\112" - + "\1\65\1\u01a3\21\65\1\0\3\65\1\112\16\65\1\0" + "\1\65\1\0\2\65\2\0\3\65\1\u0230\2\65\1\0" - + "\26\65\1\0\7\65\1\u0230\3\65\1\u0231\25\65\1\0" + "\2\65\1\u0231\17\65\1\0\1\65\1\0\2\65\2\0" - + "\5\65\1\u0232\1\0\26\65\1\0\14\65\1\u0232\24\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" - + "\1\0\26\65\1\0\32\65\1\u01a3\6\65\1\0\12\65" + "\1\u01a3\7\65\1\0\1\65\1\0\2\65\2\0\6\65" - + "\1\0\2\65\1\u0233\23\65\1\0\27\65\1\u0233\11\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\2\65" - + "\1\u0234\3\65\1\0\26\65\1\0\12\65\1\u0234\26\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\4\65" - + "\1\112\1\65\1\0\26\65\1\0\26\65\1\112\12\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" - + "\1\0\1\65\1\u01b7\24\65\1\0\20\65\1\u01b7\20\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" - + "\1\0\2\65\1\112\23\65\1\0\27\65\1\112\11\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\5\65" - + "\1\u01a3\1\0\26\65\1\0\14\65\1\u01a3\24\65\1\0" + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" - + "\26\65\1\0\10\65\1\u0235\30\65\1\0\7\65\1\u0235" + "\12\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" - + "\26\65\1\0\30\65\1\u0236\10\65\1\0\4\65\1\u0236" + "\15\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" - + "\26\65\1\0\32\65\1\u0237\6\65\1\0\12\65\1\u0237" + "\7\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" - + "\26\65\1\0\15\65\1\u0238\23\65\1\0\3\65\1\u0238" + "\16\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" - + "\1\u01a3\25\65\1\0\25\65\1\u01a3\13\65\1\0\22\65" + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" - + "\1\0\22\65\1\u0239\16\65\1\0\1\65\1\u0239\20\65" + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\12\65" - + "\1\u01b1\13\65\1\0\41\65\1\0\6\65\1\u01b1\13\65" + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" - + "\1\0\10\65\1\u01c2\30\65\1\0\7\65\1\u01c2\12\65" + "\1\0\1\65\1\0\2\65\2\0\3\65\1\u023a\2\65" - + "\1\0\26\65\1\0\7\65\1\u023a\31\65\1\0\22\65" + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" - + "\1\0\22\65\1\u01b0\16\65\1\0\1\65\1\u01b0\20\65" + "\1\0\1\65\1\0\2\65\2\0\5\65\1\u023b\1\0" - + "\26\65\1\0\14\65\1\u023b\24\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\13\65\1\u01b1\25\65\1\0\2\65\1\u01b1\17\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\22\65\1\u010f\16\65\1\0\1\65\1\u010f\20\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\31\65\1\112\7\65\1\0\10\65\1\112\11\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u023c" - + "\23\65\1\0\27\65\1\u023c\11\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u0111" - + "\23\65\1\0\27\65\1\u0111\11\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u01b7" - + "\23\65\1\0\27\65\1\u01b7\11\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u010f" - + "\23\65\1\0\27\65\1\u010f\11\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\15\65\1\u023d\23\65\1\0\3\65\1\u023d\16\65\1\0" + "\1\65\1\0\2\65\2\0\1\65\1\u023e\4\65\1\0" - + "\26\65\1\0\17\65\1\u023e\21\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\5\65\1\u023f\1\0\26\65" - + "\1\0\14\65\1\u023f\24\65\1\0\22\65\1\0\1\65" + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\13\65" - + "\1\u0240\25\65\1\0\2\65\1\u0240\17\65\1\0\1\65" + "\1\0\2\65\2\0\6\65\1\0\1\112\25\65\1\0" - + "\25\65\1\112\13\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\2\65\1\u0241\23\65\1\0" - + "\27\65\1\u0241\11\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\26\65\1\0\30\65\1\u0242" - + "\10\65\1\0\4\65\1\u0242\15\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\1\65\1\u0243\24\65\1\0" - + "\20\65\1\u0243\20\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\12\65\1\u0244\13\65\1\0" - + "\41\65\1\0\6\65\1\u0244\13\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\26\65\1\0\30\65\1\112" - + "\10\65\1\0\4\65\1\112\15\65\1\0\1\65\1\0" + "\2\65\2\0\5\65\1\112\1\0\26\65\1\0\14\65" - + "\1\112\24\65\1\0\22\65\1\0\1\65\1\0\2\65" + "\2\0\3\65\1\u023f\2\65\1\0\26\65\1\0\7\65" - + "\1\u023f\1\u0235\30\65\1\0\7\65\1\u0235\12\65\1\0" + "\1\65\1\0\2\65\2\0\4\65\1\u019a\1\65\1\0" - + "\26\65\1\0\26\65\1\u019a\12\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\1\65\1\317\4\65\1\0" - + "\26\65\1\0\17\65\1\317\21\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\30\65\1\u0245\10\65\1\0\4\65\1\u0245\15\65\1\0" + "\1\65\1\0\2\65\2\0\2\65\1\u0246\3\65\1\0" - + "\26\65\1\0\12\65\1\u0246\26\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\21\65\1\u0247\17\65\1\0\5\65\1\u0247\14\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\1\65\1\u0248" - + "\24\65\1\0\20\65\1\u0248\20\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\22\65\1\u0249\16\65\1\0\1\65\1\u0249\20\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\22\65\1\u024a\16\65\1\0\1\65\1\u024a\20\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\21\65\1\u0192\17\65\1\0\5\65\1\u0192\14\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\13\65\1\u024b\25\65\1\0\2\65\1\u024b\17\65\1\0" + "\1\65\1\0\2\65\2\0\3\65\1\u024c\2\65\1\0" - + "\26\65\1\0\7\65\1\u024c\31\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" - + "\22\65\1\112\16\65\1\0\1\65\1\112\20\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\1\65\1\u024d" - + "\24\65\1\0\20\65\1\u024d\20\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\3\65\1\363\2\65\1\0" - + "\26\65\1\0\7\65\1\363\31\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\2\65\1\u024e\3\65\1\0" - + "\26\65\1\0\12\65\1\u024e\26\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u0111" - + "\23\65\1\0\22\65\1\112\4\65\1\u0111\11\65\1\0" + "\1\65\1\112\20\65\1\0\1\65\1\0\2\65\2\0" - + "\6\65\1\0\12\65\1\112\13\65\1\0\41\65\1\0" + "\6\65\1\112\13\65\1\0\1\65\1\0\2\65\2\0" - + "\5\65\1\u024f\1\0\26\65\1\0\14\65\1\u024f\24\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" - + "\1\0\26\65\1\0\31\65\1\112\7\65\1\0\10\65" + "\1\112\1\u0250\10\65\1\0\1\65\1\0\2\65\2\0" - + "\6\65\1\0\26\65\1\0\10\65\1\u0251\30\65\1\0" + "\7\65\1\u0251\12\65\1\0\1\65\1\0\2\65\2\0" - + "\6\65\1\0\2\65\1\363\23\65\1\0\27\65\1\363" + "\11\65\1\0\20\65\12\0\1\u0252\53\0\1\u0252\120\0" - + "\2\u01ca\17\0\1\u01ca\41\0\1\u0253\120\0\1\127\10\0" + "\1\127\1\u0254\4\127\1\0\2\127\1\u0254\1\127\4\u0254" - + "\1\127\1\0\1\127\1\0\3\127\1\0\1\127\1\u0254" + "\14\0\2\127\1\0\5\127\1\u0254\1\127\2\u0254\1\127" - + "\1\u0254\2\127\1\u0254\3\127\1\u0254\1\127\2\0\1\127" + "\2\0\1\127\1\u0254\3\127\1\u0254\6\127\1\u0254\2\127" - + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\1\u0255" - + "\1\136\1\0\22\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\u011d\10\0\6\u011d\1\0\4\u011d\2\u01ce\1\u011d" - + "\1\u01ce\1\u011d\1\0\1\u011d\1\0\3\u011d\1\0\1\u011d" + "\1\u0120\14\0\2\u011d\1\0\7\u011d\1\u0120\2\u011d\1\u0120" - + "\10\u011d\2\0\1\u011d\2\0\5\u011d\1\u0120\6\u011d\1\u01ce" + "\2\u011d\25\0\2\u01ce\1\0\1\u01ce\75\0\1\u01ce\3\0" - + "\1\u011d\10\0\1\u011d\1\u01d1\4\u011d\1\0\1\u011d\1\u01d0" + "\1\u01d1\1\u011d\4\u01d1\1\u011d\1\0\1\u011d\1\0\3\u011d" - + "\1\0\1\u011d\1\u01d1\14\0\2\u011d\1\0\5\u011d\1\u01d1" + "\1\u01d0\2\u01d1\1\u011d\1\u01d1\2\u011d\1\u01d1\3\u011d\1\u01d1" - + "\1\u011d\2\0\1\u011d\2\0\1\u011d\1\u01d1\3\u011d\1\u01d1" + "\6\u011d\1\u01d1\2\u011d\1\0\1\127\10\0\6\136\1\0" - + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\11\136\1\u014b\10\136\1\127" - + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" - + "\1\0\2\136\14\0\2\136\1\0\15\136\1\u0256\4\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" - + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + "\1\136\1\0\2\136\14\0\2\136\1\0\2\136\1\u0257" - + "\17\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" - + "\1\u011a\1\136\1\0\2\136\14\0\1\u0258\1\136\1\0" + "\22\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" - + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\10\136" - + "\1\u0259\11\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" - + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\1\136\1\u025a\4\136\1\u025b\13\136\1\127\2\0\1\136" - + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" - + "\14\0\2\136\1\0\1\136\1\u0128\20\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" - + "\11\136\1\0\1\u025c\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\22\136\1\127\2\0\1\136" - + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" - + "\14\0\2\136\1\0\15\136\1\u025d\4\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" - + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\3\136\1\u025e\16\136\1\127" - + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" - + "\1\0\2\136\14\0\2\136\1\0\11\136\1\u0128\10\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" - + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + "\1\136\1\0\2\136\14\0\2\136\1\0\1\136\1\u025f" - + "\20\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" - + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\15\136" + "\1\u0260\4\136\1\127\2\0\1\136\2\0\17\136\1\0" - + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" - + "\6\136\1\u0128\13\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" - + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\1\u0261" + "\1\136\1\0\22\136\1\127\2\0\1\136\2\0\17\136" - + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" - + "\1\0\2\136\1\u0262\6\136\1\u0263\10\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" - + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\1\u0264\21\136\1\127\2\0" - + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" - + "\2\136\14\0\2\136\1\0\11\136\1\u01dc\10\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" - + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\5\136\1\u0206\14\136" + + "\13\305\1\u022a\6\305\3\0\1\305\2\0\17\305\32\0" + + "\1\u022b\174\0\1\u022c\131\0\1\u0187\105\0\1\u022d\120\0" + "\1\u022e\65\0\2\65\1\0\1\65\1\0\2\65\2\0" + + "\3\65\1\u022f\2\65\1\0\26\65\1\0\7\65\1\u022f" + "\31\65\1\0\22\65\1\0\1\65\1\0\2\65\2\0" + + "\1\65\1\u01a3\4\65\1\0\26\65\1\0\15\65\1\112" + "\1\65\1\u01a3\21\65\1\0\3\65\1\112\16\65\1\0" + + "\1\65\1\0\2\65\2\0\3\65\1\u0230\2\65\1\0" + "\26\65\1\0\7\65\1\u0230\3\65\1\u0231\25\65\1\0" + + "\2\65\1\u0231\17\65\1\0\1\65\1\0\2\65\2\0" + "\5\65\1\u0232\1\0\26\65\1\0\14\65\1\u0232\24\65" + + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\26\65\1\0\32\65\1\u01a3\6\65\1\0\12\65" + + "\1\u01a3\7\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\2\65\1\u0233\23\65\1\0\27\65\1\u0233\11\65" + + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\2\65" + "\1\u0234\3\65\1\0\26\65\1\0\12\65\1\u0234\26\65" + + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\4\65" + "\1\112\1\65\1\0\26\65\1\0\26\65\1\112\12\65" + + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\1\65\1\u01b7\24\65\1\0\20\65\1\u01b7\20\65" + + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\2\65\1\112\23\65\1\0\27\65\1\112\11\65" + + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\5\65" + "\1\u01a3\1\0\26\65\1\0\14\65\1\u01a3\24\65\1\0" + + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\26\65\1\0\10\65\1\u0235\30\65\1\0\7\65\1\u0235" + + "\12\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\26\65\1\0\30\65\1\u0236\10\65\1\0\4\65\1\u0236" + + "\15\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\26\65\1\0\32\65\1\u0237\6\65\1\0\12\65\1\u0237" + + "\7\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\26\65\1\0\15\65\1\u0238\23\65\1\0\3\65\1\u0238" + + "\16\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\1\u01a3\25\65\1\0\25\65\1\u01a3\13\65\1\0\22\65" + + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" + "\1\0\22\65\1\u0239\16\65\1\0\1\65\1\u0239\20\65" + + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\12\65" + "\1\u01b1\13\65\1\0\41\65\1\0\6\65\1\u01b1\13\65" + + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" + "\1\0\10\65\1\u01c2\30\65\1\0\7\65\1\u01c2\12\65" + + "\1\0\1\65\1\0\2\65\2\0\3\65\1\u023a\2\65" + "\1\0\26\65\1\0\7\65\1\u023a\31\65\1\0\22\65" + + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" + "\1\0\22\65\1\u01b0\16\65\1\0\1\65\1\u01b0\20\65" + + "\1\0\1\65\1\0\2\65\2\0\5\65\1\u023b\1\0" + "\26\65\1\0\14\65\1\u023b\24\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\13\65\1\u01b1\25\65\1\0\2\65\1\u01b1\17\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\22\65\1\u010f\16\65\1\0\1\65\1\u010f\20\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\31\65\1\112\7\65\1\0\10\65\1\112\11\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u023c" + "\23\65\1\0\27\65\1\u023c\11\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u0111" + "\23\65\1\0\27\65\1\u0111\11\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u01b7" + "\23\65\1\0\27\65\1\u01b7\11\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u010f" + "\23\65\1\0\27\65\1\u010f\11\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\15\65\1\u023d\23\65\1\0\3\65\1\u023d\16\65\1\0" + + "\1\65\1\0\2\65\2\0\1\65\1\u023e\4\65\1\0" + "\26\65\1\0\17\65\1\u023e\21\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\5\65\1\u023f\1\0\26\65" + "\1\0\14\65\1\u023f\24\65\1\0\22\65\1\0\1\65" + + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\13\65" + "\1\u0240\25\65\1\0\2\65\1\u0240\17\65\1\0\1\65" + + "\1\0\2\65\2\0\6\65\1\0\1\112\25\65\1\0" + "\25\65\1\112\13\65\1\0\22\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\2\65\1\u0241\23\65\1\0" + "\27\65\1\u0241\11\65\1\0\22\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\26\65\1\0\30\65\1\u0242" + "\10\65\1\0\4\65\1\u0242\15\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\1\65\1\u0243\24\65\1\0" + "\20\65\1\u0243\20\65\1\0\22\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\12\65\1\u0244\13\65\1\0" + "\41\65\1\0\6\65\1\u0244\13\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\26\65\1\0\30\65\1\112" + "\10\65\1\0\4\65\1\112\15\65\1\0\1\65\1\0" + + "\2\65\2\0\5\65\1\112\1\0\26\65\1\0\14\65" + "\1\112\24\65\1\0\22\65\1\0\1\65\1\0\2\65" + + "\2\0\3\65\1\u023f\2\65\1\0\26\65\1\0\7\65" + "\1\u023f\1\u0235\30\65\1\0\7\65\1\u0235\12\65\1\0" + + "\1\65\1\0\2\65\2\0\4\65\1\u019a\1\65\1\0" + "\26\65\1\0\26\65\1\u019a\12\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\1\65\1\317\4\65\1\0" + "\26\65\1\0\17\65\1\317\21\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\30\65\1\u0245\10\65\1\0\4\65\1\u0245\15\65\1\0" + + "\1\65\1\0\2\65\2\0\2\65\1\u0246\3\65\1\0" + "\26\65\1\0\12\65\1\u0246\26\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\21\65\1\u0247\17\65\1\0\5\65\1\u0247\14\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\1\65\1\u0248" + "\24\65\1\0\20\65\1\u0248\20\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\22\65\1\u0249\16\65\1\0\1\65\1\u0249\20\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\22\65\1\u024a\16\65\1\0\1\65\1\u024a\20\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\21\65\1\u0192\17\65\1\0\5\65\1\u0192\14\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\13\65\1\u024b\25\65\1\0\2\65\1\u024b\17\65\1\0" + + "\1\65\1\0\2\65\2\0\3\65\1\u024c\2\65\1\0" + "\26\65\1\0\7\65\1\u024c\31\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\22\65\1\112\16\65\1\0\1\65\1\112\20\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\1\65\1\u024d" + "\24\65\1\0\20\65\1\u024d\20\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\3\65\1\363\2\65\1\0" + "\26\65\1\0\7\65\1\363\31\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\2\65\1\u024e\3\65\1\0" + "\26\65\1\0\12\65\1\u024e\26\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u0111" + "\23\65\1\0\22\65\1\112\4\65\1\u0111\11\65\1\0" + + "\1\65\1\112\20\65\1\0\1\65\1\0\2\65\2\0" + "\6\65\1\0\12\65\1\112\13\65\1\0\41\65\1\0" + + "\6\65\1\112\13\65\1\0\1\65\1\0\2\65\2\0" + "\5\65\1\u024f\1\0\26\65\1\0\14\65\1\u024f\24\65" + + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\26\65\1\0\31\65\1\112\7\65\1\0\10\65" + + "\1\112\1\u0250\10\65\1\0\1\65\1\0\2\65\2\0" + "\6\65\1\0\26\65\1\0\10\65\1\u0251\30\65\1\0" + + "\7\65\1\u0251\12\65\1\0\1\65\1\0\2\65\2\0" + "\6\65\1\0\2\65\1\363\23\65\1\0\27\65\1\363" + + "\11\65\1\0\20\65\12\0\1\u0252\53\0\1\u0252\120\0" + "\2\u01ca\17\0\1\u01ca\41\0\1\u0253\120\0\1\127\10\0" + + "\1\127\1\u0254\4\127\1\0\2\127\1\u0254\1\127\4\u0254" + "\1\127\1\0\1\127\1\0\3\127\1\0\1\127\1\u0254" + + "\14\0\2\127\1\0\5\127\1\u0254\1\127\2\u0254\1\127" + + "\1\u0254\2\127\1\u0254\3\127\1\u0254\1\127\2\0\1\127" + + "\2\0\1\127\1\u0254\3\127\1\u0254\6\127\1\u0254\2\127" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\1\u0255" + "\1\136\1\0\22\136\1\127\2\0\1\136\2\0\17\136" + + "\1\0\1\u011d\10\0\6\u011d\1\0\4\u011d\2\u01ce\1\u011d" + + "\1\u01ce\1\u011d\1\0\1\u011d\1\0\3\u011d\1\0\1\u011d" + + "\1\u0120\14\0\2\u011d\1\0\7\u011d\1\u0120\2\u011d\1\u0120" + + "\10\u011d\2\0\1\u011d\2\0\5\u011d\1\u0120\6\u011d\1\u01ce" + + "\2\u011d\25\0\2\u01ce\1\0\1\u01ce\75\0\1\u01ce\3\0" + + "\1\u011d\10\0\1\u011d\1\u01d1\4\u011d\1\0\1\u011d\1\u01d0" + + "\1\u01d1\1\u011d\4\u01d1\1\u011d\1\0\1\u011d\1\0\3\u011d" + + "\1\0\1\u011d\1\u01d1\14\0\2\u011d\1\0\5\u011d\1\u01d1" + + "\1\u01d0\2\u01d1\1\u011d\1\u01d1\2\u011d\1\u01d1\3\u011d\1\u01d1" + + "\1\u011d\2\0\1\u011d\2\0\1\u011d\1\u01d1\3\u011d\1\u01d1" + + "\6\u011d\1\u01d1\2\u011d\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + + "\2\136\14\0\2\136\1\0\11\136\1\u014b\10\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\15\136\1\u0256\4\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" - + "\1\136\1\0\2\136\14\0\2\136\1\0\15\136\1\u0128" + "\4\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" - + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\1\136\1\u0264\1\0" + + "\1\136\1\0\2\136\14\0\2\136\1\0\2\136\1\u0257" + "\17\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\1\u0258\1\136\1\0" + "\22\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" - + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\21\136" + "\1\u0265\1\127\2\0\1\136\2\0\17\136\1\0\1\127" - + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\15\136" - + "\1\u0266\4\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" - + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\10\136\1\u0267\11\136\1\127\2\0\1\136\2\0\17\136" - + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\u0268" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" - + "\1\0\22\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" - + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\2\136\1\u0269\17\136\1\127\2\0\1\136\2\0\17\136" - + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" - + "\1\0\15\136\1\u0142\4\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" - + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\2\136\1\u026a\17\136\1\127\2\0\1\136" - + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" - + "\14\0\2\136\1\0\1\u026b\21\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" - + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\5\136\1\u026c\14\136\1\127\2\0" - + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" - + "\2\136\14\0\2\136\1\0\2\136\1\u01e4\17\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" - + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\5\136\1\u026d\14\136" - + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" - + "\1\136\1\0\2\136\14\0\2\136\1\0\10\136\1\u026e" + "\11\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" - + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\10\136" - + "\1\u026b\11\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" - + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\11\136\1\u01da\10\136\1\127\2\0\1\136\2\0\17\136" - + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" - + "\1\0\6\136\1\u026a\13\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" - + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\20\136\1\u026f\1\136\1\127\2\0\1\136" - + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" - + "\14\0\2\136\1\0\2\136\1\u0270\17\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" - + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\11\136\1\u0271\10\136\1\127" - + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" - + "\1\0\2\136\14\0\2\136\1\0\17\136\1\u0272\2\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" - + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + "\1\136\1\0\2\136\14\0\2\136\1\0\16\136\1\u0128" - + "\3\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" - + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\4\136" + "\1\u0273\15\136\1\127\2\0\1\136\2\0\17\136\1\0" + + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\10\136" + "\1\u0259\11\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" - + "\10\136\1\u0274\11\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" - + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\6\136\1\u0275\13\136\1\127\2\0\1\136\2\0" - + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" - + "\2\136\1\0\15\136\1\u0276\4\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" - + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\1\136\1\u025a\20\136\1\127\2\0" + + "\1\136\1\u025a\4\136\1\u025b\13\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\1\136\1\u0128\20\136\1\127\2\0" + + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\u025c\1\0\1\127\1\u011a\1\136\1\0" + + "\2\136\14\0\2\136\1\0\22\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\15\136\1\u025d\4\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" - + "\2\136\14\0\2\136\1\0\7\136\1\u0128\12\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" - + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\10\136\1\u0277\11\136" + + "\2\136\14\0\2\136\1\0\3\136\1\u025e\16\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\11\136\1\u0128\10\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" - + "\1\136\1\0\2\136\14\0\2\136\1\0\10\136\1\u0278" + "\11\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" - + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\6\136" - + "\1\u0279\13\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" - + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\15\136\1\u0264\4\136\1\127\2\0\1\136\2\0\17\136" + + "\1\136\1\0\2\136\14\0\2\136\1\0\1\136\1\u025f" + "\20\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\15\136" + + "\1\u0260\4\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\6\136\1\u0128\13\136\1\127\2\0\1\136\2\0\17\136" + + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\1\u0261" + + "\1\136\1\0\22\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\2\136\1\u0262\6\136\1\u0263\10\136\1\127\2\0" + + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + + "\2\136\14\0\2\136\1\0\1\u0264\21\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\11\136\1\u01dc\10\136\1\127" + + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + + "\1\0\2\136\14\0\2\136\1\0\5\136\1\u0206\14\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + "\1\136\1\0\2\136\14\0\2\136\1\0\15\136\1\u0128" + + "\4\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + + "\1\u011a\1\136\1\0\2\136\14\0\1\136\1\u0264\1\0" + "\22\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\21\136" + + "\1\u0265\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\15\136" + "\1\u0266\4\136\1\127\2\0\1\136\2\0\17\136\1\0" + + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + + "\10\136\1\u0267\11\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\u0268" + + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\22\136\1\127\2\0\1\136\2\0\17\136\1\0" + + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + + "\2\136\1\u0269\17\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\15\136\1\u0142\4\136\1\127\2\0\1\136\2\0" + + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + + "\2\136\1\0\2\136\1\u026a\17\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\1\u026b\21\136\1\127\2\0\1\136" + + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + + "\14\0\2\136\1\0\5\136\1\u026c\14\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\2\136\1\u01e4\17\136\1\127" + + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + + "\1\0\2\136\14\0\2\136\1\0\5\136\1\u026d\14\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + "\1\136\1\0\2\136\14\0\2\136\1\0\10\136\1\u026e" + + "\11\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\10\136" + "\1\u026b\11\136\1\127\2\0\1\136\2\0\17\136\1\0" + + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + + "\11\136\1\u01da\10\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\6\136\1\u026a\13\136\1\127\2\0\1\136\2\0" + + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + + "\2\136\1\0\20\136\1\u026f\1\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\2\136\1\u0270\17\136\1\127\2\0" + + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + + "\2\136\14\0\2\136\1\0\11\136\1\u0271\10\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\17\136\1\u0272\2\136" + + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + + "\1\136\1\0\2\136\14\0\2\136\1\0\16\136\1\u0128" + "\3\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\4\136" + + "\1\u0273\15\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\10\136\1\u0274\11\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" - + "\1\0\4\136\1\u0128\15\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" - + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\6\136\1\u01e5\13\136\1\127\2\0\1\136" - + "\2\0\17\136\13\0\1\u027a\7\0\1\u027a\1\0\4\u027a" + "\11\0\1\u027a\24\0\1\u027a\1\0\2\u027a\1\0\1\u027a" - + "\2\0\1\u027a\3\0\1\u027a\7\0\1\u027a\3\0\1\u027a" + "\6\0\1\u027a\15\0\1\u027b\7\0\1\u027b\1\0\4\u027b" - + "\11\0\1\u027b\24\0\1\u027b\1\0\2\u027b\1\0\1\u027b" + "\2\0\1\u027b\3\0\1\u027b\7\0\1\u027b\3\0\1\u027b" - + "\6\0\1\u027b\15\0\1\u027c\53\0\1\u027c\137\0\1\u027d" + "\131\0\1\u020d\105\0\1\u027e\120\0\1\u027f\77\0\1\u0280" - + "\53\0\1\u0280\137\0\1\u0281\131\0\1\u0212\105\0\1\u0282" + "\120\0\1\u0283\103\0\1\u0284\44\0\1\u0284\140\0\1\u0285" - + "\113\0\1\u0286\150\0\1\u0287\114\0\1\u021b\135\0\1\u0288" + "\122\0\1\u0289\132\0\1\u028a\132\0\1\u028b\144\0\1\u028c" - + "\125\0\1\u028d\116\0\1\u028e\130\0\1\u028f\5\0\1\u0290" + "\130\0\1\u0225\121\0\1\u0291\126\0\1\u0292\135\0\1\u0293" - + "\133\0\1\u0294\134\0\1\u0295\125\0\1\u0296\133\0\1\u0297" + "\44\0\3\305\1\u0298\2\305\1\0\10\305\2\0\1\305" - + "\5\0\2\305\14\0\1\u0298\1\305\1\0\22\305\3\0" + "\1\305\2\0\17\305\12\0\6\305\1\0\1\305\1\u0299" - + "\6\305\2\0\1\305\5\0\2\305\14\0\2\305\1\0" + "\6\305\1\u0299\13\305\3\0\1\305\2\0\17\305\54\0" - + "\1\u022d\16\0\1\u0187\46\0\1\u029a\125\0\2\u029b\1\0" + "\7\u022e\1\0\10\u022e\2\u029b\1\u022e\1\0\1\u029b\1\0" - + "\1\u022e\1\u029b\2\u022e\2\u029b\1\0\2\u029b\1\0\5\u029b" + "\1\0\2\u022e\1\0\22\u022e\3\u029b\1\u022e\2\u029b\17\u022e" - + "\1\0\2\65\1\0\1\65\1\0\2\65\2\0\4\65" + "\1\u01b1\1\65\1\0\26\65\1\0\26\65\1\u01b1\12\65" - + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\26\65\1\0\31\65\1\u0192\7\65\1\0\10\65" - + "\1\u0192\11\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\26\65\1\0\15\65\1\340\23\65\1\0\3\65" - + "\1\340\16\65\1\0\1\65\1\0\2\65\2\0\3\65" + "\1\u023f\2\65\1\0\26\65\1\0\7\65\1\u023f\31\65" - + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\1\65" + "\1\u01b1\4\65\1\0\26\65\1\0\17\65\1\u01b1\21\65" - + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\1\65" + "\1\u0192\4\65\1\0\26\65\1\0\17\65\1\u0192\21\65" - + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\2\65" + "\1\u029c\3\65\1\0\26\65\1\0\12\65\1\u029c\26\65" - + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\2\65\1\u029d\23\65\1\0\22\65\1\u023c\4\65" - + "\1\u029d\11\65\1\0\1\65\1\u023c\20\65\1\0\1\65" + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\22\65" - + "\1\u029e\16\65\1\0\1\65\1\u029e\20\65\1\0\1\65" + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\21\65" - + "\1\u029f\17\65\1\0\5\65\1\u029f\14\65\1\0\1\65" + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\30\65" - + "\1\u0192\10\65\1\0\4\65\1\u0192\15\65\1\0\1\65" + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\15\65" - + "\1\u02a0\23\65\1\0\3\65\1\u02a0\16\65\1\0\1\65" + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\22\65" - + "\1\u02a1\16\65\1\0\1\65\1\u02a1\20\65\1\0\1\65" + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\15\65" - + "\1\u010f\23\65\1\0\3\65\1\u010f\16\65\1\0\1\65" + "\1\0\2\65\2\0\5\65\1\u02a2\1\0\26\65\1\0" - + "\14\65\1\u02a2\24\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\26\65\1\0\31\65\1\u02a3" - + "\7\65\1\0\10\65\1\u02a3\11\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\26\65\1\0\13\65\1\u0102" - + "\25\65\1\0\2\65\1\u0102\17\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\12\65\1\u023c\13\65\1\0" - + "\41\65\1\0\6\65\1\u023c\13\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\21\65\1\u02a4\4\65\1\0" - + "\24\65\1\u02a4\14\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\2\65\1\u02a5\23\65\1\0" - + "\27\65\1\u02a5\11\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\26\65\1\0\21\65\1\u02a6" - + "\17\65\1\0\5\65\1\u02a6\14\65\1\0\1\65\1\0" + "\2\65\2\0\2\65\1\u0192\3\65\1\0\26\65\1\0" - + "\12\65\1\u0192\26\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\26\65\1\0\22\65\1\u02a7" - + "\16\65\1\0\1\65\1\u02a7\20\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\26\65\1\0\13\65\1\340" - + "\25\65\1\0\2\65\1\340\17\65\1\0\1\65\1\0" + "\2\65\2\0\3\65\1\u02a8\2\65\1\0\26\65\1\0" - + "\7\65\1\u02a8\31\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\5\65\1\u02a9\1\0\1\65\1\u02aa\24\65" - + "\1\0\10\65\1\u02ab\3\65\1\u02a9\3\65\1\u02aa\20\65" + "\1\0\7\65\1\u02ab\12\65\1\0\1\65\1\0\2\65" - + "\2\0\6\65\1\0\26\65\1\0\15\65\1\u02ac\23\65" + "\1\0\3\65\1\u02ac\16\65\1\0\1\65\1\0\2\65" - + "\2\0\1\65\1\333\4\65\1\0\26\65\1\0\17\65" + "\1\333\21\65\1\0\22\65\1\0\1\65\1\0\2\65" - + "\2\0\6\65\1\0\2\65\1\u01b1\23\65\1\0\27\65" + "\1\u01b1\11\65\1\0\22\65\1\0\1\65\1\0\2\65" - + "\2\0\6\65\1\0\2\65\1\u02ad\23\65\1\0\27\65" + "\1\u02ad\11\65\1\0\22\65\1\0\1\65\1\0\2\65" - + "\2\0\3\65\1\u02ae\2\65\1\0\26\65\1\0\7\65" + "\1\u02ae\31\65\1\0\22\65\1\0\1\65\1\0\2\65" - + "\2\0\6\65\1\0\12\65\1\u02af\13\65\1\0\41\65" + "\1\0\6\65\1\u02af\13\65\1\0\1\65\1\0\2\65" - + "\2\0\6\65\1\0\2\65\1\u0102\23\65\1\0\27\65" + "\1\u0102\11\65\1\0\20\65\13\0\1\u02b0\45\0\1\u02b0" - + "\47\0\1\127\10\0\1\127\1\u02b1\4\127\1\0\2\127" + "\1\u02b1\1\127\4\u02b1\1\127\1\0\1\127\1\0\3\127" - + "\1\0\1\127\1\u02b1\14\0\2\127\1\0\5\127\1\u02b1" + "\1\127\2\u02b1\1\127\1\u02b1\2\127\1\u02b1\3\127\1\u02b1" + + "\1\0\6\136\1\u0275\13\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\15\136\1\u0276\4\136\1\127\2\0\1\136" + + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + + "\14\0\2\136\1\0\1\136\1\u025a\20\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\7\136\1\u0128\12\136\1\127" + + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + + "\1\0\2\136\14\0\2\136\1\0\10\136\1\u0277\11\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + "\1\136\1\0\2\136\14\0\2\136\1\0\10\136\1\u0278" + + "\11\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\6\136" + "\1\u0279\13\136\1\127\2\0\1\136\2\0\17\136\1\0" + + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + + "\15\136\1\u0264\4\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\4\136\1\u0128\15\136\1\127\2\0\1\136\2\0" + + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + + "\2\136\1\0\6\136\1\u01e5\13\136\1\127\2\0\1\136" + "\2\0\17\136\13\0\1\u027a\7\0\1\u027a\1\0\4\u027a" + + "\11\0\1\u027a\24\0\1\u027a\1\0\2\u027a\1\0\1\u027a" + "\2\0\1\u027a\3\0\1\u027a\7\0\1\u027a\3\0\1\u027a" + + "\6\0\1\u027a\15\0\1\u027b\7\0\1\u027b\1\0\4\u027b" + "\11\0\1\u027b\24\0\1\u027b\1\0\2\u027b\1\0\1\u027b" + + "\2\0\1\u027b\3\0\1\u027b\7\0\1\u027b\3\0\1\u027b" + + "\6\0\1\u027b\15\0\1\u027c\53\0\1\u027c\137\0\1\u027d" + + "\131\0\1\u020d\105\0\1\u027e\120\0\1\u027f\77\0\1\u0280" + + "\53\0\1\u0280\137\0\1\u0281\131\0\1\u0212\105\0\1\u0282" + + "\120\0\1\u0283\103\0\1\u0284\44\0\1\u0284\140\0\1\u0285" + + "\113\0\1\u0286\150\0\1\u0287\114\0\1\u021b\135\0\1\u0288" + + "\122\0\1\u0289\132\0\1\u028a\132\0\1\u028b\144\0\1\u028c" + + "\125\0\1\u028d\116\0\1\u028e\130\0\1\u028f\5\0\1\u0290" + + "\130\0\1\u0225\121\0\1\u0291\126\0\1\u0292\135\0\1\u0293" + + "\133\0\1\u0294\134\0\1\u0295\125\0\1\u0296\133\0\1\u0297" + + "\44\0\3\305\1\u0298\2\305\1\0\10\305\2\0\1\305" + "\5\0\2\305\14\0\1\u0298\1\305\1\0\22\305\3\0" + + "\1\305\2\0\17\305\12\0\6\305\1\0\1\305\1\u0299" + "\6\305\2\0\1\305\5\0\2\305\14\0\2\305\1\0" + + "\6\305\1\u0299\13\305\3\0\1\305\2\0\17\305\54\0" + "\1\u022d\16\0\1\u0187\46\0\1\u029a\125\0\2\u029b\1\0" + + "\7\u022e\1\0\10\u022e\2\u029b\1\u022e\1\0\1\u029b\1\0" + + "\1\u022e\1\u029b\2\u022e\2\u029b\1\0\2\u029b\1\0\5\u029b" + + "\1\0\2\u022e\1\0\22\u022e\3\u029b\1\u022e\2\u029b\17\u022e" + "\1\0\2\65\1\0\1\65\1\0\2\65\2\0\4\65" + + "\1\u01b1\1\65\1\0\26\65\1\0\26\65\1\u01b1\12\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + + "\1\0\26\65\1\0\31\65\1\u0192\7\65\1\0\10\65" + "\1\u0192\11\65\1\0\1\65\1\0\2\65\2\0\6\65" + + "\1\0\26\65\1\0\15\65\1\340\23\65\1\0\3\65" + "\1\340\16\65\1\0\1\65\1\0\2\65\2\0\3\65" + + "\1\u023f\2\65\1\0\26\65\1\0\7\65\1\u023f\31\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\1\65" + + "\1\u01b1\4\65\1\0\26\65\1\0\17\65\1\u01b1\21\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\1\65" + + "\1\u0192\4\65\1\0\26\65\1\0\17\65\1\u0192\21\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\2\65" + + "\1\u029c\3\65\1\0\26\65\1\0\12\65\1\u029c\26\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + + "\1\0\2\65\1\u029d\23\65\1\0\22\65\1\u023c\4\65" + "\1\u029d\11\65\1\0\1\65\1\u023c\20\65\1\0\1\65" + + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\22\65" + "\1\u029e\16\65\1\0\1\65\1\u029e\20\65\1\0\1\65" + + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\21\65" + "\1\u029f\17\65\1\0\5\65\1\u029f\14\65\1\0\1\65" + + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\30\65" + "\1\u0192\10\65\1\0\4\65\1\u0192\15\65\1\0\1\65" + + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\15\65" + "\1\u02a0\23\65\1\0\3\65\1\u02a0\16\65\1\0\1\65" + + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\22\65" + "\1\u02a1\16\65\1\0\1\65\1\u02a1\20\65\1\0\1\65" + + "\1\0\2\65\2\0\6\65\1\0\26\65\1\0\15\65" + "\1\u010f\23\65\1\0\3\65\1\u010f\16\65\1\0\1\65" + + "\1\0\2\65\2\0\5\65\1\u02a2\1\0\26\65\1\0" + "\14\65\1\u02a2\24\65\1\0\22\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\26\65\1\0\31\65\1\u02a3" + "\7\65\1\0\10\65\1\u02a3\11\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\26\65\1\0\13\65\1\u0102" + "\25\65\1\0\2\65\1\u0102\17\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\12\65\1\u023c\13\65\1\0" + "\41\65\1\0\6\65\1\u023c\13\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\21\65\1\u02a4\4\65\1\0" + "\24\65\1\u02a4\14\65\1\0\22\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\2\65\1\u02a5\23\65\1\0" + "\27\65\1\u02a5\11\65\1\0\22\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\26\65\1\0\21\65\1\u02a6" + "\17\65\1\0\5\65\1\u02a6\14\65\1\0\1\65\1\0" + + "\2\65\2\0\2\65\1\u0192\3\65\1\0\26\65\1\0" + "\12\65\1\u0192\26\65\1\0\22\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\26\65\1\0\22\65\1\u02a7" + "\16\65\1\0\1\65\1\u02a7\20\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\26\65\1\0\13\65\1\340" + "\25\65\1\0\2\65\1\340\17\65\1\0\1\65\1\0" + + "\2\65\2\0\3\65\1\u02a8\2\65\1\0\26\65\1\0" + "\7\65\1\u02a8\31\65\1\0\22\65\1\0\1\65\1\0" + + "\2\65\2\0\5\65\1\u02a9\1\0\1\65\1\u02aa\24\65" + "\1\0\10\65\1\u02ab\3\65\1\u02a9\3\65\1\u02aa\20\65" + + "\1\0\7\65\1\u02ab\12\65\1\0\1\65\1\0\2\65" + "\2\0\6\65\1\0\26\65\1\0\15\65\1\u02ac\23\65" + + "\1\0\3\65\1\u02ac\16\65\1\0\1\65\1\0\2\65" + "\2\0\1\65\1\333\4\65\1\0\26\65\1\0\17\65" + + "\1\333\21\65\1\0\22\65\1\0\1\65\1\0\2\65" + "\2\0\6\65\1\0\2\65\1\u01b1\23\65\1\0\27\65" + + "\1\u01b1\11\65\1\0\22\65\1\0\1\65\1\0\2\65" + "\2\0\6\65\1\0\2\65\1\u02ad\23\65\1\0\27\65" + + "\1\u02ad\11\65\1\0\22\65\1\0\1\65\1\0\2\65" + "\2\0\3\65\1\u02ae\2\65\1\0\26\65\1\0\7\65" + + "\1\u02ae\31\65\1\0\22\65\1\0\1\65\1\0\2\65" + "\2\0\6\65\1\0\12\65\1\u02af\13\65\1\0\41\65" + + "\1\0\6\65\1\u02af\13\65\1\0\1\65\1\0\2\65" + "\2\0\6\65\1\0\2\65\1\u0102\23\65\1\0\27\65" + + "\1\u0102\11\65\1\0\20\65\13\0\1\u02b0\45\0\1\u02b0" + "\47\0\1\127\10\0\1\127\1\u02b1\4\127\1\0\2\127" + + "\1\u02b1\1\127\4\u02b1\1\127\1\0\1\127\1\0\3\127" + "\1\0\1\127\1\u02b1\14\0\2\127\1\0\5\127\1\u02b1" + + "\1\127\2\u02b1\1\127\1\u02b1\2\127\1\u02b1\3\127\1\u02b1" + "\1\127\2\0\1\127\2\0\1\127\1\u02b1\3\127\1\u02b1" + "\6\127\1\u02b1\2\127\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\3\136\1\u02b2\16\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" @@ -838,113 +889,125 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\17\136\1\u0128\2\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\15\136\1\u02c8\4\136\1\127\2\0\1\136" + "\2\0\17\136\14\0\1\u02c9\45\0\1\u02c9\122\0\1\u027e" - + "\16\0\1\u020d\46\0\1\u02ca\125\0\2\u02cb\1\0\7\u027f" + "\1\0\10\u027f\2\u02cb\1\u027f\1\0\1\u02cb\1\0\1\u027f" - + "\1\u02cb\2\u027f\2\u02cb\1\0\2\u02cb\1\0\5\u02cb\1\0" + "\2\u027f\1\0\22\u027f\3\u02cb\1\u027f\2\u02cb\17\u027f\14\0" - + "\1\u02cc\45\0\1\u02cc\122\0\1\u0282\16\0\1\u0212\46\0" + "\1\u02cd\125\0\2\u02ce\1\0\7\u0283\1\0\10\u0283\2\u02ce" - + "\1\u0283\1\0\1\u02ce\1\0\1\u0283\1\u02ce\2\u0283\2\u02ce" + "\1\0\2\u02ce\1\0\5\u02ce\1\0\2\u0283\1\0\22\u0283" - + "\3\u02ce\1\u0283\2\u02ce\17\u0283\21\0\1\u02cf\53\0\1\u02cf" + "\117\0\1\u028c\126\0\1\u02d0\142\0\1\u02d1\131\0\1\u02d2" - + "\113\0\1\u02d3\102\0\1\u02d4\175\0\1\u02d5\120\0\1\u02d6" + "\142\0\1\u028a\107\0\1\u028a\134\0\1\u02d2\123\0\1\u02d7" - + "\144\0\1\u0290\70\0\1\u02d8\200\0\1\u02d9\111\0\1\u02da" + "\123\0\1\u02db\134\0\1\u02dc\57\0\4\305\1\u02dd\1\305" - + "\1\0\10\305\2\0\1\305\5\0\2\305\14\0\2\305" + "\1\0\14\305\1\u02dd\5\305\3\0\1\305\2\0\17\305" - + "\12\0\6\305\1\0\2\305\1\u02de\5\305\2\0\1\305" + "\5\0\2\305\14\0\2\305\1\0\15\305\1\u02de\4\305" - + "\3\0\1\305\2\0\17\305\11\0\1\u022e\120\0\2\65" + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" - + "\1\0\13\65\1\u02df\25\65\1\0\2\65\1\u02df\17\65" + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" - + "\1\0\15\65\1\u01b1\23\65\1\0\3\65\1\u01b1\16\65" + "\1\0\1\65\1\0\2\65\2\0\1\112\5\65\1\0" - + "\26\65\1\0\23\65\1\112\15\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u02e0" - + "\23\65\1\0\27\65\1\u02e0\11\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\5\65\1\u02e1\1\0\26\65" - + "\1\0\14\65\1\u02e1\24\65\1\0\22\65\1\0\1\65" + "\1\0\2\65\2\0\2\65\1\u02e2\3\65\1\0\26\65" - + "\1\0\12\65\1\u02e2\26\65\1\0\22\65\1\0\1\65" + "\1\0\2\65\2\0\1\u02e3\5\65\1\0\26\65\1\0" - + "\23\65\1\u02e3\15\65\1\0\22\65\1\0\1\65\1\0" + "\2\65\2\0\6\65\1\0\26\65\1\0\41\65\1\0" - + "\11\65\1\u02e4\10\65\1\0\1\65\1\0\2\65\2\0" + "\6\65\1\0\26\65\1\0\13\65\1\u029d\25\65\1\0" - + "\2\65\1\u029d\17\65\1\0\1\65\1\0\2\65\2\0" + "\1\u024d\5\65\1\0\26\65\1\0\23\65\1\u024d\15\65" - + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\26\65\1\0\30\65\1\u02e5\10\65\1\0\4\65" - + "\1\u02e5\15\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\1\65\1\u029e\24\65\1\0\20\65\1\u029e\20\65" - + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\2\65\1\u02e6\23\65\1\0\27\65\1\u02e6\11\65" - + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\3\65" + "\1\373\2\65\1\0\26\65\1\0\7\65\1\373\31\65" - + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\2\65" + "\1\u02e7\3\65\1\0\26\65\1\0\12\65\1\u02e7\26\65" - + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + "\1\0\1\u01b0\25\65\1\0\25\65\1\u01b0\13\65\1\0" - + "\22\65\1\0\1\65\1\0\2\65\2\0\1\u029e\5\65" + "\1\0\26\65\1\0\23\65\1\u029e\15\65\1\0\22\65" - + "\1\0\1\65\1\0\2\65\2\0\1\65\1\u02e8\4\65" + "\1\0\26\65\1\0\17\65\1\u02e8\21\65\1\0\22\65" - + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\2\65" + "\1\u0192\23\65\1\0\27\65\1\u0192\11\65\1\0\20\65" - + "\14\0\1\u02e9\41\0\1\u02e9\52\0\1\127\10\0\1\127" + "\1\u02ea\4\127\1\0\2\127\1\u02ea\1\127\4\u02ea\1\127" - + "\1\0\1\127\1\0\3\127\1\0\1\127\1\u02ea\14\0" + "\2\127\1\0\5\127\1\u02ea\1\127\2\u02ea\1\127\1\u02ea" - + "\2\127\1\u02ea\3\127\1\u02ea\1\127\2\0\1\127\2\0" + "\1\127\1\u02ea\3\127\1\u02ea\6\127\1\u02ea\2\127\1\0" - + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\1\u02eb\1\136" - + "\1\0\22\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" - + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\12\136\1\u02ec\7\136\1\127\2\0\1\136\2\0\17\136" - + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" - + "\1\0\3\136\1\u02ed\16\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" - + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\1\u02ee\1\136\1\0\22\136\1\127\2\0\1\136\2\0" - + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" - + "\2\136\1\0\16\136\1\u02ef\3\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" - + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\3\136\1\u02f0\16\136\1\127\2\0" - + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" - + "\2\136\14\0\1\u02f1\1\136\1\0\22\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" - + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\12\136\1\u0128\7\136\1\127" - + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" - + "\1\0\2\136\14\0\2\136\1\0\3\136\1\u02f2\16\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" - + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + "\1\136\1\0\2\136\14\0\2\136\1\0\6\136\1\u0263" - + "\13\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" - + "\1\u011a\1\136\1\0\2\136\14\0\1\136\1\u01ed\1\0" + "\22\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" - + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\10\136" - + "\1\u02f3\11\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" - + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\5\136\1\u0128\14\136\1\127\2\0\1\136\2\0\17\136" - + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" - + "\1\0\1\u02f4\21\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" - + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\1\u02f5" + "\1\136\1\0\22\136\1\127\2\0\1\136\2\0\17\136" - + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" - + "\1\0\6\136\1\u02f6\13\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" - + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\5\136\1\u02f7\14\136\1\127\2\0\1\136" - + "\2\0\17\136\1\0\1\127\10\0\3\136\1\u02f8\2\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" - + "\1\0\1\136\1\u02f9\14\0\2\136\1\0\22\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" - + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\1\136\1\u01e5\1\0\22\136\1\127" - + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" - + "\1\0\2\136\14\0\2\136\1\0\15\136\1\u0275\4\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" - + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + "\1\136\1\0\2\136\14\0\2\136\1\0\7\136\1\u01dc" - + "\12\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" - + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\10\136" + "\1\u02fa\11\136\1\127\2\0\1\136\2\0\17\136\15\0" - + "\1\u02fb\41\0\1\u02fb\62\0\1\u027f\134\0\1\u02fc\41\0" + "\1\u02fc\62\0\1\u0283\141\0\1\u02fd\45\0\1\u02fd\133\0" - + "\1\u02fe\120\0\1\u02ff\77\0\1\u0300\175\0\1\u021b\114\0" + "\1\u0301\3\0\1\u0302\1\u0303\122\0\1\u028a\147\0\1\u0304" - + "\131\0\1\u0305\121\0\1\u028a\125\0\1\u0304\135\0\1\u028a" + "\117\0\1\u0304\126\0\1\u0306\60\0\5\305\1\u0307\1\0" - + "\10\305\2\0\1\305\5\0\2\305\14\0\2\305\1\0" + "\2\305\1\u0307\17\305\3\0\1\305\2\0\17\305\1\0" - + "\2\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\12\65\1\u0190\13\65\1\0\41\65\1\0\6\65\1\u0190" - + "\13\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\20\65\1\112\5\65\1\0\37\65\1\112\1\65\1\0" - + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\2\65\1\u0308\23\65\1\0\27\65\1\u0308\11\65\1\0" - + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\2\65\1\u01bf\23\65\1\0\27\65\1\u01bf\11\65\1\0" - + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\26\65\1\0\13\65\1\324\25\65\1\0\2\65\1\324" - + "\17\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\12\65\1\u0309\13\65\1\0\41\65\1\0\6\65\1\u0309" - + "\13\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\2\65\1\u029e\23\65\1\0\27\65\1\u029e\11\65\1\0" - + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\26\65\1\0\30\65\1\u030a\10\65\1\0\4\65\1\u030a" - + "\15\65\1\0\1\65\1\0\2\65\2\0\3\65\1\u010f" + "\2\65\1\0\26\65\1\0\7\65\1\u010f\31\65\1\0" - + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\26\65\1\0\13\65\1\u01b7\25\65\1\0\2\65\1\u01b7" - + "\15\65\15\0\1\u030b\57\0\1\u030b\33\0\1\127\10\0" + "\1\127\1\136\4\127\1\0\2\127\1\136\1\127\4\136" - + "\1\127\1\0\1\127\1\0\3\127\1\0\1\127\1\136" + "\14\0\2\127\1\0\5\127\1\136\1\127\2\136\1\127" - + "\1\136\2\127\1\136\3\127\1\136\1\127\2\0\1\127" + "\2\0\1\127\1\136\3\127\1\136\6\127\1\136\2\127" - + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" - + "\1\0\2\136\1\u02f6\17\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" - + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\10\136\1\u030c\11\136\1\127\2\0\1\136" - + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" - + "\14\0\2\136\1\0\5\136\1\u01de\14\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" - + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\2\136\1\u02c6\17\136\1\127" - + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" - + "\1\0\2\136\14\0\2\136\1\0\15\136\1\u030d\4\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" - + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + "\1\136\1\0\2\136\14\0\2\136\1\0\15\136\1\u030e" - + "\4\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\u01e5\1\0\1\127" - + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\22\136" + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" - + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + "\1\136\1\0\2\136\14\0\2\136\1\0\5\136\1\u0263" - + "\14\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" - + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\1\136" + "\1\u030f\20\136\1\127\2\0\1\136\2\0\17\136\1\0" + + "\16\0\1\u020d\46\0\1\u02ca\125\0\2\u02cb\1\0\7\u027f" + + "\1\0\10\u027f\2\u02cb\1\u027f\1\0\1\u02cb\1\0\1\u027f" + + "\1\u02cb\2\u027f\2\u02cb\1\0\2\u02cb\1\0\5\u02cb\1\0" + + "\2\u027f\1\0\22\u027f\3\u02cb\1\u027f\2\u02cb\17\u027f\14\0" + + "\1\u02cc\45\0\1\u02cc\122\0\1\u0282\16\0\1\u0212\46\0" + + "\1\u02cd\125\0\2\u02ce\1\0\7\u0283\1\0\10\u0283\2\u02ce" + + "\1\u0283\1\0\1\u02ce\1\0\1\u0283\1\u02ce\2\u0283\2\u02ce" + + "\1\0\2\u02ce\1\0\5\u02ce\1\0\2\u0283\1\0\22\u0283" + + "\3\u02ce\1\u0283\2\u02ce\17\u0283\21\0\1\u02cf\53\0\1\u02cf" + + "\117\0\1\u028c\126\0\1\u02d0\142\0\1\u02d1\131\0\1\u02d2" + + "\113\0\1\u02d3\102\0\1\u02d4\175\0\1\u02d5\120\0\1\u02d6" + + "\142\0\1\u028a\107\0\1\u028a\134\0\1\u02d2\123\0\1\u02d7" + + "\144\0\1\u0290\70\0\1\u02d8\200\0\1\u02d9\111\0\1\u02da" + + "\123\0\1\u02db\134\0\1\u02dc\57\0\4\305\1\u02dd\1\305" + "\1\0\10\305\2\0\1\305\5\0\2\305\14\0\2\305" + + "\1\0\14\305\1\u02dd\5\305\3\0\1\305\2\0\17\305" + "\12\0\6\305\1\0\2\305\1\u02de\5\305\2\0\1\305" + + "\5\0\2\305\14\0\2\305\1\0\15\305\1\u02de\4\305" + "\3\0\1\305\2\0\17\305\11\0\1\u022e\120\0\2\65" + + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" + "\1\0\13\65\1\u02df\25\65\1\0\2\65\1\u02df\17\65" + + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\26\65" + "\1\0\15\65\1\u01b1\23\65\1\0\3\65\1\u01b1\16\65" + + "\1\0\1\65\1\0\2\65\2\0\1\112\5\65\1\0" + "\26\65\1\0\23\65\1\112\15\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\6\65\1\0\2\65\1\u02e0" + "\23\65\1\0\27\65\1\u02e0\11\65\1\0\22\65\1\0" + + "\1\65\1\0\2\65\2\0\5\65\1\u02e1\1\0\26\65" + "\1\0\14\65\1\u02e1\24\65\1\0\22\65\1\0\1\65" + + "\1\0\2\65\2\0\2\65\1\u02e2\3\65\1\0\26\65" + "\1\0\12\65\1\u02e2\26\65\1\0\22\65\1\0\1\65" + + "\1\0\2\65\2\0\1\u02e3\5\65\1\0\26\65\1\0" + "\23\65\1\u02e3\15\65\1\0\22\65\1\0\1\65\1\0" + + "\2\65\2\0\6\65\1\0\26\65\1\0\41\65\1\0" + "\11\65\1\u02e4\10\65\1\0\1\65\1\0\2\65\2\0" + + "\6\65\1\0\26\65\1\0\13\65\1\u029d\25\65\1\0" + "\2\65\1\u029d\17\65\1\0\1\65\1\0\2\65\2\0" + + "\1\u024d\5\65\1\0\26\65\1\0\23\65\1\u024d\15\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + + "\1\0\26\65\1\0\30\65\1\u02e5\10\65\1\0\4\65" + "\1\u02e5\15\65\1\0\1\65\1\0\2\65\2\0\6\65" + + "\1\0\1\65\1\u029e\24\65\1\0\20\65\1\u029e\20\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + + "\1\0\2\65\1\u02e6\23\65\1\0\27\65\1\u02e6\11\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\3\65" + + "\1\373\2\65\1\0\26\65\1\0\7\65\1\373\31\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\2\65" + + "\1\u02e7\3\65\1\0\26\65\1\0\12\65\1\u02e7\26\65" + "\1\0\22\65\1\0\1\65\1\0\2\65\2\0\6\65" + + "\1\0\1\u01b0\25\65\1\0\25\65\1\u01b0\13\65\1\0" + "\22\65\1\0\1\65\1\0\2\65\2\0\1\u029e\5\65" + + "\1\0\26\65\1\0\23\65\1\u029e\15\65\1\0\22\65" + "\1\0\1\65\1\0\2\65\2\0\1\65\1\u02e8\4\65" + + "\1\0\26\65\1\0\17\65\1\u02e8\21\65\1\0\22\65" + "\1\0\1\65\1\0\2\65\2\0\6\65\1\0\2\65" + + "\1\u0192\23\65\1\0\27\65\1\u0192\11\65\1\0\20\65" + "\14\0\1\u02e9\41\0\1\u02e9\52\0\1\127\10\0\1\127" + + "\1\u02ea\4\127\1\0\2\127\1\u02ea\1\127\4\u02ea\1\127" + "\1\0\1\127\1\0\3\127\1\0\1\127\1\u02ea\14\0" + + "\2\127\1\0\5\127\1\u02ea\1\127\2\u02ea\1\127\1\u02ea" + + "\2\127\1\u02ea\3\127\1\u02ea\1\127\2\0\1\127\2\0" + + "\1\127\1\u02ea\3\127\1\u02ea\6\127\1\u02ea\2\127\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + + "\1\127\1\u011a\1\136\1\0\2\136\14\0\1\u02eb\1\136" + "\1\0\22\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" - + "\1\136\1\u0310\20\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" - + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\13\136\1\u0128\6\136\1\127\2\0\1\136\2\0" + + "\12\136\1\u02ec\7\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\3\136\1\u02ed\16\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" - + "\2\136\1\0\2\136\1\u0311\17\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" - + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\3\136\1\u0312\16\136\1\127\2\0" + + "\1\u02ee\1\136\1\0\22\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\16\136\1\u02ef\3\136\1\127\2\0\1\136" + + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + + "\14\0\2\136\1\0\3\136\1\u02f0\16\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\1\u02f1\1\136\1\0\22\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" - + "\2\136\14\0\2\136\1\0\6\136\1\u0313\13\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" - + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\3\136\1\u0264\16\136" - + "\1\127\2\0\1\136\2\0\17\136\16\0\1\u0314\57\0" + "\1\u0314\50\0\1\u0315\57\0\1\u0315\55\0\1\u0316\53\0" - + "\1\u0316\115\0\1\u0317\126\0\1\u0305\131\0\1\u0301\3\0" + "\1\u0302\135\0\1\u0318\122\0\1\u0319\134\0\1\u0292\135\0" + + "\2\136\14\0\2\136\1\0\12\136\1\u0128\7\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\3\136\1\u02f2\16\136" + + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + + "\1\136\1\0\2\136\14\0\2\136\1\0\6\136\1\u0263" + "\13\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\1\136\1\u01ed\1\0" + + "\22\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\10\136" + "\1\u02f3\11\136\1\127\2\0\1\136\2\0\17\136\1\0" + + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + + "\5\136\1\u0128\14\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\1\u02f4\21\136\1\127\2\0\1\136\2\0\17\136" + + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\1\u02f5" + + "\1\136\1\0\22\136\1\127\2\0\1\136\2\0\17\136" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\6\136\1\u02f6\13\136\1\127\2\0\1\136\2\0" + + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + + "\2\136\1\0\5\136\1\u02f7\14\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\3\136\1\u02f8\2\136" + + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\1\136\1\u02f9\14\0\2\136\1\0\22\136\1\127" + + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + + "\1\0\2\136\14\0\1\136\1\u01e5\1\0\22\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\15\136\1\u0275\4\136" + + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + + "\1\136\1\0\2\136\14\0\2\136\1\0\7\136\1\u01dc" + "\12\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\10\136" + + "\1\u02fa\11\136\1\127\2\0\1\136\2\0\17\136\15\0" + + "\1\u02fb\41\0\1\u02fb\62\0\1\u027f\134\0\1\u02fc\41\0" + + "\1\u02fc\62\0\1\u0283\141\0\1\u02fd\45\0\1\u02fd\133\0" + + "\1\u02fe\120\0\1\u02ff\77\0\1\u0300\175\0\1\u021b\114\0" + + "\1\u0301\3\0\1\u0302\1\u0303\122\0\1\u028a\147\0\1\u0304" + + "\131\0\1\u0305\121\0\1\u028a\125\0\1\u0304\135\0\1\u028a" + + "\117\0\1\u0304\126\0\1\u0306\60\0\5\305\1\u0307\1\0" + "\10\305\2\0\1\305\5\0\2\305\14\0\2\305\1\0" + + "\2\305\1\u0307\17\305\3\0\1\305\2\0\17\305\1\0" + "\2\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + + "\12\65\1\u0190\13\65\1\0\41\65\1\0\6\65\1\u0190" + "\13\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + + "\20\65\1\112\5\65\1\0\37\65\1\112\1\65\1\0" + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + + "\2\65\1\u0308\23\65\1\0\27\65\1\u0308\11\65\1\0" + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + + "\2\65\1\u01bf\23\65\1\0\27\65\1\u01bf\11\65\1\0" + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + + "\26\65\1\0\13\65\1\324\25\65\1\0\2\65\1\324" + "\17\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + + "\12\65\1\u0309\13\65\1\0\41\65\1\0\6\65\1\u0309" + "\13\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + + "\2\65\1\u029e\23\65\1\0\27\65\1\u029e\11\65\1\0" + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + + "\26\65\1\0\30\65\1\u030a\10\65\1\0\4\65\1\u030a" + "\15\65\1\0\1\65\1\0\2\65\2\0\3\65\1\u010f" + + "\2\65\1\0\26\65\1\0\7\65\1\u010f\31\65\1\0" + "\22\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + + "\26\65\1\0\13\65\1\u01b7\25\65\1\0\2\65\1\u01b7" + "\15\65\15\0\1\u030b\57\0\1\u030b\33\0\1\127\10\0" + + "\1\127\1\136\4\127\1\0\2\127\1\136\1\127\4\136" + "\1\127\1\0\1\127\1\0\3\127\1\0\1\127\1\136" + + "\14\0\2\127\1\0\5\127\1\136\1\127\2\136\1\127" + "\1\136\2\127\1\136\3\127\1\136\1\127\2\0\1\127" + + "\2\0\1\127\1\136\3\127\1\136\6\127\1\136\2\127" + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + "\1\0\2\136\1\u02f6\17\136\1\127\2\0\1\136\2\0" + + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + + "\2\136\1\0\10\136\1\u030c\11\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\5\136\1\u01de\14\136\1\127\2\0" + + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + + "\2\136\14\0\2\136\1\0\2\136\1\u02c6\17\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\15\136\1\u030d\4\136" + + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + + "\1\136\1\0\2\136\14\0\2\136\1\0\15\136\1\u030e" + "\4\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + + "\10\0\6\136\1\0\11\136\1\0\1\u01e5\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\22\136" + + "\1\127\2\0\1\136\2\0\17\136\1\0\1\127\10\0" + "\6\136\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a" + + "\1\136\1\0\2\136\14\0\2\136\1\0\5\136\1\u0263" + "\14\136\1\127\2\0\1\136\2\0\17\136\1\0\1\127" + + "\10\0\6\136\1\0\11\136\1\0\1\136\1\0\1\127" + "\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0\1\136" + + "\1\u030f\20\136\1\127\2\0\1\136\2\0\17\136\1\0" + "\1\127\10\0\6\136\1\0\11\136\1\0\1\136\1\0" + + "\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136\1\0" + "\1\136\1\u0310\20\136\1\127\2\0\1\136\2\0\17\136" + + "\1\0\1\127\10\0\6\136\1\0\11\136\1\0\1\136" + "\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0\2\136" + + "\1\0\13\136\1\u0128\6\136\1\127\2\0\1\136\2\0" + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\2\136\1\u0311\17\136\1\127\2\0\1\136" + + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + + "\14\0\2\136\1\0\3\136\1\u0312\16\136\1\127\2\0" + "\1\136\2\0\17\136\1\0\1\127\10\0\6\136\1\0" + + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\6\136\1\u0313\13\136\1\127" + + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + + "\1\0\2\136\14\0\2\136\1\0\3\136\1\u0264\16\136" + "\1\127\2\0\1\136\2\0\17\136\16\0\1\u0314\57\0" + + "\1\u0314\50\0\1\u0315\57\0\1\u0315\55\0\1\u0316\53\0" + + "\1\u0316\115\0\1\u0317\126\0\1\u0305\131\0\1\u0301\3\0" + + "\1\u0302\135\0\1\u0318\122\0\1\u0319\134\0\1\u0292\135\0" + "\1\u031a\130\0\1\u028a\115\0\1\u031b\45\0\2\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\20\65\1\u01b1" + "\5\65\1\0\37\65\1\u01b1\1\65\1\0\22\65\1\0" + "\1\65\1\0\2\65\2\0\6\65\1\0\26\65\1\0" + "\13\65\1\327\25\65\1\0\2\65\1\327\17\65\1\0" + "\1\65\1\0\2\65\2\0\4\65\1\u031c\1\65\1\0" @@ -961,26 +1024,28 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { + "\17\136\1\0\1\127\10\0\6\136\1\0\11\136\1\0" + "\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136\14\0" + "\2\136\1\0\2\136\1\u0275\17\136\1\127\2\0\1\136" + "\2\0\17\136\1\0\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\1\136\1\u0320\20\136\1\127\2\0" - + "\1\136\2\0\17\136\17\0\1\u0321\44\0\1\u0321\63\0" + "\1\u0322\44\0\1\u0322\64\0\1\u0323\142\0\1\u0324\130\0" + + "\1\136\2\0\17\136\17\0\1\u0321\44\0\1\u0321\63\0" + + "\1\u0322\44\0\1\u0322\64\0\1\u0323\142\0\1\u0324\130\0" + "\1\u0325\155\0\1\u0326\142\0\1\u028a\131\0\1\u0327\37\0" + "\2\65\1\0\1\65\1\0\2\65\2\0\6\65\1\0" + "\1\65\1\u0328\24\65\1\0\20\65\1\u0328\20\65\1\0" + "\20\65\17\0\1\u0329\111\0\1\127\10\0\6\136\1\0" + "\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0" + "\2\136\14\0\2\136\1\0\2\136\1\u01dc\17\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\1\u032a\1\136\1\0\22\136\1\127" + "\2\0\1\136\2\0\17\136\1\0\1\127\10\0\6\136" + "\1\0\11\136\1\0\1\136\1\0\1\127\1\u011a\1\136" + "\1\0\2\136\14\0\2\136\1\0\10\136\1\u0312\11\136" - + "\1\127\2\0\1\136\2\0\17\136\20\0\1\u032b\130\0" + "\1\u032c\200\0\1\u032d\124\0\1\u032e\134\0\1\u031a\125\0" - + "\1\u032f\44\0\2\65\1\0\1\65\1\0\2\65\2\0" + "\6\65\1\0\26\65\1\0\22\65\1\327\16\65\1\0" - + "\1\65\1\327\16\65\1\127\10\0\6\136\1\0\11\136" + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" - + "\14\0\2\136\1\0\22\136\1\127\2\0\1\136\2\0" + "\16\136\1\u0311\57\0\1\u0330\17\0\1\u0331\126\0\1\u0332" + + "\1\127\2\0\1\136\2\0\17\136\20\0\1\u032b\130\0" + + "\1\u032c\200\0\1\u032d\124\0\1\u032e\134\0\1\u031a\125\0" + "\1\u032f\44\0\2\65\1\0\1\65\1\0\2\65\2\0" + + "\6\65\1\0\26\65\1\0\22\65\1\327\16\65\1\0" + "\1\65\1\327\16\65\1\127\10\0\6\136\1\0\11\136" + + "\1\0\1\136\1\0\1\127\1\u011a\1\136\1\0\2\136" + "\14\0\2\136\1\0\22\136\1\127\2\0\1\136\2\0" + + "\16\136\1\u0311\57\0\1\u0330\17\0\1\u0331\126\0\1\u0332" + "\117\0\1\u0333\131\0\1\u0305\127\0\1\u0285\142\0\1\u0305" + "\33\0"; - + private static int[] zzUnpackTrans() { int[] result = new int[63190]; 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 */ @@ -995,7 +1060,7 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -1007,21 +1072,24 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\7\0\1\1" + "\5\0\2\1\1\11\4\1\1\11\5\1\1\11\2\1" - + "\2\11\2\1\1\11\1\1\3\11\1\1\1\11\25\1" + "\1\11\1\1\1\11\1\1\7\11\1\1\1\11\2\1" + "\2\11\10\1\1\11\3\1\1\11\20\1\1\11\2\1" - + "\1\11\1\1\2\11\2\1\1\11\1\1\1\11\1\1" + "\1\11\6\1\1\11\4\1\2\11\1\1\1\11\4\1" + "\1\11\1\1\3\11\4\1\4\11\1\1\1\11\6\1" - + "\4\11\1\1\2\11\1\1\1\11\2\1\1\11\2\1" + "\1\11\1\1\1\11\1\1\1\11\4\1\2\11\5\0" + "\1\11\103\1\1\11\3\0\1\11\1\0\75\1\1\11" - + "\2\1\1\0\1\11\12\0\1\11\1\1\15\0\1\1" + "\1\11\5\0\1\1\1\0\4\11\3\1\1\0\1\11" + "\4\0\100\1\1\0\1\1\1\0\3\1\1\0\70\1" - + "\41\0\2\1\1\11\2\0\44\1\1\0\1\11\46\1" + "\1\0\1\11\3\0\1\1\3\0\1\1\6\0\1\11" + "\15\0\2\1\2\0\24\1\1\0\30\1\24\0\14\1" + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\7\0\1\1" + + "\5\0\2\1\1\11\4\1\1\11\5\1\1\11\2\1" + "\2\11\2\1\1\11\1\1\3\11\1\1\1\11\25\1" + + "\1\11\1\1\1\11\1\1\7\11\1\1\1\11\2\1" + "\2\11\10\1\1\11\3\1\1\11\20\1\1\11\2\1" + + "\1\11\1\1\2\11\2\1\1\11\1\1\1\11\1\1" + "\1\11\6\1\1\11\4\1\2\11\1\1\1\11\4\1" + + "\1\11\1\1\3\11\4\1\4\11\1\1\1\11\6\1" + "\4\11\1\1\2\11\1\1\1\11\2\1\1\11\2\1" + + "\1\11\1\1\1\11\1\1\1\11\4\1\2\11\5\0" + "\1\11\103\1\1\11\3\0\1\11\1\0\75\1\1\11" + + "\2\1\1\0\1\11\12\0\1\11\1\1\15\0\1\1" + "\1\11\5\0\1\1\1\0\4\11\3\1\1\0\1\11" + + "\4\0\100\1\1\0\1\1\1\0\3\1\1\0\70\1" + "\41\0\2\1\1\11\2\0\44\1\1\0\1\11\46\1" + + "\1\0\1\11\3\0\1\1\3\0\1\1\6\0\1\11" + "\15\0\2\1\2\0\24\1\1\0\30\1\24\0\14\1" + "\1\0\21\1\14\0\4\1\1\0\10\1\10\0\1\1" + "\1\0\3\1\2\0\1\11\4\0\1\1\1\11\1\1" + "\2\11\6\0\1\11"; - + private static int[] zzUnpackAttribute() { int[] result = new int[819]; 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 */ @@ -1035,7 +1103,7 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -1043,8 +1111,8 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -1054,8 +1122,7 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ @@ -1072,39 +1139,35 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { */ public static final int INTERNAL_ATTR_SINGLE = -2; /** - * Token type specific to HTMLTokenMaker; this signals that the user has - * ended a line with an unclosed HTML tag; thus a new line is beginning - * still inside of the tag. + * Token type specific to HTMLTokenMaker; this signals that the user has ended a + * line with an unclosed HTML tag; thus a new line is beginning still inside of + * the tag. */ public static final int INTERNAL_INTAG = -3; /** - * Token type specific to HTMLTokenMaker; this signals that the user has - * ended a line with an unclosed <script> tag. + * Token type specific to HTMLTokenMaker; this signals that the user has ended a + * line with an unclosed <script> tag. */ public static final int INTERNAL_INTAG_SCRIPT = -4; /** - * Token type specifying we're in a double-qouted attribute in a - * script tag. + * Token type specifying we're in a double-qouted attribute in a script tag. */ public static final int INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT = -5; /** - * Token type specifying we're in a single-qouted attribute in a - * script tag. + * Token type specifying we're in a single-qouted attribute in a script tag. */ public static final int INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT = -6; /** - * Token type specific to HTMLTokenMaker; this signals that the user has - * ended a line with an unclosed <style> tag. + * Token type specific to HTMLTokenMaker; this signals that the user has ended a + * line with an unclosed <style> tag. */ public static final int INTERNAL_INTAG_STYLE = -7; /** - * Token type specifying we're in a double-qouted attribute in a - * style tag. + * Token type specifying we're in a double-qouted attribute in a style tag. */ public static final int INTERNAL_ATTR_DOUBLE_QUOTE_STYLE = -8; /** - * Token type specifying we're in a single-qouted attribute in a - * style tag. + * Token type specifying we're in a single-qouted attribute in a style tag. */ public static final int INTERNAL_ATTR_SINGLE_QUOTE_STYLE = -9; /** @@ -1124,13 +1187,11 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { */ public static final int INTERNAL_IN_JS_STRING_VALID = -13; /** - * Token type specifying we're in an invalid multi-line JS single-quoted - * string. + * Token type specifying we're in an invalid multi-line JS single-quoted string. */ public static final int INTERNAL_IN_JS_CHAR_INVALID = -14; /** - * Token type specifying we're in a valid multi-line JS single-quoted - * string. + * Token type specifying we're in a valid multi-line JS single-quoted string. */ public static final int INTERNAL_IN_JS_CHAR_VALID = -15; /** @@ -1154,18 +1215,18 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { */ private static final int INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID = -24; /** - * Internal type denoting line ending in a CSS double-quote string. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS double-quote string. The state to + * return to is embedded in the actual end token type. */ public static final int INTERNAL_CSS_STRING = -(1 << 11); /** - * Internal type denoting line ending in a CSS single-quote string. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS single-quote string. The state to + * return to is embedded in the actual end token type. */ public static final int INTERNAL_CSS_CHAR = -(2 << 11); /** - * Internal type denoting line ending in a CSS multi-line comment. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS multi-line comment. The state to + * return to is embedded in the actual end token type. */ public static final int INTERNAL_CSS_MLC = -(3 << 11); /** @@ -1194,80 +1255,70 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { */ private static final int LANG_INDEX_CSS = 2; private Stack varDepths; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public HTMLTokenMaker() { super(); } - + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -1275,11 +1326,10 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { protected OccurrenceMarker createOccurrenceMarker() { return new HtmlOccurrenceMarker(); } - + /** - * Sets whether markup close tags should be completed. You might not want - * this to be the case, since some tags in standard HTML aren't usually - * closed. + * Sets whether markup close tags should be completed. You might not want this + * to be the case, since some tags in standard HTML aren't usually closed. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) @@ -1288,43 +1338,40 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { public boolean getCompleteCloseTags() { return completeCloseTags; } - + @Override public boolean getCurlyBracesDenoteCodeBlocks(int languageIndex) { return languageIndex == LANG_INDEX_CSS || languageIndex == LANG_INDEX_JS; } - + /** * {@inheritDoc} */ @Override public String[] getLineCommentStartAndEnd(int languageIndex) { switch (languageIndex) { - case LANG_INDEX_JS: - return new String[] { "//", null }; - case LANG_INDEX_CSS: - return new String[] { "/*", "*/" }; - default: - return new String[] { "" }; + case LANG_INDEX_JS: + return new String[] { "//", null }; + case LANG_INDEX_CSS: + return new String[] { "/*", "*/" }; + default: + return new String[] { "" }; } } - + /** * Returns Token.MARKUP_TAG_NAME. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.MARKUP_TAG_NAME; } - + /** - * Overridden to handle newlines in JS and CSS differently than those in - * markup. + * Overridden to handle newlines in JS and CSS differently than those in markup. */ @Override public boolean getShouldIndentNextLineAfter(Token token) { @@ -1337,21 +1384,18 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { } return false; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -1362,113 +1406,113 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.MARKUP_COMMENT: - state = COMMENT; - break; - case Token.PREPROCESSOR: - state = PI; - break; - case Token.VARIABLE: - state = DTD; - break; - case INTERNAL_INTAG: - state = INTAG; - break; - case INTERNAL_INTAG_SCRIPT: - state = INTAG_SCRIPT; - break; - case INTERNAL_INTAG_STYLE: - state = INTAG_STYLE; - break; - case INTERNAL_ATTR_DOUBLE: - state = INATTR_DOUBLE; - break; - case INTERNAL_ATTR_SINGLE: - state = INATTR_SINGLE; - break; - case INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT: - state = INATTR_DOUBLE_SCRIPT; - break; - case INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT: - state = INATTR_SINGLE_SCRIPT; - break; - case INTERNAL_ATTR_DOUBLE_QUOTE_STYLE: - state = INATTR_DOUBLE_STYLE; - break; - case INTERNAL_ATTR_SINGLE_QUOTE_STYLE: - state = INATTR_SINGLE_STYLE; - break; - case INTERNAL_IN_JS: - state = JAVASCRIPT; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_IN_JS_MLC: - state = JS_MLC; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_IN_JS_STRING_INVALID: - state = JS_STRING; - validJSString = false; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_IN_JS_STRING_VALID: - state = JS_STRING; - validJSString = true; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_IN_JS_CHAR_INVALID: - state = JS_CHAR; - validJSString = false; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_IN_JS_CHAR_VALID: - state = JS_CHAR; - validJSString = true; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_CSS: - state = CSS; - languageIndex = LANG_INDEX_CSS; - break; - case INTERNAL_CSS_PROPERTY: - state = CSS_PROPERTY; - languageIndex = LANG_INDEX_CSS; - break; - case INTERNAL_CSS_VALUE: - state = CSS_VALUE; - languageIndex = LANG_INDEX_CSS; - break; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: - state = JS_TEMPLATE_LITERAL; - validJSString = true; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: - state = JS_TEMPLATE_LITERAL; - validJSString = false; - languageIndex = LANG_INDEX_JS; - break; - default: - if (initialTokenType < -1024) { - int main = -(-initialTokenType & 0xffffff00); - switch (main) { - default: // Should never happen - case INTERNAL_CSS_STRING: - state = CSS_STRING; - break; - case INTERNAL_CSS_CHAR: - state = CSS_CHAR_LITERAL; - break; - case INTERNAL_CSS_MLC: - state = CSS_C_STYLE_COMMENT; - break; - } - cssPrevState = -initialTokenType & 0xff; - languageIndex = LANG_INDEX_CSS; - } else { - state = Token.NULL; + case Token.MARKUP_COMMENT: + state = COMMENT; + break; + case Token.PREPROCESSOR: + state = PI; + break; + case Token.VARIABLE: + state = DTD; + break; + case INTERNAL_INTAG: + state = INTAG; + break; + case INTERNAL_INTAG_SCRIPT: + state = INTAG_SCRIPT; + break; + case INTERNAL_INTAG_STYLE: + state = INTAG_STYLE; + break; + case INTERNAL_ATTR_DOUBLE: + state = INATTR_DOUBLE; + break; + case INTERNAL_ATTR_SINGLE: + state = INATTR_SINGLE; + break; + case INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT: + state = INATTR_DOUBLE_SCRIPT; + break; + case INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT: + state = INATTR_SINGLE_SCRIPT; + break; + case INTERNAL_ATTR_DOUBLE_QUOTE_STYLE: + state = INATTR_DOUBLE_STYLE; + break; + case INTERNAL_ATTR_SINGLE_QUOTE_STYLE: + state = INATTR_SINGLE_STYLE; + break; + case INTERNAL_IN_JS: + state = JAVASCRIPT; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_IN_JS_MLC: + state = JS_MLC; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_IN_JS_STRING_INVALID: + state = JS_STRING; + validJSString = false; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_IN_JS_STRING_VALID: + state = JS_STRING; + validJSString = true; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_IN_JS_CHAR_INVALID: + state = JS_CHAR; + validJSString = false; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_IN_JS_CHAR_VALID: + state = JS_CHAR; + validJSString = true; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_CSS: + state = CSS; + languageIndex = LANG_INDEX_CSS; + break; + case INTERNAL_CSS_PROPERTY: + state = CSS_PROPERTY; + languageIndex = LANG_INDEX_CSS; + break; + case INTERNAL_CSS_VALUE: + state = CSS_VALUE; + languageIndex = LANG_INDEX_CSS; + break; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: + state = JS_TEMPLATE_LITERAL; + validJSString = true; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: + state = JS_TEMPLATE_LITERAL; + validJSString = false; + languageIndex = LANG_INDEX_JS; + break; + default: + if (initialTokenType < -1024) { + int main = -(-initialTokenType & 0xffffff00); + switch (main) { + default: // Should never happen + case INTERNAL_CSS_STRING: + state = CSS_STRING; + break; + case INTERNAL_CSS_CHAR: + state = CSS_CHAR_LITERAL; + break; + case INTERNAL_CSS_MLC: + state = CSS_C_STYLE_COMMENT; + break; } - break; + cssPrevState = -initialTokenType & 0xff; + languageIndex = LANG_INDEX_CSS; + } else { + state = Token.NULL; + } + break; } setLanguageIndex(languageIndex); start = text.offset; @@ -1482,49 +1526,45 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { return new TokenImpl(); } } - + /** - * Sets whether markup close tags should be completed. You might not want - * this to be the case, since some tags in standard HTML aren't usually - * closed. + * Sets whether markup close tags should be completed. You might not want this + * to be the case, since some tags in standard HTML aren't usually closed. * - * @param complete - * Whether closing markup tags are completed. + * @param complete Whether closing markup tags are completed. * @see #getCompleteCloseTags() */ public static void setCompleteCloseTags(boolean complete) { completeCloseTags = complete; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -1534,34 +1574,31 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public HTMLTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public HTMLTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -1577,7 +1614,7 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1587,69 +1624,64 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1660,29 +1692,27 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1701,8 +1731,7 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1742,944 +1771,944 @@ public class HTMLTokenMaker extends AbstractMarkupTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 55: { - addToken(Token.OPERATOR); - yybegin(CSS_VALUE); - } - case 113: - break; - case 80: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 114: - break; - case 64: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - addEndToken(INTERNAL_CSS_CHAR - cssPrevState); - return firstToken; - } - case 115: - break; - case 23: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE_SCRIPT); - } - case 116: - break; - case 10: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.MARKUP_DTD); - } - case 117: - break; - case 49: { - addToken(Token.SEPARATOR); - yybegin(CSS_PROPERTY); - } - case 118: - break; - case 4: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(INTAG); - } - case 119: - break; - case 106: { - addToken(Token.RESERVED_WORD_2); - } - case 120: - break; - case 90: { - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - yybegin(cssPrevState); - } - case 121: - break; - case 87: { - start = zzMarkedPos - 2; - cssPrevState = zzLexicalState; - yybegin(CSS_C_STYLE_COMMENT); - } - case 122: - break; - case 40: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_INVALID); - } - return firstToken; - } - case 123: - break; - case 5: { - addToken(Token.WHITESPACE); - } - case 124: - break; - case 107: { - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 6, zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - start = zzMarkedPos; - yybegin(INTAG_SCRIPT); - } - case 125: - break; - case 89: { - addToken(Token.REGEX); - } - case 126: - break; - case 42: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 127: - break; - case 111: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 128: - break; - case 102: { - addToken(Token.FUNCTION); - } - case 129: - break; - case 8: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 130: - break; - case 36: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 131: - break; - case 46: { - start = zzMarkedPos - 1; - cssPrevState = zzLexicalState; - yybegin(CSS_STRING); - } - case 132: - break; - case 91: { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - start = zzMarkedPos - 2; - if (varDepths == null) { - varDepths = new Stack(); - } else { - varDepths.clear(); - } - varDepths.push(Boolean.TRUE); - yybegin(JS_TEMPLATE_LITERAL_EXPR); - } - case 133: - break; - case 72: { - if (!varDepths.empty()) { - varDepths.pop(); - if (varDepths.empty()) { - addToken(start, zzStartRead, Token.VARIABLE); - start = zzMarkedPos; - yybegin(JS_TEMPLATE_LITERAL); - } - } - } - case 134: - break; - case 67: { - if (validJSString) { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 135: - break; - case 69: { /* - * Skip valid '$' that is not part of template - * literal expression start - */ - } - case 136: - break; - case 20: { - yybegin(INTAG); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 137: - break; - case 25: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE_STYLE); - } - case 138: - break; - case 35: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_TEMPLATE_LITERAL); - } - case 139: - break; - case 83: { /* Skip all escaped chars. */ - } - case 140: - break; - case 77: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(YYINITIAL); - } - case 141: - break; - case 28: { - yybegin(INTAG_STYLE); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 142: - break; - case 101: { - if (JavaScriptTokenMaker.isJavaScriptCompatible("1.6")) { - addToken(Token.RESERVED_WORD); - } else { - addToken(Token.IDENTIFIER); - } - } - case 143: - break; - case 96: { - if (JavaScriptTokenMaker.isJavaScriptCompatible("1.7")) { - addToken(Token.RESERVED_WORD); - } else { - addToken(Token.IDENTIFIER); - } - } - case 144: - break; - case 56: { - /* System.out.println("css_value: " + yytext()); */ addToken(Token.IDENTIFIER); - } - case 145: - break; - case 17: { - /* A non-recognized HTML tag name */ yypushback(yylength()); - yybegin(INTAG); - } - case 146: - break; - case 26: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(CSS, LANG_INDEX_CSS); - } - case 147: - break; - case 65: { + case 55: { + addToken(Token.OPERATOR); + yybegin(CSS_VALUE); + } + case 113: + break; + case 80: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 114: + break; + case 64: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + addEndToken(INTERNAL_CSS_CHAR - cssPrevState); + return firstToken; + } + case 115: + break; + case 23: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE_SCRIPT); + } + case 116: + break; + case 10: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.MARKUP_DTD); + } + case 117: + break; + case 49: { + addToken(Token.SEPARATOR); + yybegin(CSS_PROPERTY); + } + case 118: + break; + case 4: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(INTAG); + } + case 119: + break; + case 106: { + addToken(Token.RESERVED_WORD_2); + } + case 120: + break; + case 90: { + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + yybegin(cssPrevState); + } + case 121: + break; + case 87: { + start = zzMarkedPos - 2; + cssPrevState = zzLexicalState; + yybegin(CSS_C_STYLE_COMMENT); + } + case 122: + break; + case 40: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { addToken(start, zzStartRead, Token.LITERAL_CHAR); - yybegin(cssPrevState); + addEndToken(INTERNAL_IN_JS_CHAR_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS_CHAR_INVALID); } - case 148: - break; - case 92: { - varDepths.push(Boolean.TRUE); + return firstToken; + } + case 123: + break; + case 5: { + addToken(Token.WHITESPACE); + } + case 124: + break; + case 107: { + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 6, zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + start = zzMarkedPos; + yybegin(INTAG_SCRIPT); + } + case 125: + break; + case 89: { + addToken(Token.REGEX); + } + case 126: + break; + case 42: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 127: + break; + case 111: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 128: + break; + case 102: { + addToken(Token.FUNCTION); + } + case 129: + break; + case 8: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 130: + break; + case 36: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 131: + break; + case 46: { + start = zzMarkedPos - 1; + cssPrevState = zzLexicalState; + yybegin(CSS_STRING); + } + case 132: + break; + case 91: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + start = zzMarkedPos - 2; + if (varDepths == null) { + varDepths = new Stack(); + } else { + varDepths.clear(); } - case 149: - break; - case 27: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE_STYLE); + varDepths.push(Boolean.TRUE); + yybegin(JS_TEMPLATE_LITERAL_EXPR); + } + case 133: + break; + case 72: { + if (!varDepths.empty()) { + varDepths.pop(); + if (varDepths.empty()) { + addToken(start, zzStartRead, Token.VARIABLE); + start = zzMarkedPos; + yybegin(JS_TEMPLATE_LITERAL); + } } - case 150: - break; - case 7: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - return firstToken; + } + case 134: + break; + case 67: { + if (validJSString) { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } - case 151: - break; - case 85: { - /* Invalid latin-1 character \xXX */ validJSString = false; - } - case 152: - break; - case 24: { - yybegin(INTAG_SCRIPT); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 153: - break; - case 37: { - int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; - addToken(start, zzStartRead, type); - yybegin(JAVASCRIPT); - } - case 154: - break; - case 99: { - addToken(Token.COMMENT_MULTILINE); - } - case 155: - break; - case 75: { - start = zzMarkedPos - 2; - yybegin(PI); - } - case 156: - break; - case 108: { - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 6, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 157: - break; - case 51: { - /* System.out.println("css_property: " + yytext()); */ addToken(Token.IDENTIFIER); - } - case 158: - break; - case 9: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - return firstToken; - } - case 159: - break; - case 73: { - int count = yylength(); - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - zzMarkedPos -= (count - 1); // yypushback(count-1); - yybegin(INTAG_CHECK_TAG_NAME); - } - case 160: - break; - case 63: { /* Skip escaped chars. */ - } - case 161: - break; - case 84: { - /* Invalid Unicode character \\uXXXX */ validJSString = false; - } - case 162: - break; - case 105: { - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 5, zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - start = zzMarkedPos; - cssPrevState = zzLexicalState; - yybegin(INTAG_STYLE); - } - case 163: - break; - case 76: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.MARKUP_PROCESSING_INSTRUCTION); - } - case 164: - break; - case 86: { - yybegin(JAVASCRIPT); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 165: - break; - case 30: { - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 166: - break; - case 39: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 167: - break; - case 15: { - addToken(Token.OPERATOR); - } - case 168: - break; - case 58: { - addToken(Token.OPERATOR); - yybegin(CSS_PROPERTY); - } - case 169: - break; - case 97: { - start = zzMarkedPos - 4; - yybegin(COMMENT); - } - case 170: - break; - case 94: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); - } - case 171: - break; - case 110: { - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 172: - break; - case 88: { - addToken(Token.VARIABLE); - } - case 173: - break; - case 44: { - /* System.out.println("CSS: " + yytext()); */ addToken(Token.IDENTIFIER); - } - case 174: - break; - case 70: { - int type = validJSString ? Token.LITERAL_BACKQUOTE : Token.ERROR_STRING_DOUBLE; - addToken(start, zzStartRead, type); - yybegin(JAVASCRIPT); - } - case 175: - break; - case 2: { + return firstToken; + } + case 135: + break; + case 69: { /* + * Skip valid '$' that is not part of template literal expression start + */ + } + case 136: + break; + case 20: { + yybegin(INTAG); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 137: + break; + case 25: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE_STYLE); + } + case 138: + break; + case 35: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_TEMPLATE_LITERAL); + } + case 139: + break; + case 83: { /* Skip all escaped chars. */ + } + case 140: + break; + case 77: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(YYINITIAL); + } + case 141: + break; + case 28: { + yybegin(INTAG_STYLE); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 142: + break; + case 101: { + if (JavaScriptTokenMaker.isJavaScriptCompatible("1.6")) { + addToken(Token.RESERVED_WORD); + } else { addToken(Token.IDENTIFIER); } - case 176: - break; - case 103: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 177: - break; - case 22: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(JAVASCRIPT, LANG_INDEX_JS); - } - case 178: - break; - case 104: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 179: - break; - case 54: { - addToken(Token.SEPARATOR); - yybegin(CSS); - } - case 180: - break; - case 31: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_STRING); - } - case 181: - break; - case 62: { - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - yybegin(cssPrevState); - } - case 182: - break; - case 52: { - addEndToken(INTERNAL_CSS_PROPERTY); - return firstToken; - } - case 183: - break; - case 68: { - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 184: - break; - case 41: { - int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; - addToken(start, zzStartRead, type); - yybegin(JAVASCRIPT); - } - case 185: - break; - case 34: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_CHAR); - } - case 186: - break; - case 79: { - start = zzMarkedPos - 2; - yybegin(JS_MLC); - } - case 187: - break; - case 82: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 188: - break; - case 60: { - int temp = zzMarkedPos - 2; - addToken(zzStartRead, temp, Token.FUNCTION); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); - zzStartRead = zzCurrentPos = zzMarkedPos; - } - case 189: - break; - case 112: { - addToken(Token.ANNOTATION); - } - case 190: - break; - case 29: { - addToken(Token.ERROR_IDENTIFIER); - } - case 191: - break; - case 57: { - addEndToken(INTERNAL_CSS_VALUE); - return firstToken; - } - case 192: - break; - case 98: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); - start = zzMarkedPos; - } - case 193: - break; - case 6: { - addToken(Token.MARKUP_ENTITY_REFERENCE); - } - case 194: - break; - case 100: { - addToken(Token.LITERAL_BOOLEAN); - } - case 195: - break; - case 18: { - /* Shouldn't happen */ yypushback(1); - yybegin(INTAG); - } - case 196: - break; - case 3: { - addNullToken(); - return firstToken; - } - case 197: - break; - case 45: { - addEndToken(INTERNAL_CSS); - return firstToken; - } - case 198: - break; - case 109: { - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 199: - break; - case 50: { - start = zzMarkedPos - 1; - cssPrevState = zzLexicalState; - yybegin(CSS_CHAR_LITERAL); - } - case 200: - break; - case 53: { + } + case 143: + break; + case 96: { + if (JavaScriptTokenMaker.isJavaScriptCompatible("1.7")) { addToken(Token.RESERVED_WORD); + } else { + addToken(Token.IDENTIFIER); } - case 201: - break; - case 12: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE); + } + case 144: + break; + case 56: { + /* System.out.println("css_value: " + yytext()); */ addToken(Token.IDENTIFIER); + } + case 145: + break; + case 17: { + /* A non-recognized HTML tag name */ yypushback(yylength()); + yybegin(INTAG); + } + case 146: + break; + case 26: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(CSS, LANG_INDEX_CSS); + } + case 147: + break; + case 65: { + addToken(start, zzStartRead, Token.LITERAL_CHAR); + yybegin(cssPrevState); + } + case 148: + break; + case 92: { + varDepths.push(Boolean.TRUE); + } + case 149: + break; + case 27: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE_STYLE); + } + case 150: + break; + case 7: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + return firstToken; + } + case 151: + break; + case 85: { + /* Invalid latin-1 character \xXX */ validJSString = false; + } + case 152: + break; + case 24: { + yybegin(INTAG_SCRIPT); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 153: + break; + case 37: { + int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; + addToken(start, zzStartRead, type); + yybegin(JAVASCRIPT); + } + case 154: + break; + case 99: { + addToken(Token.COMMENT_MULTILINE); + } + case 155: + break; + case 75: { + start = zzMarkedPos - 2; + yybegin(PI); + } + case 156: + break; + case 108: { + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 6, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 157: + break; + case 51: { + /* System.out.println("css_property: " + yytext()); */ addToken(Token.IDENTIFIER); + } + case 158: + break; + case 9: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + return firstToken; + } + case 159: + break; + case 73: { + int count = yylength(); + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + zzMarkedPos -= (count - 1); // yypushback(count-1); + yybegin(INTAG_CHECK_TAG_NAME); + } + case 160: + break; + case 63: { /* Skip escaped chars. */ + } + case 161: + break; + case 84: { + /* Invalid Unicode character \\uXXXX */ validJSString = false; + } + case 162: + break; + case 105: { + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 5, zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + start = zzMarkedPos; + cssPrevState = zzLexicalState; + yybegin(INTAG_STYLE); + } + case 163: + break; + case 76: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.MARKUP_PROCESSING_INSTRUCTION); + } + case 164: + break; + case 86: { + yybegin(JAVASCRIPT); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 165: + break; + case 30: { + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 166: + break; + case 39: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 167: + break; + case 15: { + addToken(Token.OPERATOR); + } + case 168: + break; + case 58: { + addToken(Token.OPERATOR); + yybegin(CSS_PROPERTY); + } + case 169: + break; + case 97: { + start = zzMarkedPos - 4; + yybegin(COMMENT); + } + case 170: + break; + case 94: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); + } + case 171: + break; + case 110: { + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 172: + break; + case 88: { + addToken(Token.VARIABLE); + } + case 173: + break; + case 44: { + /* System.out.println("CSS: " + yytext()); */ addToken(Token.IDENTIFIER); + } + case 174: + break; + case 70: { + int type = validJSString ? Token.LITERAL_BACKQUOTE : Token.ERROR_STRING_DOUBLE; + addToken(start, zzStartRead, type); + yybegin(JAVASCRIPT); + } + case 175: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 176: + break; + case 103: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 177: + break; + case 22: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(JAVASCRIPT, LANG_INDEX_JS); + } + case 178: + break; + case 104: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 179: + break; + case 54: { + addToken(Token.SEPARATOR); + yybegin(CSS); + } + case 180: + break; + case 31: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_STRING); + } + case 181: + break; + case 62: { + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + yybegin(cssPrevState); + } + case 182: + break; + case 52: { + addEndToken(INTERNAL_CSS_PROPERTY); + return firstToken; + } + case 183: + break; + case 68: { + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } - case 202: - break; - case 14: { - yybegin(YYINITIAL); - addToken(Token.MARKUP_TAG_DELIMITER); + return firstToken; + } + case 184: + break; + case 41: { + int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; + addToken(start, zzStartRead, type); + yybegin(JAVASCRIPT); + } + case 185: + break; + case 34: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_CHAR); + } + case 186: + break; + case 79: { + start = zzMarkedPos - 2; + yybegin(JS_MLC); + } + case 187: + break; + case 82: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 188: + break; + case 60: { + int temp = zzMarkedPos - 2; + addToken(zzStartRead, temp, Token.FUNCTION); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); + zzStartRead = zzCurrentPos = zzMarkedPos; + } + case 189: + break; + case 112: { + addToken(Token.ANNOTATION); + } + case 190: + break; + case 29: { + addToken(Token.ERROR_IDENTIFIER); + } + case 191: + break; + case 57: { + addEndToken(INTERNAL_CSS_VALUE); + return firstToken; + } + case 192: + break; + case 98: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); + start = zzMarkedPos; + } + case 193: + break; + case 6: { + addToken(Token.MARKUP_ENTITY_REFERENCE); + } + case 194: + break; + case 100: { + addToken(Token.LITERAL_BOOLEAN); + } + case 195: + break; + case 18: { + /* Shouldn't happen */ yypushback(1); + yybegin(INTAG); + } + case 196: + break; + case 3: { + addNullToken(); + return firstToken; + } + case 197: + break; + case 45: { + addEndToken(INTERNAL_CSS); + return firstToken; + } + case 198: + break; + case 109: { + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 199: + break; + case 50: { + start = zzMarkedPos - 1; + cssPrevState = zzLexicalState; + yybegin(CSS_CHAR_LITERAL); + } + case 200: + break; + case 53: { + addToken(Token.RESERVED_WORD); + } + case 201: + break; + case 12: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE); + } + case 202: + break; + case 14: { + yybegin(YYINITIAL); + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 203: + break; + case 47: { + addToken(Token.DATA_TYPE); + } + case 204: + break; + case 33: { + addToken(Token.SEPARATOR); + } + case 205: + break; + case 93: { + int count = yylength(); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + zzMarkedPos -= (count - 2); // yypushback(count-2); + yybegin(INTAG_CHECK_TAG_NAME); + } + case 206: + break; + case 61: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_CSS_STRING - cssPrevState); + return firstToken; + } + case 207: + break; + case 59: { + /* End of a function */ addToken(Token.SEPARATOR); + } + case 208: + break; + case 19: { + addToken(Token.MARKUP_TAG_NAME); + } + case 209: + break; + case 11: { + addToken(Token.MARKUP_TAG_ATTRIBUTE); + } + case 210: + break; + case 78: { + start = zzMarkedPos - 2; + yybegin(JS_EOL_COMMENT); + } + case 211: + break; + case 38: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_IN_JS_STRING_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_STRING_INVALID); } - case 203: - break; - case 47: { - addToken(Token.DATA_TYPE); - } - case 204: - break; - case 33: { - addToken(Token.SEPARATOR); - } - case 205: - break; - case 93: { - int count = yylength(); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - zzMarkedPos -= (count - 2); // yypushback(count-2); - yybegin(INTAG_CHECK_TAG_NAME); - } - case 206: - break; - case 61: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_CSS_STRING - cssPrevState); - return firstToken; - } - case 207: - break; - case 59: { - /* End of a function */ addToken(Token.SEPARATOR); - } - case 208: - break; - case 19: { - addToken(Token.MARKUP_TAG_NAME); - } - case 209: - break; - case 11: { - addToken(Token.MARKUP_TAG_ATTRIBUTE); - } - case 210: - break; - case 78: { - start = zzMarkedPos - 2; - yybegin(JS_EOL_COMMENT); - } - case 211: - break; - case 38: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_IN_JS_STRING_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_STRING_INVALID); - } - return firstToken; - } - case 212: - break; - case 81: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 213: - break; - case 16: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE); - } - case 214: - break; - case 95: { - boolean highlightedAsRegex = false; - if (firstToken == null) { + return firstToken; + } + case 212: + break; + case 81: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 213: + break; + case 16: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE); + } + case 214: + break; + case 95: { + boolean highlightedAsRegex = false; + if (firstToken == null) { + addToken(Token.REGEX); + highlightedAsRegex = true; + } else { + // If this is *likely* to be a regex, based on + // the previous token, highlight it as such. + Token t = firstToken.getLastNonCommentNonWhitespaceToken(); + if (RSyntaxUtilities.regexCanFollowInJavaScript(t)) { addToken(Token.REGEX); highlightedAsRegex = true; - } else { - // If this is *likely* to be a regex, based on - // the previous token, highlight it as such. - Token t = firstToken.getLastNonCommentNonWhitespaceToken(); - if (RSyntaxUtilities.regexCanFollowInJavaScript(t)) { - addToken(Token.REGEX); - highlightedAsRegex = true; + } + } + // If it doesn't *appear* to be a regex, highlight it as + // individual tokens. + if (!highlightedAsRegex) { + int temp = zzStartRead + 1; + addToken(zzStartRead, zzStartRead, Token.OPERATOR); + zzStartRead = zzCurrentPos = zzMarkedPos = temp; + } + } + case 215: + break; + case 13: { + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 216: + break; + case 66: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_CSS_MLC - cssPrevState); + return firstToken; + } + case 217: + break; + case 32: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 218: + break; + case 74: { + start = zzMarkedPos - 2; + yybegin(DTD); + } + case 219: + break; + case 21: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE_SCRIPT); + } + case 220: + break; + case 43: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 221: + break; + case 71: { // TODO: This isn't right. The expression and its + // depth should continue to the next line. + addToken(start, zzStartRead - 1, Token.VARIABLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + return firstToken; + } + case 222: + break; + case 48: { + /* Unknown pseudo class */ addToken(Token.DATA_TYPE); + } + case 223: + break; + case 1: { + } + case 224: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case INATTR_SINGLE_SCRIPT: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); + return firstToken; + } + case 820: + break; + case JS_CHAR: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 821: + break; + case CSS_STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_CSS_STRING - cssPrevState); + return firstToken; + } + case 822: + break; + case JS_MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 823: + break; + case CSS_CHAR_LITERAL: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + addEndToken(INTERNAL_CSS_CHAR - cssPrevState); + return firstToken; + } + case 824: + break; + case INTAG_SCRIPT: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_SCRIPT); + return firstToken; + } + case 825: + break; + case JS_TEMPLATE_LITERAL_EXPR: { + // TODO: This isn't right. The expression and + // its depth should continue to the next line. + addToken(start, zzStartRead - 1, Token.VARIABLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + return firstToken; + } + case 826: + break; + case CSS_PROPERTY: { + addEndToken(INTERNAL_CSS_PROPERTY); + return firstToken; + } + case 827: + break; + case CSS_C_STYLE_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_CSS_MLC - cssPrevState); + return firstToken; + } + case 828: + break; + case CSS: { + addEndToken(INTERNAL_CSS); + return firstToken; + } + case 829: + break; + case CSS_VALUE: { + addEndToken(INTERNAL_CSS_VALUE); + return firstToken; + } + case 830: + break; + case COMMENT: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + return firstToken; + } + case 831: + break; + case INATTR_DOUBLE_SCRIPT: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); + return firstToken; + } + case 832: + break; + case PI: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 833: + break; + case JAVASCRIPT: { + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 834: + break; + case INTAG: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); + return firstToken; + } + case 835: + break; + case INTAG_CHECK_TAG_NAME: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); + return firstToken; + } + case 836: + break; + case INATTR_SINGLE_STYLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); + return firstToken; + } + case 837: + break; + case DTD: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + return firstToken; + } + case 838: + break; + case JS_EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 839: + break; + case INATTR_DOUBLE_STYLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); + return firstToken; + } + case 840: + break; + case INATTR_SINGLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE); + return firstToken; + } + case 841: + break; + case JS_TEMPLATE_LITERAL: { + if (validJSString) { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } + return firstToken; } - // If it doesn't *appear* to be a regex, highlight it as - // individual tokens. - if (!highlightedAsRegex) { - int temp = zzStartRead + 1; - addToken(zzStartRead, zzStartRead, Token.OPERATOR); - zzStartRead = zzCurrentPos = zzMarkedPos = temp; + case 842: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; } - } - case 215: - break; - case 13: { - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 216: - break; - case 66: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_CSS_MLC - cssPrevState); - return firstToken; - } - case 217: - break; - case 32: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 218: - break; - case 74: { - start = zzMarkedPos - 2; - yybegin(DTD); - } - case 219: - break; - case 21: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE_SCRIPT); - } - case 220: - break; - case 43: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 221: - break; - case 71: { // TODO: This isn't right. The expression and its - // depth should continue to the next line. - addToken(start, zzStartRead - 1, Token.VARIABLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - return firstToken; - } - case 222: - break; - case 48: { - /* Unknown pseudo class */ addToken(Token.DATA_TYPE); - } - case 223: - break; - case 1: {} - case 224: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case INATTR_SINGLE_SCRIPT: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); - return firstToken; - } - case 820: - break; - case JS_CHAR: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 821: - break; - case CSS_STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_CSS_STRING - cssPrevState); - return firstToken; - } - case 822: - break; - case JS_MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 823: - break; - case CSS_CHAR_LITERAL: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - addEndToken(INTERNAL_CSS_CHAR - cssPrevState); - return firstToken; - } - case 824: - break; - case INTAG_SCRIPT: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_SCRIPT); - return firstToken; - } - case 825: - break; - case JS_TEMPLATE_LITERAL_EXPR: { - // TODO: This isn't right. The expression and - // its depth should continue to the next line. - addToken(start, zzStartRead - 1, Token.VARIABLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - return firstToken; - } - case 826: - break; - case CSS_PROPERTY: { - addEndToken(INTERNAL_CSS_PROPERTY); - return firstToken; - } - case 827: - break; - case CSS_C_STYLE_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_CSS_MLC - cssPrevState); - return firstToken; - } - case 828: - break; - case CSS: { - addEndToken(INTERNAL_CSS); - return firstToken; - } - case 829: - break; - case CSS_VALUE: { - addEndToken(INTERNAL_CSS_VALUE); - return firstToken; - } - case 830: - break; - case COMMENT: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - return firstToken; - } - case 831: - break; - case INATTR_DOUBLE_SCRIPT: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); - return firstToken; - } - case 832: - break; - case PI: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 833: - break; - case JAVASCRIPT: { - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 834: - break; - case INTAG: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); - return firstToken; - } - case 835: - break; - case INTAG_CHECK_TAG_NAME: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); - return firstToken; - } - case 836: - break; - case INATTR_SINGLE_STYLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); - return firstToken; - } - case 837: - break; - case DTD: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - return firstToken; - } - case 838: - break; - case JS_EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 839: - break; - case INATTR_DOUBLE_STYLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); - return firstToken; - } - case 840: - break; - case INATTR_SINGLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE); - return firstToken; - } - case 841: - break; - case JS_TEMPLATE_LITERAL: { - if (validJSString) { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 842: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 843: - break; - case INATTR_DOUBLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE); - return firstToken; - } - case 844: - break; - case JS_STRING: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 845: - break; - case INTAG_STYLE: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_STYLE); - return firstToken; - } - case 846: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 843: + break; + case INATTR_DOUBLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE); + return firstToken; } + case 844: + break; + case JS_STRING: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 845: + break; + case INTAG_STYLE: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_STYLE); + return firstToken; + } + case 846: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/HostsTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/HostsTokenMaker.java index 051079c..956aaa5 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/HostsTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/HostsTokenMaker.java @@ -20,16 +20,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -39,16 +38,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated HostsTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -56,7 +55,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class HostsTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -77,14 +76,14 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { */ private static final int[] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\2\0\1\1\1\2\1\3\1\4\1\5\1\6\3\5" + "\12\0\1\7\2\0"; - + private static int[] zzUnpackAction() { int[] result = new int[24]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -98,21 +97,22 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\22\0\44\0\66\0\110\0\66\0\132\0\66" - + "\0\154\0\176\0\220\0\242\0\264\0\306\0\330\0\352" + "\0\374\0\u010e\0\u0120\0\u0132\0\u0144\0\u0156\0\u0168\0\u0156"; - + + "\0\154\0\176\0\220\0\242\0\264\0\306\0\330\0\352" + + "\0\374\0\u010e\0\u0120\0\u0132\0\u0144\0\u0156\0\u0168\0\u0156"; + private static int[] zzUnpackRowMap() { int[] result = new int[24]; 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 */ @@ -123,23 +123,24 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\5\1\6\16\3\1\7\1\10\5\7" + "\1\11\3\7\1\12\4\7\1\13\1\7\1\3\3\0" - + "\16\3\24\0\1\5\17\0\1\7\1\0\5\7\1\0" + "\3\7\1\0\4\7\1\0\1\7\10\0\1\14\21\0" + "\1\15\3\0\1\16\25\0\1\17\11\0\1\20\22\0" + private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\5\1\6\16\3\1\7\1\10\5\7" + + "\1\11\3\7\1\12\4\7\1\13\1\7\1\3\3\0" + "\16\3\24\0\1\5\17\0\1\7\1\0\5\7\1\0" + + "\3\7\1\0\4\7\1\0\1\7\10\0\1\14\21\0" + "\1\15\3\0\1\16\25\0\1\17\11\0\1\20\22\0" + "\1\21\25\0\1\22\24\0\1\23\12\0\1\24\27\0" + "\1\25\20\0\1\21\24\0\1\26\12\0\1\21\4\0" + "\1\25\7\0\1\27\17\0\2\30\12\26\1\30\1\26" + "\1\30\5\0\1\26\14\0"; - + private static int[] zzUnpackTrans() { int[] result = new int[378]; 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 */ @@ -154,7 +155,7 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -167,14 +168,14 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\1\1\11\1\1\1\11\1\1\1\11\3\1" + "\12\0\1\1\2\0"; - + private static int[] zzUnpackAttribute() { int[] result = new int[24]; 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 */ @@ -188,7 +189,7 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -196,8 +197,8 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -207,8 +208,7 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ @@ -218,67 +218,59 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { * Whether or not this is the first token on a line. */ private boolean first; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public HostsTokenMaker() {} - + public HostsTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -286,7 +278,7 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** * {@inheritDoc} */ @@ -294,21 +286,18 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.RESERVED_WORD; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -327,36 +316,34 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -366,34 +353,31 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public HostsTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public HostsTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -409,7 +393,7 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -419,69 +403,64 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -492,29 +471,27 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -533,8 +510,7 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -574,70 +550,71 @@ public class HostsTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 2: { - addNullToken(); - return firstToken; - } - case 8: - break; - case 7: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 9: - break; - case 4: { - start = zzMarkedPos - 1; - yybegin(EOL_COMMENT); - } - case 10: - break; - case 3: { - addToken(Token.WHITESPACE); - } - case 11: - break; - case 6: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 12: - break; - case 1: { - addToken(first ? Token.RESERVED_WORD : Token.IDENTIFIER); - first = false; - } - case 13: - break; - case 5: {} - case 14: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 25: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 26: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 2: { + addNullToken(); + return firstToken; + } + case 8: + break; + case 7: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 9: + break; + case 4: { + start = zzMarkedPos - 1; + yybegin(EOL_COMMENT); + } + case 10: + break; + case 3: { + addToken(Token.WHITESPACE); + } + case 11: + break; + case 6: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 12: + break; + case 1: { + addToken(first ? Token.RESERVED_WORD : Token.IDENTIFIER); + first = false; + } + case 13: + break; + case 5: { + } + case 14: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 25: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 26: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/HtaccessTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/HtaccessTokenMaker.java index f375e83..0446f00 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/HtaccessTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/HtaccessTokenMaker.java @@ -21,16 +21,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -40,16 +39,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated HtaccessTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -57,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -71,8 +70,9 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\5\1\7\1\0\1\3\23\0\1\5\1\14\1\12\1\10" + "\1\21\1\14\1\14\1\16\5\14\1\2\1\33\1\13\12\20\1\15" + "\1\14\1\4\1\53\1\6\2\14\1\34\1\41\1\35\1\40\1\31" - + "\1\26\1\43\1\22\1\27\1\17\1\51\1\30\1\46\1\36\1\37" + "\1\24\1\50\1\44\1\25\1\23\1\45\1\47\1\32\1\52\1\42" - + "\1\17\1\14\1\11\1\14\1\0\1\1\1\0\1\34\1\41\1\35" + "\1\40\1\31\1\55\1\43\1\54\1\27\1\17\1\51\1\30\1\46" + + "\1\26\1\43\1\22\1\27\1\17\1\51\1\30\1\46\1\36\1\37" + + "\1\24\1\50\1\44\1\25\1\23\1\45\1\47\1\32\1\52\1\42" + "\1\17\1\14\1\11\1\14\1\0\1\1\1\0\1\34\1\41\1\35" + + "\1\40\1\31\1\55\1\43\1\54\1\27\1\17\1\51\1\30\1\46" + "\1\36\1\37\1\24\1\50\1\44\1\25\1\23\1\45\1\47\1\56" + "\1\52\1\42\1\17\3\0\1\14\uff81\0"; /** * Translates characters to character classes @@ -82,18 +82,19 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\3\0\2\1\1\2\1\3\1\2\1\3\1\4\1\5" + "\21\2\1\1\1\6\6\1\2\7\1\10\1\11\1\12" - + "\1\13\1\1\1\14\1\1\1\15\1\0\2\16\44\2" + "\4\1\4\0\1\17\1\16\1\20\1\16\1\21\56\2" + "\4\1\4\0\62\2\1\22\13\2\3\1\1\23\2\0" + private static final String ZZ_ACTION_PACKED_0 = "\3\0\2\1\1\2\1\3\1\2\1\3\1\4\1\5" + + "\21\2\1\1\1\6\6\1\2\7\1\10\1\11\1\12" + "\1\13\1\1\1\14\1\1\1\15\1\0\2\16\44\2" + + "\4\1\4\0\1\17\1\16\1\20\1\16\1\21\56\2" + "\4\1\4\0\62\2\1\22\13\2\3\1\1\23\2\0" + "\104\2\1\1\2\0\1\22\12\2\1\22\31\2\1\22" + "\146\2\1\22\60\2\1\22\33\2\1\22\47\2\1\22" + "\225\2\1\22\33\2\1\22\102\2\1\22\1\2"; - + private static int[] zzUnpackAction() { int[] result = new int[795]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -107,7 +108,7 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -211,14 +212,14 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { + "\0\u8acc\0\u8afb\0\u8b2a\0\u8b59\0\u8b88\0\u8bb7\0\u8be6\0\u8c15" + "\0\u8c44\0\u8c73\0\u8ca2\0\u8cd1\0\u8d00\0\u8d2f\0\u8d5e\0\u8d8d" + "\0\u8dbc\0\u8deb\0\u8e1a\0\u8e49\0\u8e78\0\u8ea7\0\u8ed6\0\u8f05" + "\0\u8f34\0\u8b2a\0\u8f63"; - + private static int[] zzUnpackRowMap() { int[] result = new int[795]; 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 */ @@ -229,83 +230,99 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\3\6\1\7\1\10\1\11\1\6\1\12\1\13\1\6" + "\1\14\7\6\1\15\1\6\1\16\1\17\1\20\1\21" - + "\1\22\1\23\2\6\1\24\1\25\1\6\1\26\1\27" + "\1\30\2\6\1\31\1\32\1\33\3\6\1\34\1\6" - + "\1\15\1\20\1\6\7\35\1\36\12\35\1\37\3\35" + "\1\40\3\35\1\41\21\35\1\42\1\43\1\44\3\45" - + "\1\46\1\45\1\11\1\47\1\0\2\45\1\50\3\45" + "\1\51\34\45\1\52\3\45\12\53\1\54\44\53\16\55" - + "\1\54\40\55\4\6\2\0\1\6\2\0\51\6\1\7" + "\1\0\1\11\1\6\2\0\46\6\1\0\1\56\11\0" + "\1\57\1\0\1\56\1\0\1\56\2\0\11\56\1\0" - + "\17\56\1\0\3\56\3\0\1\11\1\0\1\11\130\0" + "\4\14\2\60\1\14\1\61\1\60\1\62\1\6\44\14" + "\4\6\2\0\1\6\2\0\20\6\1\63\31\6\2\0" - + "\1\6\2\0\23\6\1\64\26\6\2\0\1\6\2\0" + "\14\6\1\65\3\6\1\66\2\6\1\67\1\70\25\6" + "\2\0\1\6\2\0\16\6\1\71\7\6\1\72\23\6" - + "\2\0\1\6\2\0\14\6\1\73\10\6\1\74\7\6" + "\1\75\14\6\2\0\1\6\2\0\16\6\1\76\4\6" + "\1\77\26\6\2\0\1\6\2\0\25\6\1\100\5\6" - + "\1\101\5\6\1\102\10\6\2\0\1\6\2\0\17\6" + "\1\103\4\6\1\104\1\105\1\6\1\106\4\6\1\107" - + "\15\6\2\0\1\6\2\0\11\6\1\110\14\6\1\111" + "\3\6\1\112\10\6\1\110\6\6\2\0\1\6\2\0" - + "\13\6\1\113\17\6\1\114\16\6\2\0\1\6\2\0" + "\16\6\1\115\1\6\1\116\31\6\2\0\1\6\2\0" - + "\33\6\1\117\16\6\2\0\1\6\2\0\17\6\1\120" + "\1\121\31\6\2\0\1\6\2\0\25\6\1\122\24\6" - + "\2\0\1\6\2\0\20\6\1\123\13\6\1\124\15\6" + "\2\0\1\6\2\0\30\6\1\125\15\6\7\35\1\0" - + "\44\35\3\0\7\35\1\0\13\35\1\126\30\35\3\0" + "\7\35\1\0\13\35\1\127\3\35\1\130\24\35\3\0" - + "\7\35\1\0\22\35\1\131\21\35\2\0\1\132\23\0" + "\1\133\56\0\1\134\3\0\1\135\61\0\1\132\23\0" - + "\1\132\5\45\3\0\2\45\1\0\3\45\1\0\34\45" + "\1\0\6\45\1\46\1\45\1\11\2\0\2\45\1\0" - + "\3\45\1\0\34\45\1\0\3\45\12\53\1\0\44\53" + "\16\55\1\0\40\55\1\0\2\56\12\0\1\56\1\0" - + "\2\56\1\0\31\56\1\0\3\56\1\0\1\136\13\0" + "\1\136\1\0\1\136\2\0\11\136\1\0\17\136\1\0" - + "\3\136\7\60\1\61\1\60\1\137\1\140\44\60\11\61" + "\1\141\1\142\44\61\4\14\2\60\1\14\1\0\1\60" - + "\46\14\4\6\2\0\1\6\2\0\23\6\1\143\26\6" + "\2\0\1\6\2\0\14\6\1\144\35\6\2\0\1\6" + "\2\0\16\6\1\145\1\146\32\6\2\0\1\6\2\0" + private static final String ZZ_TRANS_PACKED_0 = "\3\6\1\7\1\10\1\11\1\6\1\12\1\13\1\6" + + "\1\14\7\6\1\15\1\6\1\16\1\17\1\20\1\21" + "\1\22\1\23\2\6\1\24\1\25\1\6\1\26\1\27" + + "\1\30\2\6\1\31\1\32\1\33\3\6\1\34\1\6" + "\1\15\1\20\1\6\7\35\1\36\12\35\1\37\3\35" + + "\1\40\3\35\1\41\21\35\1\42\1\43\1\44\3\45" + "\1\46\1\45\1\11\1\47\1\0\2\45\1\50\3\45" + + "\1\51\34\45\1\52\3\45\12\53\1\54\44\53\16\55" + "\1\54\40\55\4\6\2\0\1\6\2\0\51\6\1\7" + + "\1\0\1\11\1\6\2\0\46\6\1\0\1\56\11\0" + "\1\57\1\0\1\56\1\0\1\56\2\0\11\56\1\0" + + "\17\56\1\0\3\56\3\0\1\11\1\0\1\11\130\0" + "\4\14\2\60\1\14\1\61\1\60\1\62\1\6\44\14" + + "\4\6\2\0\1\6\2\0\20\6\1\63\31\6\2\0" + "\1\6\2\0\23\6\1\64\26\6\2\0\1\6\2\0" + + "\14\6\1\65\3\6\1\66\2\6\1\67\1\70\25\6" + "\2\0\1\6\2\0\16\6\1\71\7\6\1\72\23\6" + + "\2\0\1\6\2\0\14\6\1\73\10\6\1\74\7\6" + "\1\75\14\6\2\0\1\6\2\0\16\6\1\76\4\6" + + "\1\77\26\6\2\0\1\6\2\0\25\6\1\100\5\6" + "\1\101\5\6\1\102\10\6\2\0\1\6\2\0\17\6" + + "\1\103\4\6\1\104\1\105\1\6\1\106\4\6\1\107" + "\15\6\2\0\1\6\2\0\11\6\1\110\14\6\1\111" + + "\3\6\1\112\10\6\1\110\6\6\2\0\1\6\2\0" + "\13\6\1\113\17\6\1\114\16\6\2\0\1\6\2\0" + + "\16\6\1\115\1\6\1\116\31\6\2\0\1\6\2\0" + "\33\6\1\117\16\6\2\0\1\6\2\0\17\6\1\120" + + "\1\121\31\6\2\0\1\6\2\0\25\6\1\122\24\6" + "\2\0\1\6\2\0\20\6\1\123\13\6\1\124\15\6" + + "\2\0\1\6\2\0\30\6\1\125\15\6\7\35\1\0" + "\44\35\3\0\7\35\1\0\13\35\1\126\30\35\3\0" + + "\7\35\1\0\13\35\1\127\3\35\1\130\24\35\3\0" + "\7\35\1\0\22\35\1\131\21\35\2\0\1\132\23\0" + + "\1\133\56\0\1\134\3\0\1\135\61\0\1\132\23\0" + "\1\132\5\45\3\0\2\45\1\0\3\45\1\0\34\45" + + "\1\0\6\45\1\46\1\45\1\11\2\0\2\45\1\0" + "\3\45\1\0\34\45\1\0\3\45\12\53\1\0\44\53" + + "\16\55\1\0\40\55\1\0\2\56\12\0\1\56\1\0" + "\2\56\1\0\31\56\1\0\3\56\1\0\1\136\13\0" + + "\1\136\1\0\1\136\2\0\11\136\1\0\17\136\1\0" + "\3\136\7\60\1\61\1\60\1\137\1\140\44\60\11\61" + + "\1\141\1\142\44\61\4\14\2\60\1\14\1\0\1\60" + "\46\14\4\6\2\0\1\6\2\0\23\6\1\143\26\6" + + "\2\0\1\6\2\0\14\6\1\144\35\6\2\0\1\6" + "\2\0\16\6\1\145\1\146\32\6\2\0\1\6\2\0" + "\12\6\1\147\20\6\1\150\16\6\2\0\1\6\2\0" + "\12\6\1\151\37\6\2\0\1\6\2\0\33\6\1\152" - + "\16\6\2\0\1\6\2\0\17\6\1\153\32\6\2\0" + "\1\6\2\0\33\6\1\154\16\6\2\0\1\6\2\0" + "\23\6\1\155\26\6\2\0\1\6\2\0\27\6\1\156" - + "\22\6\2\0\1\6\2\0\23\6\1\157\26\6\2\0" + "\1\6\2\0\35\6\1\160\14\6\2\0\1\6\2\0" + "\25\6\1\161\24\6\2\0\1\6\2\0\23\6\1\162" - + "\26\6\2\0\1\6\2\0\33\6\1\163\16\6\2\0" + "\1\6\2\0\13\6\1\164\7\6\1\165\26\6\2\0" + "\1\6\2\0\17\6\1\166\32\6\2\0\1\6\2\0" - + "\12\6\1\167\11\6\1\170\25\6\2\0\1\6\2\0" + "\26\6\1\171\23\6\2\0\1\6\2\0\27\6\1\172" - + "\22\6\2\0\1\6\2\0\12\6\1\173\37\6\2\0" + "\1\6\2\0\20\6\1\174\2\6\1\175\26\6\2\0" + "\1\6\2\0\25\6\1\176\1\177\23\6\2\0\1\6" - + "\2\0\16\6\1\200\33\6\2\0\1\6\2\0\12\6" + "\1\201\37\6\2\0\1\6\2\0\27\6\1\202\22\6" + "\2\0\1\6\2\0\33\6\1\203\16\6\2\0\1\6" - + "\2\0\15\6\1\204\7\6\1\205\16\6\1\204\5\6" + "\2\0\1\6\2\0\26\6\1\206\23\6\2\0\1\6" + "\2\0\16\6\1\207\33\6\2\0\1\6\2\0\21\6" + + "\16\6\2\0\1\6\2\0\17\6\1\153\32\6\2\0" + "\1\6\2\0\33\6\1\154\16\6\2\0\1\6\2\0" + + "\23\6\1\155\26\6\2\0\1\6\2\0\27\6\1\156" + "\22\6\2\0\1\6\2\0\23\6\1\157\26\6\2\0" + + "\1\6\2\0\35\6\1\160\14\6\2\0\1\6\2\0" + "\25\6\1\161\24\6\2\0\1\6\2\0\23\6\1\162" + + "\26\6\2\0\1\6\2\0\33\6\1\163\16\6\2\0" + "\1\6\2\0\13\6\1\164\7\6\1\165\26\6\2\0" + + "\1\6\2\0\17\6\1\166\32\6\2\0\1\6\2\0" + "\12\6\1\167\11\6\1\170\25\6\2\0\1\6\2\0" + + "\26\6\1\171\23\6\2\0\1\6\2\0\27\6\1\172" + "\22\6\2\0\1\6\2\0\12\6\1\173\37\6\2\0" + + "\1\6\2\0\20\6\1\174\2\6\1\175\26\6\2\0" + "\1\6\2\0\25\6\1\176\1\177\23\6\2\0\1\6" + + "\2\0\16\6\1\200\33\6\2\0\1\6\2\0\12\6" + "\1\201\37\6\2\0\1\6\2\0\27\6\1\202\22\6" + + "\2\0\1\6\2\0\33\6\1\203\16\6\2\0\1\6" + "\2\0\15\6\1\204\7\6\1\205\16\6\1\204\5\6" + + "\2\0\1\6\2\0\26\6\1\206\23\6\2\0\1\6" + "\2\0\16\6\1\207\33\6\2\0\1\6\2\0\21\6" + "\1\210\1\6\1\211\3\6\1\212\5\6\1\213\1\6" + "\1\214\5\6\1\210\4\6\2\0\1\6\2\0\14\6" + "\1\215\35\6\2\0\1\6\2\0\12\6\1\216\37\6" + "\2\0\1\6\2\0\17\6\1\217\32\6\2\0\1\6" + "\2\0\16\6\1\220\27\6\7\35\1\0\13\35\1\221" + "\30\35\3\0\7\35\1\0\14\35\1\222\27\35\3\0" + "\7\35\1\0\20\35\1\223\23\35\3\0\7\35\1\0" + "\22\35\1\224\21\35\2\0\1\225\32\0\1\225\23\0" + "\1\225\23\0\1\226\57\0\1\227\62\0\1\230\27\0" + "\2\136\12\0\1\136\1\0\2\136\1\0\31\136\1\0" - + "\3\136\7\60\1\0\47\60\7\61\1\0\47\61\4\6" + "\2\0\1\6\2\0\27\6\1\231\22\6\2\0\1\6" + "\2\0\14\6\1\232\35\6\2\0\1\6\2\0\12\6" - + "\1\233\5\6\1\234\31\6\2\0\1\6\2\0\13\6" + "\1\235\10\6\1\236\1\6\1\237\4\6\1\240\1\241" - + "\1\6\1\242\13\6\2\0\1\6\2\0\11\6\1\243" + "\4\6\1\244\1\6\1\245\5\6\1\246\14\6\1\243" - + "\6\6\2\0\1\6\2\0\36\6\1\247\13\6\2\0" + "\1\6\2\0\16\6\1\250\33\6\2\0\1\6\2\0" + "\16\6\1\251\33\6\2\0\1\6\2\0\20\6\1\252" - + "\31\6\2\0\1\6\2\0\24\6\1\253\25\6\2\0" + "\1\6\2\0\13\6\1\254\36\6\2\0\1\6\2\0" + "\20\6\1\255\31\6\2\0\1\6\2\0\13\6\1\256" - + "\36\6\2\0\1\6\2\0\16\6\1\257\33\6\2\0" + "\1\6\2\0\32\6\1\260\17\6\2\0\1\6\2\0" + "\30\6\1\261\21\6\2\0\1\6\2\0\26\6\1\262" - + "\23\6\2\0\1\6\2\0\16\6\1\263\33\6\2\0" + "\1\6\2\0\35\6\1\264\14\6\2\0\1\6\2\0" + "\26\6\1\265\23\6\2\0\1\6\2\0\16\6\1\266" - + "\33\6\2\0\1\6\2\0\20\6\1\267\31\6\2\0" + "\1\6\2\0\25\6\1\270\24\6\2\0\1\6\2\0" - + "\11\6\1\243\1\271\3\6\1\272\1\273\1\274\2\6" + "\1\275\1\276\1\6\1\277\1\300\13\6\1\243\6\6" - + "\2\0\1\6\2\0\11\6\1\301\31\6\1\301\6\6" + "\2\0\1\6\2\0\24\6\1\302\25\6\2\0\1\6" + "\2\0\33\6\1\303\16\6\2\0\1\6\2\0\12\6" - + "\1\304\37\6\2\0\1\6\2\0\40\6\1\305\11\6" + "\2\0\1\6\2\0\35\6\1\306\14\6\2\0\1\6" + "\2\0\16\6\1\307\33\6\2\0\1\6\2\0\20\6" - + "\1\310\31\6\2\0\1\6\2\0\20\6\1\311\31\6" + "\2\0\1\6\2\0\23\6\1\312\26\6\2\0\1\6" + "\2\0\31\6\1\313\20\6\2\0\1\6\2\0\21\6" - + "\1\314\23\6\1\314\4\6\2\0\1\6\2\0\35\6" + "\1\315\14\6\2\0\1\6\2\0\33\6\1\316\16\6" + "\2\0\1\6\2\0\27\6\1\317\22\6\2\0\1\6" - + "\2\0\16\6\1\320\33\6\2\0\1\6\2\0\26\6" + "\1\321\23\6\2\0\1\6\2\0\34\6\1\322\15\6" + "\2\0\1\6\2\0\20\6\1\323\31\6\2\0\1\6" + + "\3\136\7\60\1\0\47\60\7\61\1\0\47\61\4\6" + "\2\0\1\6\2\0\27\6\1\231\22\6\2\0\1\6" + + "\2\0\14\6\1\232\35\6\2\0\1\6\2\0\12\6" + "\1\233\5\6\1\234\31\6\2\0\1\6\2\0\13\6" + + "\1\235\10\6\1\236\1\6\1\237\4\6\1\240\1\241" + "\1\6\1\242\13\6\2\0\1\6\2\0\11\6\1\243" + + "\4\6\1\244\1\6\1\245\5\6\1\246\14\6\1\243" + "\6\6\2\0\1\6\2\0\36\6\1\247\13\6\2\0" + + "\1\6\2\0\16\6\1\250\33\6\2\0\1\6\2\0" + "\16\6\1\251\33\6\2\0\1\6\2\0\20\6\1\252" + + "\31\6\2\0\1\6\2\0\24\6\1\253\25\6\2\0" + "\1\6\2\0\13\6\1\254\36\6\2\0\1\6\2\0" + + "\20\6\1\255\31\6\2\0\1\6\2\0\13\6\1\256" + "\36\6\2\0\1\6\2\0\16\6\1\257\33\6\2\0" + + "\1\6\2\0\32\6\1\260\17\6\2\0\1\6\2\0" + "\30\6\1\261\21\6\2\0\1\6\2\0\26\6\1\262" + + "\23\6\2\0\1\6\2\0\16\6\1\263\33\6\2\0" + "\1\6\2\0\35\6\1\264\14\6\2\0\1\6\2\0" + + "\26\6\1\265\23\6\2\0\1\6\2\0\16\6\1\266" + "\33\6\2\0\1\6\2\0\20\6\1\267\31\6\2\0" + + "\1\6\2\0\25\6\1\270\24\6\2\0\1\6\2\0" + "\11\6\1\243\1\271\3\6\1\272\1\273\1\274\2\6" + + "\1\275\1\276\1\6\1\277\1\300\13\6\1\243\6\6" + "\2\0\1\6\2\0\11\6\1\301\31\6\1\301\6\6" + + "\2\0\1\6\2\0\24\6\1\302\25\6\2\0\1\6" + "\2\0\33\6\1\303\16\6\2\0\1\6\2\0\12\6" + + "\1\304\37\6\2\0\1\6\2\0\40\6\1\305\11\6" + "\2\0\1\6\2\0\35\6\1\306\14\6\2\0\1\6" + + "\2\0\16\6\1\307\33\6\2\0\1\6\2\0\20\6" + "\1\310\31\6\2\0\1\6\2\0\20\6\1\311\31\6" + + "\2\0\1\6\2\0\23\6\1\312\26\6\2\0\1\6" + "\2\0\31\6\1\313\20\6\2\0\1\6\2\0\21\6" + + "\1\314\23\6\1\314\4\6\2\0\1\6\2\0\35\6" + "\1\315\14\6\2\0\1\6\2\0\33\6\1\316\16\6" + + "\2\0\1\6\2\0\27\6\1\317\22\6\2\0\1\6" + "\2\0\16\6\1\320\33\6\2\0\1\6\2\0\26\6" + + "\1\321\23\6\2\0\1\6\2\0\34\6\1\322\15\6" + "\2\0\1\6\2\0\20\6\1\323\31\6\2\0\1\6" + "\2\0\23\6\1\324\26\6\2\0\1\6\2\0\12\6" + "\1\325\37\6\2\0\1\6\2\0\12\6\1\326\33\6" + "\7\35\1\0\14\35\1\327\27\35\3\0\7\35\1\0" + "\5\35\1\330\36\35\3\0\7\35\1\0\21\35\1\222" + "\22\35\3\0\7\35\1\0\23\35\1\331\20\35\36\0" + "\1\332\47\0\1\333\47\0\1\334\72\0\1\227\25\0" - + "\4\6\2\0\1\6\2\0\20\6\1\335\31\6\2\0" + "\1\6\2\0\20\6\1\336\31\6\2\0\1\6\2\0" + "\16\6\1\337\33\6\2\0\1\6\2\0\33\6\1\340" - + "\16\6\2\0\1\6\2\0\33\6\1\341\16\6\2\0" + "\1\6\2\0\16\6\1\342\33\6\2\0\1\6\2\0" + "\13\6\1\113\36\6\2\0\1\6\2\0\20\6\1\343" - + "\31\6\2\0\1\6\2\0\14\6\1\344\35\6\2\0" + "\1\6\2\0\20\6\1\345\31\6\2\0\1\6\2\0" + "\23\6\1\346\26\6\2\0\1\6\2\0\25\6\1\347" - + "\24\6\2\0\1\6\2\0\25\6\1\350\24\6\2\0" + "\1\6\2\0\34\6\1\351\15\6\2\0\1\6\2\0" + "\20\6\1\352\31\6\2\0\1\6\2\0\14\6\1\353" - + "\35\6\2\0\1\6\2\0\13\6\1\354\36\6\2\0" + "\1\6\2\0\20\6\1\355\31\6\2\0\1\6\2\0" + "\20\6\1\356\31\6\2\0\1\6\2\0\16\6\1\357" - + "\33\6\2\0\1\6\2\0\41\6\1\360\10\6\2\0" + "\1\6\2\0\27\6\1\361\1\362\4\6\1\363\14\6" + "\2\0\1\6\2\0\12\6\1\364\37\6\2\0\1\6" - + "\2\0\34\6\1\365\15\6\2\0\1\6\2\0\17\6" + "\1\366\32\6\2\0\1\6\2\0\33\6\1\367\16\6" + "\2\0\1\6\2\0\33\6\1\370\16\6\2\0\1\6" - + "\2\0\13\6\1\371\36\6\2\0\1\6\2\0\21\6" + "\1\313\23\6\1\313\4\6\2\0\1\6\2\0\26\6" + "\1\372\23\6\2\0\1\6\2\0\13\6\1\373\36\6" - + "\2\0\1\6\2\0\31\6\1\374\20\6\2\0\1\6" + "\2\0\31\6\1\375\20\6\2\0\1\6\2\0\24\6" + "\1\376\1\347\24\6\2\0\1\6\2\0\23\6\1\377" - + "\26\6\2\0\1\6\2\0\25\6\1\u0100\24\6\2\0" + "\1\6\2\0\17\6\1\u0101\32\6\2\0\1\6\2\0" - + "\11\6\1\u0102\31\6\1\u0102\6\6\2\0\1\6\2\0" + "\34\6\1\u0103\15\6\2\0\1\6\2\0\20\6\1\u0104" - + "\31\6\2\0\1\6\2\0\12\6\1\271\4\6\1\u0105" + "\3\6\1\u0106\1\6\1\u0107\1\6\1\u0108\1\u0109\1\6" - + "\1\u010a\1\6\1\u010b\15\6\2\0\1\6\2\0\40\6" + "\1\u010c\11\6\2\0\1\6\2\0\14\6\1\u010d\35\6" - + "\2\0\1\6\2\0\20\6\1\u010e\31\6\2\0\1\6" + "\2\0\16\6\1\u010f\33\6\2\0\1\6\2\0\23\6" - + "\1\u0110\26\6\2\0\1\6\2\0\26\6\1\u0111\23\6" + "\2\0\1\6\2\0\33\6\1\313\16\6\2\0\1\6" - + "\2\0\24\6\1\u0112\25\6\2\0\1\6\2\0\34\6" + "\1\u0113\15\6\2\0\1\6\2\0\14\6\1\u0114\35\6" - + "\2\0\1\6\2\0\16\6\1\u0115\33\6\2\0\1\6" + "\2\0\16\6\1\u0116\33\6\2\0\1\6\2\0\35\6" - + "\1\u0117\14\6\2\0\1\6\2\0\33\6\1\u0118\16\6" + "\2\0\1\6\2\0\36\6\1\u0119\13\6\2\0\1\6" - + "\2\0\16\6\1\u011a\1\6\1\u011b\31\6\2\0\1\6" + "\2\0\12\6\1\232\37\6\2\0\1\6\2\0\14\6" - + "\1\u011c\1\u011d\11\6\1\u011e\14\6\1\u011d\5\6\2\0" + "\1\6\2\0\16\6\1\u011f\33\6\2\0\1\6\2\0" - + "\11\6\1\u0120\31\6\1\u0120\2\6\7\35\1\0\5\35" + "\1\330\7\35\1\222\26\35\3\0\7\35\1\0\3\35" - + "\1\u0121\40\35\3\0\1\35\2\331\4\35\1\0\1\331" + "\2\35\41\331\3\332\1\0\2\u0122\5\0\1\u0122\2\0" + + "\4\6\2\0\1\6\2\0\20\6\1\335\31\6\2\0" + "\1\6\2\0\20\6\1\336\31\6\2\0\1\6\2\0" + + "\16\6\1\337\33\6\2\0\1\6\2\0\33\6\1\340" + "\16\6\2\0\1\6\2\0\33\6\1\341\16\6\2\0" + + "\1\6\2\0\16\6\1\342\33\6\2\0\1\6\2\0" + "\13\6\1\113\36\6\2\0\1\6\2\0\20\6\1\343" + + "\31\6\2\0\1\6\2\0\14\6\1\344\35\6\2\0" + "\1\6\2\0\20\6\1\345\31\6\2\0\1\6\2\0" + + "\23\6\1\346\26\6\2\0\1\6\2\0\25\6\1\347" + "\24\6\2\0\1\6\2\0\25\6\1\350\24\6\2\0" + + "\1\6\2\0\34\6\1\351\15\6\2\0\1\6\2\0" + "\20\6\1\352\31\6\2\0\1\6\2\0\14\6\1\353" + + "\35\6\2\0\1\6\2\0\13\6\1\354\36\6\2\0" + "\1\6\2\0\20\6\1\355\31\6\2\0\1\6\2\0" + + "\20\6\1\356\31\6\2\0\1\6\2\0\16\6\1\357" + "\33\6\2\0\1\6\2\0\41\6\1\360\10\6\2\0" + + "\1\6\2\0\27\6\1\361\1\362\4\6\1\363\14\6" + "\2\0\1\6\2\0\12\6\1\364\37\6\2\0\1\6" + + "\2\0\34\6\1\365\15\6\2\0\1\6\2\0\17\6" + "\1\366\32\6\2\0\1\6\2\0\33\6\1\367\16\6" + + "\2\0\1\6\2\0\33\6\1\370\16\6\2\0\1\6" + "\2\0\13\6\1\371\36\6\2\0\1\6\2\0\21\6" + + "\1\313\23\6\1\313\4\6\2\0\1\6\2\0\26\6" + "\1\372\23\6\2\0\1\6\2\0\13\6\1\373\36\6" + + "\2\0\1\6\2\0\31\6\1\374\20\6\2\0\1\6" + "\2\0\31\6\1\375\20\6\2\0\1\6\2\0\24\6" + + "\1\376\1\347\24\6\2\0\1\6\2\0\23\6\1\377" + "\26\6\2\0\1\6\2\0\25\6\1\u0100\24\6\2\0" + + "\1\6\2\0\17\6\1\u0101\32\6\2\0\1\6\2\0" + "\11\6\1\u0102\31\6\1\u0102\6\6\2\0\1\6\2\0" + + "\34\6\1\u0103\15\6\2\0\1\6\2\0\20\6\1\u0104" + "\31\6\2\0\1\6\2\0\12\6\1\271\4\6\1\u0105" + + "\3\6\1\u0106\1\6\1\u0107\1\6\1\u0108\1\u0109\1\6" + "\1\u010a\1\6\1\u010b\15\6\2\0\1\6\2\0\40\6" + + "\1\u010c\11\6\2\0\1\6\2\0\14\6\1\u010d\35\6" + "\2\0\1\6\2\0\20\6\1\u010e\31\6\2\0\1\6" + + "\2\0\16\6\1\u010f\33\6\2\0\1\6\2\0\23\6" + "\1\u0110\26\6\2\0\1\6\2\0\26\6\1\u0111\23\6" + + "\2\0\1\6\2\0\33\6\1\313\16\6\2\0\1\6" + "\2\0\24\6\1\u0112\25\6\2\0\1\6\2\0\34\6" + + "\1\u0113\15\6\2\0\1\6\2\0\14\6\1\u0114\35\6" + "\2\0\1\6\2\0\16\6\1\u0115\33\6\2\0\1\6" + + "\2\0\16\6\1\u0116\33\6\2\0\1\6\2\0\35\6" + "\1\u0117\14\6\2\0\1\6\2\0\33\6\1\u0118\16\6" + + "\2\0\1\6\2\0\36\6\1\u0119\13\6\2\0\1\6" + "\2\0\16\6\1\u011a\1\6\1\u011b\31\6\2\0\1\6" + + "\2\0\12\6\1\232\37\6\2\0\1\6\2\0\14\6" + "\1\u011c\1\u011d\11\6\1\u011e\14\6\1\u011d\5\6\2\0" + + "\1\6\2\0\16\6\1\u011f\33\6\2\0\1\6\2\0" + "\11\6\1\u0120\31\6\1\u0120\2\6\7\35\1\0\5\35" + + "\1\330\7\35\1\222\26\35\3\0\7\35\1\0\3\35" + "\1\u0121\40\35\3\0\1\35\2\331\4\35\1\0\1\331" + + "\2\35\41\331\3\332\1\0\2\u0122\5\0\1\u0122\2\0" + "\1\332\3\u0122\14\332\1\u0122\17\332\1\u0122\3\332\15\0" + "\1\334\7\0\1\227\44\0\1\u0123\43\0\4\6\2\0" + "\1\6\2\0\33\6\1\u0124\16\6\2\0\1\6\2\0" + "\25\6\1\u0125\24\6\2\0\1\6\2\0\35\6\1\u0126" + "\14\6\2\0\1\6\2\0\33\6\1\u0127\16\6\2\0" + "\1\6\2\0\26\6\1\u0128\23\6\2\0\1\6\2\0" @@ -531,15 +548,16 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { + "\1\u0315\31\6\2\0\1\6\2\0\17\6\1\u0316\32\6" + "\2\0\1\6\2\0\12\6\1\u0317\37\6\2\0\1\6" + "\2\0\27\6\1\372\22\6\2\0\1\6\2\0\16\6" + "\1\u0150\33\6\2\0\1\6\2\0\24\6\1\u0143\25\6" + "\2\0\1\6\2\0\33\6\1\u0318\16\6\2\0\1\6" + "\2\0\16\6\1\u0319\33\6\2\0\1\6\2\0\20\6" - + "\1\u031a\31\6\2\0\1\6\2\0\36\6\1\202\13\6" + "\2\0\1\6\2\0\23\6\1\u031b\26\6\2\0\1\6" + "\2\0\14\6\1\u01a6\31\6"; - + + "\1\u031a\31\6\2\0\1\6\2\0\36\6\1\202\13\6" + "\2\0\1\6\2\0\23\6\1\u031b\26\6\2\0\1\6" + + "\2\0\14\6\1\u01a6\31\6"; + private static int[] zzUnpackTrans() { int[] result = new int[36754]; 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 */ @@ -554,7 +572,7 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -566,16 +584,16 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\6\1\2\11\22\1\1\11\10\1\4\11\1\1" + "\1\11\2\1\1\0\52\1\4\0\2\1\1\11\1\1" - + "\1\11\62\1\4\0\102\1\2\0\105\1\2\0\u01f8\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\6\1\2\11\22\1\1\11\10\1\4\11\1\1" + + "\1\11\2\1\1\0\52\1\4\0\2\1\1\11\1\1" + "\1\11\62\1\4\0\102\1\2\0\105\1\2\0\u01f8\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[795]; 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 */ @@ -589,7 +607,7 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -597,8 +615,8 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -608,21 +626,20 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** - * Type specific to HtaccessTokenMaker denoting a line ending with an - * unclosed double-quote attribute. + * Type specific to HtaccessTokenMaker denoting a line ending with an unclosed + * double-quote attribute. */ public static final int INTERNAL_ATTR_DOUBLE = -1; /** - * Type specific to HtaccessTokenMaker denoting a line ending with an - * unclosed single-quote attribute. + * Type specific to HtaccessTokenMaker denoting a line ending with an unclosed + * single-quote attribute. */ public static final int INTERNAL_ATTR_SINGLE = -2; /** @@ -630,78 +647,69 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { * unclosed XML tag; thus a new line is beginning still inside of the tag. */ public static final int INTERNAL_INTAG = -3; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public HtaccessTokenMaker() {} - + public HtaccessTokenMaker() { + } + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * Returns how to transform a line into a line comment. * @@ -711,21 +719,18 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -734,17 +739,17 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case INTERNAL_ATTR_DOUBLE: - state = INATTR_DOUBLE; - break; - case INTERNAL_ATTR_SINGLE: - state = INATTR_SINGLE; - break; - case INTERNAL_INTAG: - state = INTAG; - break; - default: - state = YYINITIAL; + case INTERNAL_ATTR_DOUBLE: + state = INATTR_DOUBLE; + break; + case INTERNAL_ATTR_SINGLE: + state = INATTR_SINGLE; + break; + case INTERNAL_INTAG: + state = INTAG; + break; + default: + state = YYINITIAL; } start = text.offset; s = text; @@ -757,36 +762,34 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -796,34 +799,31 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public HtaccessTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public HtaccessTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -839,7 +839,7 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -849,69 +849,64 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -922,29 +917,27 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -963,8 +956,7 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1004,161 +996,162 @@ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 12: { - yybegin(INTAG); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 20: - break; - case 4: { - addNullToken(); - return firstToken; - } - case 21: - break; - case 15: { - int count = yylength(); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - (count - 2), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - yybegin(INTAG); - } - case 22: - break; - case 3: { - addToken(Token.WHITESPACE); - } - case 23: - break; - case 17: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 24: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 25: - break; - case 6: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 26: - break; - case 18: { - addToken(Token.FUNCTION); - } - case 27: - break; - case 14: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 28: - break; - case 13: { - int count = yylength(); - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - (count - 1), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - yybegin(INTAG); - } - case 29: - break; - case 9: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE); - } - case 30: - break; - case 8: { - yybegin(YYINITIAL); - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 31: - break; - case 16: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 32: - break; - case 10: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE); - } - case 33: - break; - case 19: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 34: - break; - case 5: { - start = zzMarkedPos - 1; - yybegin(EOL_COMMENT); - } - case 35: - break; - case 11: { - addToken(Token.OPERATOR); - } - case 36: - break; - case 7: { - addToken(Token.MARKUP_TAG_ATTRIBUTE); - } - case 37: - break; - case 1: {} - case 38: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 796: - break; - case INTAG: { - addToken(start, zzStartRead - 1, INTERNAL_INTAG); - return firstToken; - } - case 797: - break; - case INATTR_DOUBLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE); - return firstToken; - } - case 798: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 799: - break; - case INATTR_SINGLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE); - return firstToken; - } - case 800: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 12: { + yybegin(INTAG); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 20: + break; + case 4: { + addNullToken(); + return firstToken; + } + case 21: + break; + case 15: { + int count = yylength(); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - (count - 2), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + yybegin(INTAG); + } + case 22: + break; + case 3: { + addToken(Token.WHITESPACE); + } + case 23: + break; + case 17: { + addToken(Token.ERROR_STRING_DOUBLE); + } + case 24: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 25: + break; + case 6: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 26: + break; + case 18: { + addToken(Token.FUNCTION); + } + case 27: + break; + case 14: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 28: + break; + case 13: { + int count = yylength(); + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - (count - 1), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + yybegin(INTAG); + } + case 29: + break; + case 9: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE); + } + case 30: + break; + case 8: { + yybegin(YYINITIAL); + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 31: + break; + case 16: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 32: + break; + case 10: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE); + } + case 33: + break; + case 19: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 34: + break; + case 5: { + start = zzMarkedPos - 1; + yybegin(EOL_COMMENT); + } + case 35: + break; + case 11: { + addToken(Token.OPERATOR); + } + case 36: + break; + case 7: { + addToken(Token.MARKUP_TAG_ATTRIBUTE); + } + case 37: + break; + case 1: { + } + case 38: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 796: + break; + case INTAG: { + addToken(start, zzStartRead - 1, INTERNAL_INTAG); + return firstToken; + } + case 797: + break; + case INATTR_DOUBLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE); + return firstToken; + } + case 798: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 799: + break; + case INATTR_SINGLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE); + return firstToken; + } + case 800: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/IniTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/IniTokenMaker.java index eed9c9c..91df18c 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/IniTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/IniTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -40,17 +39,17 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * If you wish to regenerate this file yourself, keep in mind the following: *

        - *
      • The generated IniTokenMaker.java file will - * contain two definitions of both zzRefill and - * yyreset. You should hand-delete the second of each - * definition (the ones generated by the lexer), as these generated - * methods modify the input buffer, which we'll never have to do. - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway. + *
      • The generated IniTokenMaker.java file will contain two + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway. *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance. + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class IniTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -67,7 +66,8 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { /** * Translates characters to character classes */ - private static final String ZZ_CMAP_PACKED = "\11\0\1\3\1\5\25\0\1\3\2\0\1\4\27\0\1\4\1\0" + "\1\1\35\0\1\2\1\0\1\6\uffa2\0"; + private static final String ZZ_CMAP_PACKED = "\11\0\1\3\1\5\25\0\1\3\2\0\1\4\27\0\1\4\1\0" + + "\1\1\35\0\1\2\1\0\1\6\uffa2\0"; /** * Translates characters to character classes */ @@ -77,14 +77,14 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { */ private static final int[] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\1\1\1\2\1\1\1\3\1\4\1\5\1\6\1\2" + "\1\7\1\4"; - + private static int[] zzUnpackAction() { int[] result = new int[10]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -98,20 +98,20 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\7\0\16\0\25\0\34\0\43\0\52\0\61" + "\0\25\0\25"; - + private static int[] zzUnpackRowMap() { int[] result = new int[10]; 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 */ @@ -122,21 +122,21 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\5\1\6\1\7\1\0\1\3\1\10" + "\1\11\1\5\1\6\1\7\1\0\1\10\1\3\5\0" - + "\1\3\7\0\6\5\1\12\3\0\1\6\3\0\5\7" + "\1\0\1\7\1\10\5\0\1\10"; - + private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\5\1\6\1\7\1\0\1\3\1\10" + + "\1\11\1\5\1\6\1\7\1\0\1\10\1\3\5\0" + "\1\3\7\0\6\5\1\12\3\0\1\6\3\0\5\7" + "\1\0\1\7\1\10\5\0\1\10"; + private static int[] zzUnpackTrans() { int[] result = new int[56]; 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 */ @@ -151,7 +151,7 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -164,14 +164,14 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\1\1\11\4\1\2\11"; - + private static int[] zzUnpackAttribute() { int[] result = new int[10]; 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 */ @@ -185,7 +185,7 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -193,8 +193,8 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -204,64 +204,55 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public IniTokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -269,21 +260,18 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { ";", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -301,36 +289,34 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -340,34 +326,31 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public IniTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public IniTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -383,7 +366,7 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -393,69 +376,64 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -466,29 +444,27 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -507,8 +483,7 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -548,66 +523,66 @@ public class IniTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 3: { - start = zzMarkedPos; - addToken(Token.OPERATOR); - yybegin(VALUE); - } - case 8: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 9: - break; - case 5: { - addToken(Token.WHITESPACE); - } - case 10: - break; - case 7: { - start = zzMarkedPos; - addToken(Token.OPERATOR); - } - case 11: - break; - case 6: { - addToken(Token.COMMENT_EOL); - } - case 12: - break; - case 4: { - addToken(Token.PREPROCESSOR); - } - case 13: - break; - case 1: { - addToken(Token.DATA_TYPE); - } - case 14: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 11: - break; - case VALUE: { - addNullToken(); - return firstToken; - } - case 12: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 3: { + start = zzMarkedPos; + addToken(Token.OPERATOR); + yybegin(VALUE); + } + case 8: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 9: + break; + case 5: { + addToken(Token.WHITESPACE); + } + case 10: + break; + case 7: { + start = zzMarkedPos; + addToken(Token.OPERATOR); + } + case 11: + break; + case 6: { + addToken(Token.COMMENT_EOL); + } + case 12: + break; + case 4: { + addToken(Token.PREPROCESSOR); + } + case 13: + break; + case 1: { + addToken(Token.DATA_TYPE); + } + case 14: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case YYINITIAL: { + addNullToken(); + return firstToken; } + case 11: + break; + case VALUE: { + addNullToken(); + return firstToken; + } + case 12: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/JSPTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/JSPTokenMaker.java index 1c88dd1..217f2f3 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/JSPTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/JSPTokenMaker.java @@ -24,16 +24,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -43,23 +42,23 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated JSPTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell * @version 0.9 */ public class JSPTokenMaker extends AbstractMarkupTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -99,10 +98,14 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\4\1\2\1\0\1\1\1\46\22\0\1\4\1\26\1\10" - + "\1\47\1\50\1\25\1\5\1\11\1\116\1\114\1\51\1\56\1\65" + "\1\36\1\57\1\12\1\31\1\32\2\45\1\137\1\130\1\136\1\34" - + "\2\30\1\70\1\6\1\3\1\7\1\21\1\67\1\74\1\33\1\52" + "\1\14\1\107\1\24\1\55\1\123\1\127\1\16\1\131\1\124\1\23" - + "\1\121\1\120\1\117\1\17\1\125\1\15\1\13\1\20\1\122\1\126" + "\1\135\1\54\1\22\1\27\1\113\1\37\1\113\1\66\1\35\1\73" - + "\1\61\1\53\1\77\1\101\1\60\1\44\1\103\1\100\1\102\1\134" + "\1\112\1\62\1\106\1\43\1\75\1\104\1\133\1\41\1\63\1\42" + + "\1\47\1\50\1\25\1\5\1\11\1\116\1\114\1\51\1\56\1\65" + + "\1\36\1\57\1\12\1\31\1\32\2\45\1\137\1\130\1\136\1\34" + + "\2\30\1\70\1\6\1\3\1\7\1\21\1\67\1\74\1\33\1\52" + + "\1\14\1\107\1\24\1\55\1\123\1\127\1\16\1\131\1\124\1\23" + + "\1\121\1\120\1\117\1\17\1\125\1\15\1\13\1\20\1\122\1\126" + + "\1\135\1\54\1\22\1\27\1\113\1\37\1\113\1\66\1\35\1\73" + + "\1\61\1\53\1\77\1\101\1\60\1\44\1\103\1\100\1\102\1\134" + + "\1\112\1\62\1\106\1\43\1\75\1\104\1\133\1\41\1\63\1\42" + "\1\40\1\111\1\110\1\105\1\76\1\132\1\115\1\72\1\64\1\71" + "\uff81\0"; /** * Translates characters to character classes @@ -112,50 +115,54 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\14\0\1\2" + "\5\0\2\2\1\3\1\4\1\5\1\6\1\1\1\7" - + "\5\1\1\10\2\1\1\11\1\12\2\13\1\5\1\14" + "\1\15\1\16\1\17\1\20\1\21\1\22\1\23\2\21" - + "\2\23\3\21\2\23\2\21\1\23\6\21\1\23\1\1" + "\1\24\1\25\1\1\1\13\1\26\1\27\1\17\1\30" - + "\1\31\1\32\1\33\1\34\1\1\1\35\1\1\1\36" + "\1\37\2\14\1\2\1\14\1\40\1\41\1\14\2\2" + "\1\14\2\42\1\14\5\2\1\36\1\2\1\14\5\2" - + "\1\43\1\14\1\44\10\2\1\1\1\45\1\46\1\47" + "\1\1\1\50\1\51\1\52\1\1\1\53\6\1\1\54" + "\4\1\1\55\2\1\1\56\7\1\1\36\1\57\1\14" - + "\1\60\1\61\1\14\11\2\1\14\2\42\14\2\1\62" + "\21\2\1\1\1\63\1\1\2\2\1\64\1\65\1\66" - + "\1\67\4\2\1\70\1\71\1\70\1\72\1\73\1\70" + "\1\74\1\70\1\75\1\70\1\76\1\77\1\100\2\77" - + "\1\66\1\77\1\101\1\102\1\103\1\104\1\103\1\105" + "\2\2\1\103\1\42\1\2\1\103\1\106\1\107\1\110" - + "\1\111\1\112\1\113\1\114\1\115\2\1\1\116\1\117" + "\1\120\1\121\1\1\1\122\1\1\1\123\1\4\2\124" - + "\1\125\1\126\1\127\1\6\5\0\1\130\1\125\32\21" + "\2\23\2\21\1\23\44\21\1\131\1\132\2\0\1\125" - + "\1\0\1\14\1\133\1\0\1\134\1\36\1\2\1\14" + "\1\135\1\42\2\135\2\136\1\135\1\137\2\135\43\2" - + "\3\66\12\2\1\140\1\141\1\142\3\0\1\143\12\0" + "\1\144\2\0\1\145\16\0\1\60\1\146\1\60\1\61" - + "\1\0\1\65\1\61\1\147\1\150\1\36\46\2\1\151" + "\1\135\1\42\2\135\1\136\1\135\1\137\3\135\45\2" - + "\1\62\5\2\1\66\1\2\1\66\40\2\1\152\1\153" + "\3\2\1\0\1\154\1\155\15\0\1\156\1\0\1\42" - + "\5\0\1\42\1\112\1\157\1\160\1\161\1\162\2\124" + "\1\125\1\0\1\163\1\0\1\164\4\0\1\125\14\21" - + "\1\23\63\21\1\131\1\0\1\165\1\0\1\36\1\2" + "\1\136\1\0\1\42\3\137\30\2\1\166\16\2\1\74" - + "\16\2\44\0\1\64\1\60\1\0\2\60\1\61\1\0" + "\1\65\3\61\1\167\1\36\3\2\1\170\65\2\1\136" - + "\1\42\2\137\1\42\1\137\50\2\1\36\6\2\1\74" + "\33\2\1\170\21\2\25\0\2\124\1\171\1\172\2\0" - + "\1\173\31\21\1\23\2\21\1\23\6\21\1\0\1\174" + "\1\36\1\2\1\135\1\2\1\175\11\2\1\74\1\176" - + "\3\2\1\170\23\2\1\0\1\1\3\0\1\177\3\0" + "\1\200\1\201\11\0\1\202\11\0\1\203\5\0\3\60" - + "\1\61\1\36\70\2\1\170\3\2\1\170\1\2\1\170" + "\5\2\2\135\7\2\1\175\11\2\1\170\3\2\1\74" - + "\3\2\1\170\6\2\1\36\36\2\1\0\16\2\1\66" + "\23\0\2\124\2\0\12\21\1\23\11\21\1\0\1\36" - + "\4\2\1\66\1\2\1\66\20\2\37\0\3\60\1\61" + "\1\36\3\2\1\170\14\2\1\170\47\2\1\170\24\2" - + "\2\66\26\2\1\36\32\2\1\0\15\2\16\0\1\124" + "\1\204\12\21\1\0\1\36\1\2\1\205\16\2\24\0" - + "\2\60\1\61\1\36\1\2\1\170\31\2\1\170\27\2" + "\1\170\2\2\1\170\24\2\1\205\2\2\1\170\21\2" - + "\1\36\13\2\1\170\2\2\1\170\6\2\1\0\13\2" + "\12\0\1\206\3\21\1\0\10\2\4\0\1\202\6\0" - + "\1\60\33\2\1\170\21\2\1\170\7\2\1\0\3\2" + "\1\0\22\2\1\0\15\2\1\36\27\2\1\0\13\2" + "\6\0\1\21\1\0\3\2\13\0\1\60\16\2\1\170" + private static final String ZZ_ACTION_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\14\0\1\2" + + "\5\0\2\2\1\3\1\4\1\5\1\6\1\1\1\7" + "\5\1\1\10\2\1\1\11\1\12\2\13\1\5\1\14" + + "\1\15\1\16\1\17\1\20\1\21\1\22\1\23\2\21" + "\2\23\3\21\2\23\2\21\1\23\6\21\1\23\1\1" + + "\1\24\1\25\1\1\1\13\1\26\1\27\1\17\1\30" + "\1\31\1\32\1\33\1\34\1\1\1\35\1\1\1\36" + + "\1\37\2\14\1\2\1\14\1\40\1\41\1\14\2\2" + "\1\14\2\42\1\14\5\2\1\36\1\2\1\14\5\2" + + "\1\43\1\14\1\44\10\2\1\1\1\45\1\46\1\47" + "\1\1\1\50\1\51\1\52\1\1\1\53\6\1\1\54" + + "\4\1\1\55\2\1\1\56\7\1\1\36\1\57\1\14" + "\1\60\1\61\1\14\11\2\1\14\2\42\14\2\1\62" + + "\21\2\1\1\1\63\1\1\2\2\1\64\1\65\1\66" + "\1\67\4\2\1\70\1\71\1\70\1\72\1\73\1\70" + + "\1\74\1\70\1\75\1\70\1\76\1\77\1\100\2\77" + "\1\66\1\77\1\101\1\102\1\103\1\104\1\103\1\105" + + "\2\2\1\103\1\42\1\2\1\103\1\106\1\107\1\110" + "\1\111\1\112\1\113\1\114\1\115\2\1\1\116\1\117" + + "\1\120\1\121\1\1\1\122\1\1\1\123\1\4\2\124" + "\1\125\1\126\1\127\1\6\5\0\1\130\1\125\32\21" + + "\2\23\2\21\1\23\44\21\1\131\1\132\2\0\1\125" + "\1\0\1\14\1\133\1\0\1\134\1\36\1\2\1\14" + + "\1\135\1\42\2\135\2\136\1\135\1\137\2\135\43\2" + "\3\66\12\2\1\140\1\141\1\142\3\0\1\143\12\0" + + "\1\144\2\0\1\145\16\0\1\60\1\146\1\60\1\61" + "\1\0\1\65\1\61\1\147\1\150\1\36\46\2\1\151" + + "\1\135\1\42\2\135\1\136\1\135\1\137\3\135\45\2" + "\1\62\5\2\1\66\1\2\1\66\40\2\1\152\1\153" + + "\3\2\1\0\1\154\1\155\15\0\1\156\1\0\1\42" + "\5\0\1\42\1\112\1\157\1\160\1\161\1\162\2\124" + + "\1\125\1\0\1\163\1\0\1\164\4\0\1\125\14\21" + "\1\23\63\21\1\131\1\0\1\165\1\0\1\36\1\2" + + "\1\136\1\0\1\42\3\137\30\2\1\166\16\2\1\74" + "\16\2\44\0\1\64\1\60\1\0\2\60\1\61\1\0" + + "\1\65\3\61\1\167\1\36\3\2\1\170\65\2\1\136" + "\1\42\2\137\1\42\1\137\50\2\1\36\6\2\1\74" + + "\33\2\1\170\21\2\25\0\2\124\1\171\1\172\2\0" + "\1\173\31\21\1\23\2\21\1\23\6\21\1\0\1\174" + + "\1\36\1\2\1\135\1\2\1\175\11\2\1\74\1\176" + "\3\2\1\170\23\2\1\0\1\1\3\0\1\177\3\0" + + "\1\200\1\201\11\0\1\202\11\0\1\203\5\0\3\60" + "\1\61\1\36\70\2\1\170\3\2\1\170\1\2\1\170" + + "\5\2\2\135\7\2\1\175\11\2\1\170\3\2\1\74" + "\3\2\1\170\6\2\1\36\36\2\1\0\16\2\1\66" + + "\23\0\2\124\2\0\12\21\1\23\11\21\1\0\1\36" + "\4\2\1\66\1\2\1\66\20\2\37\0\3\60\1\61" + + "\1\36\3\2\1\170\14\2\1\170\47\2\1\170\24\2" + "\2\66\26\2\1\36\32\2\1\0\15\2\16\0\1\124" + + "\1\204\12\21\1\0\1\36\1\2\1\205\16\2\24\0" + "\2\60\1\61\1\36\1\2\1\170\31\2\1\170\27\2" + + "\1\170\2\2\1\170\24\2\1\205\2\2\1\170\21\2" + "\1\36\13\2\1\170\2\2\1\170\6\2\1\0\13\2" + + "\12\0\1\206\3\21\1\0\10\2\4\0\1\202\6\0" + "\1\60\33\2\1\170\21\2\1\170\7\2\1\0\3\2" + + "\1\0\22\2\1\0\15\2\1\36\27\2\1\0\13\2" + "\6\0\1\21\1\0\3\2\13\0\1\60\16\2\1\170" + "\50\2\2\0\2\2\4\0\16\2\2\0\25\2\1\170" + "\11\2\1\0\12\2\1\207\4\0\1\21\1\210\1\2" + "\1\211\1\212\5\0\14\2\1\0\10\2\1\170\34\2" + "\2\0\1\2\4\0\5\2\1\170\7\2\1\0\2\2" + "\1\170\11\2\1\170\20\2\1\170\11\2\10\0\16\2" + "\1\170\2\2\1\0\31\2\6\0\10\2\1\0\2\2" + "\1\0\35\2\3\0\1\62\2\0\10\2\1\170\4\2" + "\2\0\10\2\1\170\14\2\6\0\7\2\1\170\1\2" - + "\1\0\1\170\4\2\1\170\17\2\1\170\2\2\1\170" + "\3\2\1\0\1\170\3\2\2\0\1\2\1\170\17\2" + "\5\0\6\2\1\0\1\2\1\0\3\2\1\170\3\2" - + "\1\170\17\2\2\0\3\2\2\0\16\2\4\0\2\2" + "\1\170\3\2\2\0\25\2\2\0\2\2\2\0\1\170" + "\11\2\1\170\2\2\3\0\4\2\2\0\22\2\5\0" - + "\1\2\3\0\10\2\1\0\1\2\3\0\4\2\2\0" + "\15\2\4\0\1\2\2\0\10\2\1\0\1\2\3\0" + "\3\2\2\0\7\2\6\0\5\2\1\0\1\170\3\0" - + "\2\2\2\0\2\2\1\170\3\2\6\0\3\2\5\0" + "\2\2\2\0\2\2\1\0\1\170\2\2\5\0\2\2" + "\3\0\1\2\2\0\2\2\2\0\1\2\5\0\1\2" + + "\1\0\1\170\4\2\1\170\17\2\1\170\2\2\1\170" + "\3\2\1\0\1\170\3\2\2\0\1\2\1\170\17\2" + + "\5\0\6\2\1\0\1\2\1\0\3\2\1\170\3\2" + "\1\170\17\2\2\0\3\2\2\0\16\2\4\0\2\2" + + "\1\170\3\2\2\0\25\2\2\0\2\2\2\0\1\170" + "\11\2\1\170\2\2\3\0\4\2\2\0\22\2\5\0" + + "\1\2\3\0\10\2\1\0\1\2\3\0\4\2\2\0" + "\15\2\4\0\1\2\2\0\10\2\1\0\1\2\3\0" + + "\3\2\2\0\7\2\6\0\5\2\1\0\1\170\3\0" + "\2\2\2\0\2\2\1\170\3\2\6\0\3\2\5\0" + + "\2\2\2\0\2\2\1\0\1\170\2\2\5\0\2\2" + "\3\0\1\2\2\0\2\2\2\0\1\2\5\0\1\2" + "\3\0\1\2\2\0\1\2\11\0\1\2\2\0\1\2" + "\16\0\1\170\43\0"; - + private static int[] zzUnpackAction() { int[] result = new int[2711]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -169,7 +176,7 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -513,14 +520,14 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\3\ub880\3\ub8e0\3\ub940\3\ub9a0\3\uba00\3\uba60\3\ubac0\3\ubb20" + "\3\ubb80\3\ubbe0\3\ubc40\3\ubca0\3\ubd00\3\ubd60\3\ubdc0\3\ube20" + "\3\ube80\3\ubee0\3\ubf40\3\ubfa0\3\uc000\3\uc060\3\uc0c0"; - + private static int[] zzUnpackRowMap() { int[] result = new int[2711]; 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 */ @@ -531,7 +538,7 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * The transition table of the DFA */ @@ -551,7 +558,8 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\1\165\1\141\1\152\1\146\1\152\1\166\2\152\1\167" + "\1\170\1\171\1\172\1\173\1\174\1\175\1\145\1\146" + "\3\66\1\176\1\177\1\141\2\152\1\200\1\152\1\201" + "\1\202\1\203\1\204\3\152\1\205\1\206\1\152\4\175" + "\1\152\1\207\7\152\1\155\5\152\2\155\2\210\1\211" + "\5\210\1\212\26\210\1\213\100\210\2\214\1\215\6\214" - + "\1\216\25\214\1\217\100\214\2\220\1\221\1\222\40\220" + "\1\223\4\220\1\224\26\220\1\225\7\220\1\226\27\220" + + "\1\216\25\214\1\217\100\214\2\220\1\221\1\222\40\220" + + "\1\223\4\220\1\224\26\220\1\225\7\220\1\226\27\220" + "\2\227\1\230\1\231\40\227\1\232\33\227\1\233\7\227" + "\1\234\27\227\2\47\1\235\33\47\1\236\5\47\1\52" + "\33\47\1\53\7\47\1\54\27\47\2\237\1\240\1\241" + "\40\237\1\242\4\237\1\243\22\237\1\244\3\237\1\245" + "\7\237\1\246\4\237\1\247\22\237\1\250\1\45\1\251" + "\1\252\1\45\1\144\1\145\1\146\1\253\1\254\1\255" @@ -568,177 +576,206 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\2\360\1\364\3\360\1\364\1\360\2\364\1\360\5\364" + "\4\360\1\365\4\364\2\360\4\364\1\366\3\360\1\367" + "\4\360\16\364\4\360\11\364\1\360\5\364\2\360\1\370" + "\1\65\1\371\1\372\1\65\1\370\1\373\1\370\1\350" + "\1\351\1\374\6\375\1\370\3\375\1\370\1\376\1\375" + "\3\377\1\375\1\377\1\375\1\u0100\6\375\1\377\1\370" - + "\1\u0101\2\370\4\375\1\370\1\145\4\375\1\366\1\145" + "\7\370\16\375\1\370\1\u0102\1\370\1\u0103\11\375\1\377" - + "\5\375\2\377\2\210\1\u0104\5\210\1\u0105\26\210\1\u0106" + "\100\210\2\214\1\u0107\6\214\1\u0108\25\214\1\u0106\100\214" - + "\2\330\1\u0109\41\330\1\223\4\330\1\u010a\26\330\1\225" + "\7\330\1\226\27\330\2\u010b\1\u010c\34\u010b\1\u010d\10\u010b" - + "\1\u010e\22\u010b\1\u010f\44\u010b\2\u0110\1\u0111\45\u0110\1\u0112" + "\13\u0110\1\u0113\53\u0110\2\41\4\0\133\41\1\42\2\0" - + "\1\45\1\0\132\41\152\0\1\u0114\1\u0115\5\u0116\1\0" + "\3\u0116\1\u0117\1\u0118\6\u0116\3\0\6\u0116\4\0\4\u0116" + + "\1\u0101\2\370\4\375\1\370\1\145\4\375\1\366\1\145" + + "\7\370\16\375\1\370\1\u0102\1\370\1\u0103\11\375\1\377" + + "\5\375\2\377\2\210\1\u0104\5\210\1\u0105\26\210\1\u0106" + + "\100\210\2\214\1\u0107\6\214\1\u0108\25\214\1\u0106\100\214" + + "\2\330\1\u0109\41\330\1\223\4\330\1\u010a\26\330\1\225" + + "\7\330\1\226\27\330\2\u010b\1\u010c\34\u010b\1\u010d\10\u010b" + + "\1\u010e\22\u010b\1\u010f\44\u010b\2\u0110\1\u0111\45\u0110\1\u0112" + + "\13\u0110\1\u0113\53\u0110\2\41\4\0\133\41\1\42\2\0" + + "\1\45\1\0\132\41\152\0\1\u0114\1\u0115\5\u0116\1\0" + + "\3\u0116\1\u0117\1\u0118\6\u0116\3\0\6\u0116\4\0\4\u0116" + "\2\0\3\u0116\1\u0115\3\0\1\u0119\5\0\16\u0116\4\0" + "\21\u0116\1\0\1\45\2\0\1\45\133\0\4\46\1\0" + "\1\46\1\u011a\131\46\2\47\1\0\33\47\1\0\5\47" + "\1\0\33\47\1\0\7\47\1\0\27\47\36\0\1\u011b" + "\143\0\1\u011c\37\0\1\u011d\77\0\1\u011e\205\0\1\u011f" + "\27\0\2\55\1\0\64\55\1\0\50\55\21\0\1\u0120" + "\116\0\2\60\1\0\16\60\1\0\116\60\2\63\1\0" + "\1\63\1\0\2\63\4\0\6\63\1\0\120\63\1\0" + "\1\63\1\0\2\63\4\0\6\63\1\0\3\63\1\u0121" + "\112\63\21\0\1\72\116\0\2\73\1\0\1\73\1\0" + "\2\73\4\0\6\73\1\0\120\73\1\0\1\73\1\0" + "\2\73\4\0\1\73\1\u0122\2\73\1\u0123\1\u0124\1\0" - + "\2\73\1\u0125\6\73\1\u0126\4\73\1\u0127\1\73\1\u0124" + "\15\73\1\u0125\1\u0126\13\73\1\u0128\1\73\1\u0122\4\73" + + "\2\73\1\u0125\6\73\1\u0126\4\73\1\u0127\1\73\1\u0124" + + "\15\73\1\u0125\1\u0126\13\73\1\u0128\1\73\1\u0122\4\73" + "\1\u0123\1\73\1\u0129\10\73\1\u0128\1\73\1\u0129\1\u0127" + "\17\73\1\0\1\73\1\0\2\73\4\0\3\73\1\u012a" - + "\2\73\1\0\2\73\1\u012b\6\73\1\u012c\24\73\1\u012b" + "\1\u012c\13\73\1\u012d\4\73\1\u012a\14\73\1\u012d\22\73" - + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\16\73" + "\1\u012e\61\73\1\u012e\17\73\1\0\1\73\1\0\2\73" - + "\4\0\1\u012f\5\73\1\0\1\73\1\u0130\17\73\1\u0131" + "\1\u0132\10\73\1\u0132\4\73\1\u0130\1\u012f\22\73\1\u0133" + + "\2\73\1\0\2\73\1\u012b\6\73\1\u012c\24\73\1\u012b" + + "\1\u012c\13\73\1\u012d\4\73\1\u012a\14\73\1\u012d\22\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\16\73" + + "\1\u012e\61\73\1\u012e\17\73\1\0\1\73\1\0\2\73" + "\4\0\1\u012f\5\73\1\0\1\73\1\u0130\17\73\1\u0131" + + "\1\u0132\10\73\1\u0132\4\73\1\u0130\1\u012f\22\73\1\u0133" + "\11\73\1\u0131\1\u0133\20\73\1\0\1\73\1\0\2\73" + "\4\0\2\73\1\u0134\3\73\1\0\1\73\1\u0135\7\73" + "\1\u0136\5\73\1\u0134\17\73\1\u0136\1\u0135\57\73\1\0" + "\1\73\1\0\2\73\4\0\2\73\1\120\1\u0137\1\73" + "\1\120\1\0\2\73\1\u0138\6\73\1\u0139\5\73\2\120" + "\1\73\1\u013a\5\73\2\u013b\1\73\1\u013a\2\73\1\u0138" + "\1\u0139\16\73\1\u013c\1\120\1\u0137\4\73\1\120\17\73" + "\1\u013c\12\73\1\0\1\73\1\0\2\73\4\0\3\73" + "\1\u013d\2\73\1\0\2\73\1\u013e\6\73\1\u013f\24\73" + "\1\u013e\1\u013f\20\73\1\u013d\37\73\1\0\1\73\1\0" + "\2\73\4\0\6\73\1\0\64\73\1\u0140\2\73\1\u0141" + "\7\73\1\u0140\4\73\1\u0141\13\73\1\0\1\73\1\0" - + "\2\73\4\0\1\u0142\1\u0143\1\u0144\1\73\1\u0145\1\73" + "\1\0\16\73\1\u0146\1\u0144\10\73\2\u0147\7\73\1\u0142" + + "\2\73\4\0\1\u0142\1\u0143\1\u0144\1\73\1\u0145\1\73" + + "\1\0\16\73\1\u0146\1\u0144\10\73\2\u0147\7\73\1\u0142" + "\13\73\1\u0143\1\73\1\u0148\2\73\1\u0145\2\73\1\u0148" + "\12\73\1\u0146\17\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\1\73\1\120\36\73\1\120\57\73\1\0" + "\1\73\1\0\2\73\4\0\6\73\1\0\2\73\1\u0149" + "\6\73\1\u014a\24\73\1\u0149\1\u014a\13\73\1\u014b\21\73" + "\1\u014b\22\73\1\0\1\73\1\0\2\73\4\0\2\73" + "\1\u014c\1\u014d\2\73\1\0\17\73\1\u014c\33\73\1\u014e" + "\4\73\1\u014d\14\73\1\u014e\22\73\1\0\1\73\1\0" + "\2\73\4\0\2\73\1\120\1\u0133\2\73\1\0\1\73" + "\1\u014f\7\73\1\u0150\4\73\1\u0151\1\120\17\73\1\u0150" - + "\1\u014f\12\73\1\u0152\3\73\1\u0153\1\u0133\1\u0154\3\73" + "\1\u0153\7\73\1\u0152\2\73\1\u0151\1\u0154\16\73\1\0" - + "\1\73\1\0\2\73\4\0\4\73\1\u0155\1\73\1\0" + "\1\73\1\120\14\73\1\u0156\11\73\2\u0157\6\73\1\120" - + "\21\73\1\u0155\15\73\1\u0156\17\73\1\0\1\73\1\0" + "\2\73\4\0\2\73\1\120\2\73\1\u0158\1\0\2\73" - + "\1\u0159\5\73\1\120\6\73\1\120\1\u0158\2\73\1\120" + "\12\73\1\u0159\47\73\1\120\5\73\2\120\2\73\1\0" - + "\1\73\1\0\2\73\4\0\3\73\1\u015a\1\73\1\120" + "\1\0\1\73\1\120\1\u015b\6\73\1\u015c\6\73\1\120" - + "\1\73\1\u015d\10\73\1\u015d\2\73\1\u015b\1\u015c\1\120" + "\16\73\1\120\1\u015a\4\73\1\120\32\73\1\0\1\73" - + "\1\0\2\73\4\0\6\73\1\0\2\73\1\u015e\6\73" + "\1\u015f\4\73\1\u0160\17\73\1\u015e\1\u015f\40\73\1\u0160" - + "\17\73\1\0\1\73\1\0\2\73\4\0\3\73\1\u0161" + "\2\73\1\0\11\73\1\u0162\25\73\1\u0162\20\73\1\u0161" - + "\37\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + "\2\73\1\u0163\25\73\2\u0164\4\73\1\u0163\57\73\3\121" - + "\1\0\4\121\1\0\127\121\25\0\1\u0165\112\0\3\124" + "\1\0\5\124\1\0\126\124\1\63\1\125\1\0\1\63" - + "\1\45\2\63\4\0\6\63\1\0\116\63\21\0\1\u0166" + "\116\0\10\136\1\0\127\136\11\140\1\0\126\140\1\141" - + "\12\0\6\141\1\0\3\141\2\0\7\141\1\0\7\141" + "\1\0\2\141\1\0\4\141\2\0\4\141\10\0\17\141" - + "\4\0\21\141\3\0\1\u0167\3\0\1\66\2\0\1\u0168" + "\12\0\1\u0169\117\0\1\66\1\0\1\66\137\0\1\66" - + "\130\0\7\u016a\1\u016b\2\u016a\1\u016c\24\u016a\1\u016d\11\u016a" + "\1\u016e\66\u016a\1\141\12\0\6\152\1\0\3\152\2\0" - + "\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\3\152\1\u0170\2\152\1\0\1\141\1\152\1\0" - + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + "\7\0\1\66\11\0\1\u0171\116\0\1\u0172\12\0\6\u0172" - + "\1\0\1\u0172\1\u0173\1\u0174\2\0\1\u0172\3\155\1\u0172" + "\1\155\1\u0175\1\0\5\u0172\1\u0176\1\155\1\0\2\u0172" - + "\1\0\3\u0172\1\u0176\1\0\1\u0177\1\u0174\1\u0172\1\u0173" + "\1\u0172\10\0\5\u0172\1\u0176\5\u0172\1\u0176\3\u0172\4\0" - + "\11\u0172\1\155\5\u0172\2\155\1\u0172\12\0\6\u0172\1\0" + "\1\u0172\1\u0173\1\u0174\2\0\1\u0172\1\u0178\2\u0179\1\u0172" - + "\1\u0179\1\u017a\1\0\5\u0172\1\u0176\1\u0179\1\0\2\u0172" + "\1\0\2\u0172\1\u017b\1\u0176\1\0\1\u0177\1\u0174\1\u0172" - + "\1\u0173\1\u0172\10\0\5\u0172\1\u0176\3\u0172\1\u017b\1\u0172" + "\1\u0176\3\u0172\4\0\11\u0172\1\u0179\5\u0172\2\u0179\7\0" - + "\1\66\26\0\1\66\101\0\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u017c\2\152" - + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\1\u017d\3\152\10\0\1\141" - + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\1\152\1\u017e\4\152\1\0" - + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\1\152\1\u017f\1\152\1\u0180\12\152\4\0\21\152\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\1\u0181\5\152\1\0\1\141\1\152\1\0\4\152\2\0" - + "\1\u0182\1\u0183\2\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\1\u0184\5\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\1\152\1\u0185\1\u0186\1\152\10\0\1\141\1\u0187" + + "\1\u014f\12\73\1\u0152\3\73\1\u0153\1\u0133\1\u0154\3\73" + + "\1\u0153\7\73\1\u0152\2\73\1\u0151\1\u0154\16\73\1\0" + "\1\73\1\0\2\73\4\0\4\73\1\u0155\1\73\1\0" + + "\1\73\1\120\14\73\1\u0156\11\73\2\u0157\6\73\1\120" + "\21\73\1\u0155\15\73\1\u0156\17\73\1\0\1\73\1\0" + + "\2\73\4\0\2\73\1\120\2\73\1\u0158\1\0\2\73" + "\1\u0159\5\73\1\120\6\73\1\120\1\u0158\2\73\1\120" + + "\12\73\1\u0159\47\73\1\120\5\73\2\120\2\73\1\0" + "\1\73\1\0\2\73\4\0\3\73\1\u015a\1\73\1\120" + + "\1\0\1\73\1\120\1\u015b\6\73\1\u015c\6\73\1\120" + + "\1\73\1\u015d\10\73\1\u015d\2\73\1\u015b\1\u015c\1\120" + + "\16\73\1\120\1\u015a\4\73\1\120\32\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\2\73\1\u015e\6\73" + + "\1\u015f\4\73\1\u0160\17\73\1\u015e\1\u015f\40\73\1\u0160" + "\17\73\1\0\1\73\1\0\2\73\4\0\3\73\1\u0161" + + "\2\73\1\0\11\73\1\u0162\25\73\1\u0162\20\73\1\u0161" + "\37\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + + "\2\73\1\u0163\25\73\2\u0164\4\73\1\u0163\57\73\3\121" + "\1\0\4\121\1\0\127\121\25\0\1\u0165\112\0\3\124" + + "\1\0\5\124\1\0\126\124\1\63\1\125\1\0\1\63" + "\1\45\2\63\4\0\6\63\1\0\116\63\21\0\1\u0166" + + "\116\0\10\136\1\0\127\136\11\140\1\0\126\140\1\141" + "\12\0\6\141\1\0\3\141\2\0\7\141\1\0\7\141" + + "\1\0\2\141\1\0\4\141\2\0\4\141\10\0\17\141" + "\4\0\21\141\3\0\1\u0167\3\0\1\66\2\0\1\u0168" + + "\12\0\1\u0169\117\0\1\66\1\0\1\66\137\0\1\66" + + "\130\0\7\u016a\1\u016b\2\u016a\1\u016c\24\u016a\1\u016d\11\u016a" + + "\1\u016e\66\u016a\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0" + + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\3\152\1\u0170\2\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + + "\7\0\1\66\11\0\1\u0171\116\0\1\u0172\12\0\6\u0172" + + "\1\0\1\u0172\1\u0173\1\u0174\2\0\1\u0172\3\155\1\u0172" + + "\1\155\1\u0175\1\0\5\u0172\1\u0176\1\155\1\0\2\u0172" + + "\1\0\3\u0172\1\u0176\1\0\1\u0177\1\u0174\1\u0172\1\u0173" + + "\1\u0172\10\0\5\u0172\1\u0176\5\u0172\1\u0176\3\u0172\4\0" + + "\11\u0172\1\155\5\u0172\2\155\1\u0172\12\0\6\u0172\1\0" + + "\1\u0172\1\u0173\1\u0174\2\0\1\u0172\1\u0178\2\u0179\1\u0172" + + "\1\u0179\1\u017a\1\0\5\u0172\1\u0176\1\u0179\1\0\2\u0172" + + "\1\0\2\u0172\1\u017b\1\u0176\1\0\1\u0177\1\u0174\1\u0172" + + "\1\u0173\1\u0172\10\0\5\u0172\1\u0176\3\u0172\1\u017b\1\u0172" + + "\1\u0176\3\u0172\4\0\11\u0172\1\u0179\5\u0172\2\u0179\7\0" + "\1\66\26\0\1\66\101\0\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u017c\2\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\1\u017d\3\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + + "\2\0\7\152\1\0\1\u016f\1\152\1\u017e\4\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + + "\1\152\1\u017f\1\152\1\u0180\12\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\1\u0181\5\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\1\u0182\1\u0183\2\152\10\0\1\141\16\152\4\0\21\152" + + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\1\u0184\5\152\1\0\1\141\1\152\1\0\4\152" + + "\2\0\1\152\1\u0185\1\u0186\1\152\10\0\1\141\1\u0187" + "\4\152\1\u0188\10\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\1\152\1\u0189" + "\4\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\1\u018a\1\u018b\14\152\4\0\21\152\7\0" + "\1\66\46\0\1\66\111\0\3\u0177\1\0\1\u0177\10\0" + "\1\u0177\62\0\1\u0177\5\0\2\u0177\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u018c" + "\2\152\1\0\1\141\1\152\1\0\4\152\2\0\1\152" - + "\1\u018d\1\u018e\1\u018f\10\0\1\141\10\152\1\u0190\3\152" + "\1\u0191\1\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\1\152\1\u0192\2\152\2\0\4\152\10\0" - + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\1\u0193\3\152\10\0\1\141" + "\1\u0194\15\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\1\u0195\1\152\1\u0196" + "\3\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" - + "\10\0\1\141\1\152\1\u0197\1\152\1\u0198\7\152\1\u0199" + "\2\152\4\0\21\152\7\0\1\66\62\0\1\66\45\0" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" - + "\1\152\1\u019a\1\u019b\1\152\10\0\1\141\1\u019c\2\152" + "\1\u019d\12\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\1\u019e\3\152\10\0\1\141" - + "\1\u019f\15\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u01a0\1\u01a1" - + "\1\152\1\0\1\141\1\152\1\0\4\152\2\0\3\152" + "\1\u01a2\10\0\1\141\11\152\1\u01a3\4\152\4\0\21\152" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" - + "\4\152\10\0\1\141\1\u01a4\15\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\1\u01a5\1\u01a6\4\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\1\152\1\u01a7\2\152\10\0\1\141\16\152\4\0" - + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\4\152\10\0\1\141\3\152\1\u01a8\1\152\1\u01a9" + "\10\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" - + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\1\152\1\u0187\2\152\10\0\1\141" - + "\1\u01aa\15\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\1\152\1\u01ab\2\152\10\0" + "\1\141\16\152\4\0\21\152\2\210\1\0\5\210\1\0" - + "\26\210\1\0\100\210\2\u01ac\1\0\35\u01ac\1\u01ad\44\u01ac" + "\1\u01ae\32\u01ac\2\214\1\0\6\214\1\0\25\214\1\0" - + "\100\214\2\220\2\0\40\220\1\0\4\220\1\0\26\220" + "\1\0\7\220\1\0\27\220\12\0\1\u01af\167\0\1\u01b0" + + "\1\u018d\1\u018e\1\u018f\10\0\1\141\10\152\1\u0190\3\152" + + "\1\u0191\1\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\1\152\1\u0192\2\152\2\0\4\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\1\u0193\3\152\10\0\1\141" + + "\1\u0194\15\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\1\u0195\1\152\1\u0196" + + "\3\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\1\152\1\u0197\1\152\1\u0198\7\152\1\u0199" + + "\2\152\4\0\21\152\7\0\1\66\62\0\1\66\45\0" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\1\152\1\u019a\1\u019b\1\152\10\0\1\141\1\u019c\2\152" + + "\1\u019d\12\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\1\u019e\3\152\10\0\1\141" + "\1\u019f\15\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u01a0\1\u01a1" + "\1\152\1\0\1\141\1\152\1\0\4\152\2\0\3\152" + + "\1\u01a2\10\0\1\141\11\152\1\u01a3\4\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\4\152\10\0\1\141\1\u01a4\15\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\1\u01a5\1\u01a6\4\152\1\0\1\141\1\152\1\0\4\152" + + "\2\0\1\152\1\u01a7\2\152\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\3\152\1\u01a8\1\152\1\u01a9" + + "\10\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + + "\1\0\4\152\2\0\1\152\1\u0187\2\152\10\0\1\141" + "\1\u01aa\15\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\1\152\1\u01ab\2\152\10\0" + + "\1\141\16\152\4\0\21\152\2\210\1\0\5\210\1\0" + + "\26\210\1\0\100\210\2\u01ac\1\0\35\u01ac\1\u01ad\44\u01ac" + + "\1\u01ae\32\u01ac\2\214\1\0\6\214\1\0\25\214\1\0" + "\100\214\2\220\2\0\40\220\1\0\4\220\1\0\26\220" + + "\1\0\7\220\1\0\27\220\12\0\1\u01af\167\0\1\u01b0" + "\37\0\1\u01b1\47\0\1\u01b2\167\0\1\u01b3\205\0\1\u01b4" + "\27\0\2\227\2\0\40\227\1\0\33\227\1\0\7\227" - + "\1\0\27\227\12\0\1\u01b5\167\0\1\u01b6\37\0\1\u01b7" + "\77\0\1\u01b8\205\0\1\u01b9\65\0\1\u01ba\101\0\2\237" - + "\2\0\40\237\1\0\4\237\1\0\22\237\1\0\3\237" + "\1\0\7\237\1\0\4\237\1\0\22\237\12\0\1\u01bb" - + "\6\u01bc\1\u01bd\3\u01bc\2\0\1\u01bc\3\0\1\u01bc\4\0" + "\5\u01bc\5\0\4\u01bc\2\0\4\u01bc\11\0\16\u01bc\4\0" - + "\11\u01bc\1\0\5\u01bc\44\0\1\u01be\37\0\1\u01bf\47\0" + "\1\u01c0\166\0\1\u01c1\1\u01c2\15\0\1\u01c3\1\u01c4\1\0" - + "\1\u01c5\11\0\1\u01c6\1\0\1\u01c7\1\0\1\u01c8\1\u01c9" + "\1\0\1\u01ca\4\0\1\u01cb\70\0\1\u01cc\205\0\1\u01cd" - + "\123\0\1\u01ce\43\0\1\250\12\0\6\250\1\0\3\250" + "\2\0\7\250\1\0\7\250\1\0\2\250\1\0\4\250" - + "\2\0\4\250\7\0\20\250\4\0\21\250\3\0\1\u0167" + "\3\0\1\66\130\0\2\253\1\u01cf\5\253\1\u01d0\26\253" - + "\1\u01d1\100\253\2\u01d2\1\u01d3\6\u01d2\1\u01d4\25\u01d2\1\u01d5" + "\100\u01d2\7\0\1\66\2\0\1\u01d6\36\0\1\u01d7\66\0" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\2\264\1\u01d9\3\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\1\u01da\3\264\7\0\2\250\1\u01db\1\u01dc" + "\1\u01dd\1\u01de\1\264\1\u01df\1\264\1\u01e0\6\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\u01e1\5\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\1\264\1\u01e2\1\u01e3\1\264\7\0\2\250" + "\1\u01e4\2\264\1\u01e5\12\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u01e6" + "\5\264\1\0\1\250\1\264\1\0\4\264\2\0\1\u01e7" - + "\1\u01e8\2\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\2\264\1\u01e9\1\u01ea\2\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\2\264\1\u01eb\1\264\7\0\2\250\4\264" - + "\1\u01ec\11\264\4\0\1\u01ed\20\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u01ee\1\u01ef" - + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\1\264" + "\1\u01f0\2\264\7\0\2\250\5\264\1\u01f1\10\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\264\1\u01f2\4\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\1\u01f3\1\u01f4" + "\1\264\1\u01f5\1\264\1\u01f6\10\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\1\u01f7\4\264\1\u01f8\10\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + "\1\u01f9\1\264\1\u01fa\2\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\10\264\1\u01fb\1\u01fc" + "\2\264\1\u01fd\1\264\4\0\1\u01fe\20\264\7\0\1\66" - + "\11\0\1\u01ff\116\0\1\u0200\12\0\6\u0200\1\0\1\u0200" + "\1\u0201\1\u0202\2\0\1\u0200\3\270\1\u0200\1\270\1\u0203" - + "\1\0\5\u0200\1\u0204\1\270\1\0\2\u0200\1\0\3\u0200" + "\1\u0204\1\0\1\u0177\1\u0202\1\u0200\1\u0201\1\u0200\7\0" - + "\1\250\5\u0200\1\u0204\5\u0200\1\u0204\3\u0200\4\0\11\u0200" + "\1\270\5\u0200\2\270\1\u0200\12\0\6\u0200\1\0\1\u0200" - + "\1\u0201\1\u0202\2\0\1\u0200\1\u0205\2\u0206\1\u0200\1\u0206" + "\1\u0207\1\0\5\u0200\1\u0204\1\u0206\1\0\2\u0200\1\0" - + "\2\u0208\1\u0209\1\u0204\1\0\1\u0177\1\u0202\1\u0200\1\u0201" + "\1\u0200\7\0\1\250\5\u0200\1\u0204\3\u0200\1\u0209\1\u0200" - + "\1\u0204\3\u0200\4\0\11\u0200\1\u0206\5\u0200\2\u0206\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\1\u020a\1\u020b\4\264\1\0\1\250\1\264\1\0\1\264" + "\1\u020c\2\264\2\0\3\264\1\u020d\7\0\2\250\7\264" - + "\1\u020e\6\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\u020f\3\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0210\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\3\264\1\u0211\12\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u0212\5\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\1\u0213\1\u0214" + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u0215" - + "\1\u0216\1\264\7\0\2\250\1\u0217\4\264\1\u0218\10\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\1\u0219\5\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\264\1\u021a\2\264\7\0\2\250" - + "\1\u021b\1\u021c\3\264\1\u021d\10\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\1\264\1\u021e\4\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\1\u021f\1\u0220\14\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\2\264\1\u0221\1\264\7\0\2\250\1\u0222\4\264" + "\1\u0223\10\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u0224\2\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\2\264\1\u0225" - + "\1\264\7\0\2\250\10\264\1\u0226\5\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\1\264\1\u0227" + "\2\264\2\0\3\264\1\u0228\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\1\u0229\15\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\1\u022a\1\264\1\u022b\3\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\1\264\1\u022c" - + "\1\264\1\u022d\7\264\1\u022e\2\264\4\0\21\264\1\250" + "\12\0\6\u022f\1\0\3\u022f\2\0\1\u022f\3\250\1\u022f" - + "\1\250\1\u022f\1\0\1\250\5\u022f\1\250\1\0\1\250" + "\1\u022f\1\0\4\u022f\2\0\4\u022f\7\0\2\250\16\u022f" - + "\4\0\11\u022f\1\250\5\u022f\3\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\264\1\u0230\1\u0231\1\264" + "\7\0\2\250\1\u0232\2\264\1\u0233\12\264\4\0\21\264" + + "\1\0\27\227\12\0\1\u01b5\167\0\1\u01b6\37\0\1\u01b7" + + "\77\0\1\u01b8\205\0\1\u01b9\65\0\1\u01ba\101\0\2\237" + "\2\0\40\237\1\0\4\237\1\0\22\237\1\0\3\237" + + "\1\0\7\237\1\0\4\237\1\0\22\237\12\0\1\u01bb" + "\6\u01bc\1\u01bd\3\u01bc\2\0\1\u01bc\3\0\1\u01bc\4\0" + + "\5\u01bc\5\0\4\u01bc\2\0\4\u01bc\11\0\16\u01bc\4\0" + + "\11\u01bc\1\0\5\u01bc\44\0\1\u01be\37\0\1\u01bf\47\0" + + "\1\u01c0\166\0\1\u01c1\1\u01c2\15\0\1\u01c3\1\u01c4\1\0" + + "\1\u01c5\11\0\1\u01c6\1\0\1\u01c7\1\0\1\u01c8\1\u01c9" + + "\1\0\1\u01ca\4\0\1\u01cb\70\0\1\u01cc\205\0\1\u01cd" + "\123\0\1\u01ce\43\0\1\250\12\0\6\250\1\0\3\250" + + "\2\0\7\250\1\0\7\250\1\0\2\250\1\0\4\250" + "\2\0\4\250\7\0\20\250\4\0\21\250\3\0\1\u0167" + + "\3\0\1\66\130\0\2\253\1\u01cf\5\253\1\u01d0\26\253" + + "\1\u01d1\100\253\2\u01d2\1\u01d3\6\u01d2\1\u01d4\25\u01d2\1\u01d5" + + "\100\u01d2\7\0\1\66\2\0\1\u01d6\36\0\1\u01d7\66\0" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\2\264\1\u01d9\3\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\u01da\3\264\7\0\2\250\1\u01db\1\u01dc" + + "\1\u01dd\1\u01de\1\264\1\u01df\1\264\1\u01e0\6\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\1\u01e1\5\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\264\1\u01e2\1\u01e3\1\264\7\0\2\250" + + "\1\u01e4\2\264\1\u01e5\12\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u01e6" + + "\5\264\1\0\1\250\1\264\1\0\4\264\2\0\1\u01e7" + "\1\u01e8\2\264\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\2\264\1\u01e9\1\u01ea\2\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\2\264\1\u01eb\1\264\7\0\2\250\4\264" + "\1\u01ec\11\264\4\0\1\u01ed\20\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u01ee\1\u01ef" + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\1\264" + + "\1\u01f0\2\264\7\0\2\250\5\264\1\u01f1\10\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\1\264\1\u01f2\4\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\1\u01f3\1\u01f4" + + "\1\264\1\u01f5\1\264\1\u01f6\10\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\1\u01f7\4\264\1\u01f8\10\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + + "\1\u01f9\1\264\1\u01fa\2\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\10\264\1\u01fb\1\u01fc" + + "\2\264\1\u01fd\1\264\4\0\1\u01fe\20\264\7\0\1\66" + + "\11\0\1\u01ff\116\0\1\u0200\12\0\6\u0200\1\0\1\u0200" + + "\1\u0201\1\u0202\2\0\1\u0200\3\270\1\u0200\1\270\1\u0203" + + "\1\0\5\u0200\1\u0204\1\270\1\0\2\u0200\1\0\3\u0200" + + "\1\u0204\1\0\1\u0177\1\u0202\1\u0200\1\u0201\1\u0200\7\0" + + "\1\250\5\u0200\1\u0204\5\u0200\1\u0204\3\u0200\4\0\11\u0200" + + "\1\270\5\u0200\2\270\1\u0200\12\0\6\u0200\1\0\1\u0200" + + "\1\u0201\1\u0202\2\0\1\u0200\1\u0205\2\u0206\1\u0200\1\u0206" + + "\1\u0207\1\0\5\u0200\1\u0204\1\u0206\1\0\2\u0200\1\0" + + "\2\u0208\1\u0209\1\u0204\1\0\1\u0177\1\u0202\1\u0200\1\u0201" + + "\1\u0200\7\0\1\250\5\u0200\1\u0204\3\u0200\1\u0209\1\u0200" + + "\1\u0204\3\u0200\4\0\11\u0200\1\u0206\5\u0200\2\u0206\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\1\u020a\1\u020b\4\264\1\0\1\250\1\264\1\0\1\264" + + "\1\u020c\2\264\2\0\3\264\1\u020d\7\0\2\250\7\264" + "\1\u020e\6\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\u020f\3\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0210\4\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\3\264\1\u0211\12\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u0212\5\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\u0213\1\u0214" + + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u0215" + "\1\u0216\1\264\7\0\2\250\1\u0217\4\264\1\u0218\10\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\1\u0219\5\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\1\264\1\u021a\2\264\7\0\2\250" + "\1\u021b\1\u021c\3\264\1\u021d\10\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\1\264\1\u021e\4\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\4\264\7\0\2\250\1\u021f\1\u0220\14\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\2\264\1\u0221\1\264\7\0\2\250\1\u0222\4\264" + + "\1\u0223\10\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u0224\2\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\2\264\1\u0225" + "\1\264\7\0\2\250\10\264\1\u0226\5\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\1\264\1\u0227" + + "\2\264\2\0\3\264\1\u0228\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\1\u0229\15\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\1\u022a\1\264\1\u022b\3\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\1\264\1\u022c" + "\1\264\1\u022d\7\264\1\u022e\2\264\4\0\21\264\1\250" + + "\12\0\6\u022f\1\0\3\u022f\2\0\1\u022f\3\250\1\u022f" + "\1\250\1\u022f\1\0\1\250\5\u022f\1\250\1\0\1\250" + + "\1\u022f\1\0\4\u022f\2\0\4\u022f\7\0\2\250\16\u022f" + "\4\0\11\u022f\1\250\5\u022f\3\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u0230\1\u0231\1\264" + + "\7\0\2\250\1\u0232\2\264\1\u0233\12\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\u0234\3\264\7\0\2\250\1\u0235\15\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\3\264\1\u0236\1\u0237\1\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0238" + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\1\u0239\15\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\1\u023a\1\u023b\4\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\1\264\1\u023c\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\1\u023d\5\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\u023e\1\u023f\2\264" + + "\7\0\2\250\1\u0240\4\264\1\u0241\10\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\3\264\1\u0242\12\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\1\u0234\3\264\7\0\2\250\1\u0235\15\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\3\264\1\u0236\1\u0237\1\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0238" - + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\1\u0239\15\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\1\u023a\1\u023b\4\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u023c\2\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\1\u023d\5\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\1\u023e\1\u023f\2\264" + "\7\0\2\250\1\u0240\4\264\1\u0241\10\264\4\0\21\264" + + "\4\264\7\0\2\250\1\u0243\15\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\1\u0244\5\264\1\0\1\250\1\264\1\0\1\264\1\u0245" + "\2\264\2\0\4\264\7\0\2\250\7\264\1\u0246\6\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\1\u0247\5\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\1\u0248\1\u0249\2\264\7\0\2\250" + "\1\u024a\15\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u024b\2\264\7\0" + + "\2\250\5\264\1\u024c\10\264\4\0\21\264\1\250\12\0" + "\5\264\1\u024d\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\3\264\1\u024e\2\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\3\264\1\u024f" + + "\15\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\264\1\u0250\4\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\1\u0251\5\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\4\264\7\0\2\250\3\264\1\u0242\12\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\1\u0243\15\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\1\u0244\5\264\1\0\1\250\1\264\1\0\1\264\1\u0245" - + "\2\264\2\0\4\264\7\0\2\250\7\264\1\u0246\6\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\1\u0247\5\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u0248\1\u0249\2\264\7\0\2\250" - + "\1\u024a\15\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\264\1\u024b\2\264\7\0" + "\2\250\5\264\1\u024c\10\264\4\0\21\264\1\250\12\0" - + "\5\264\1\u024d\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\3\264\1\u024e\2\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\16\264\4\0\3\264\1\u024f" + "\15\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\1\264\1\u0250\4\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\u0251\5\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\u0252\3\264\7\0\2\250\1\u0253\4\264\1\u0254\10\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\1\264\1\u0255\2\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\1\264\1\u0256\4\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\u0257\3\264\7\0\2\250" - + "\16\264\4\0\21\264\2\330\1\0\41\330\1\0\4\330" + "\1\0\26\330\1\0\7\330\1\0\27\330\12\0\1\u0258" - + "\125\0\2\333\1\0\1\333\1\0\2\333\4\0\6\333" + "\1\0\117\333\1\334\1\0\1\333\1\45\2\333\4\0" - + "\6\333\1\0\116\333\10\335\1\u01d0\127\335\11\336\1\u0259" + "\126\336\2\333\1\0\1\333\1\0\2\333\4\0\6\333" - + "\1\72\120\333\1\0\1\333\1\0\2\333\4\0\6\333" + "\1\0\37\333\1\u025a\60\333\1\0\1\333\1\0\2\333" - + "\4\0\6\333\1\0\21\333\1\u025b\76\333\1\0\1\333" + "\1\0\2\333\4\0\6\333\1\0\37\333\1\u025c\56\333" - + "\12\0\1\u025d\176\0\1\u025e\101\0\6\353\1\0\3\353" + "\2\0\10\353\1\0\6\353\4\0\4\353\1\0\5\353" - + "\11\0\16\353\4\0\21\353\13\0\6\u025f\1\0\3\u025f" + "\2\0\1\u025f\3\0\1\u025f\1\0\2\u025f\1\0\5\u025f" - + "\4\0\5\u025f\1\0\5\u025f\11\0\16\u025f\4\0\11\u025f" + "\1\0\5\u025f\43\0\1\u0260\1\u0261\1\u0262\1\u0263\13\0" - + "\1\u0264\1\u0265\1\u0266\5\0\1\u0267\4\0\1\u0268\1\0" + "\1\u0269\1\u026a\1\u026b\7\0\1\u026c\41\0\6\u026d\1\0" + + "\1\u0252\3\264\7\0\2\250\1\u0253\4\264\1\u0254\10\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\264\1\u0255\2\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\1\264\1\u0256\4\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\1\u0257\3\264\7\0\2\250" + "\16\264\4\0\21\264\2\330\1\0\41\330\1\0\4\330" + + "\1\0\26\330\1\0\7\330\1\0\27\330\12\0\1\u0258" + "\125\0\2\333\1\0\1\333\1\0\2\333\4\0\6\333" + + "\1\0\117\333\1\334\1\0\1\333\1\45\2\333\4\0" + "\6\333\1\0\116\333\10\335\1\u01d0\127\335\11\336\1\u0259" + + "\126\336\2\333\1\0\1\333\1\0\2\333\4\0\6\333" + "\1\72\120\333\1\0\1\333\1\0\2\333\4\0\6\333" + + "\1\0\37\333\1\u025a\60\333\1\0\1\333\1\0\2\333" + "\4\0\6\333\1\0\21\333\1\u025b\76\333\1\0\1\333" + + "\1\0\2\333\4\0\6\333\1\0\37\333\1\u025c\56\333" + "\12\0\1\u025d\176\0\1\u025e\101\0\6\353\1\0\3\353" + + "\2\0\10\353\1\0\6\353\4\0\4\353\1\0\5\353" + "\11\0\16\353\4\0\21\353\13\0\6\u025f\1\0\3\u025f" + + "\2\0\1\u025f\3\0\1\u025f\1\0\2\u025f\1\0\5\u025f" + "\4\0\5\u025f\1\0\5\u025f\11\0\16\u025f\4\0\11\u025f" + + "\1\0\5\u025f\43\0\1\u0260\1\u0261\1\u0262\1\u0263\13\0" + + "\1\u0264\1\u0265\1\u0266\5\0\1\u0267\4\0\1\u0268\1\0" + + "\1\u0269\1\u026a\1\u026b\7\0\1\u026c\41\0\6\u026d\1\0" + "\3\u026d\2\0\1\u026d\3\0\1\u026d\1\0\2\u026d\1\0" + "\5\u026d\4\0\5\u026d\1\0\5\u026d\11\0\16\u026d\4\0" + "\11\u026d\1\0\5\u026d\15\0\6\364\1\0\3\364\2\0" + "\10\364\1\0\6\364\4\0\4\364\2\0\4\364\11\0" + "\16\364\4\0\21\364\13\0\6\364\1\0\3\364\2\0" + "\1\364\3\0\1\364\1\0\2\364\1\0\5\364\5\0" @@ -750,12 +787,17 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\7\375\1\0\3\375\2\0\1\375\3\377\1\375\1\377" + "\10\375\1\377\4\0\4\375\2\0\4\375\11\0\16\375" + "\3\0\1\u0103\11\375\1\377\5\375\2\377\14\0\1\u0275" + "\7\0\1\u0275\3\0\5\u0275\7\0\2\u0275\4\0\2\u0275" + "\1\0\1\u0275\2\0\2\u0275\15\0\1\u0275\1\0\1\u0275" + "\5\0\1\u0275\20\0\1\u0275\5\0\2\u0275\2\u0276\1\0" - + "\135\u0276\12\0\1\u0277\125\0\2\u010b\1\0\34\u010b\1\0" + "\10\u010b\1\0\22\u010b\1\0\44\u010b\115\0\1\u0278\22\0" - + "\2\u0110\1\0\45\u0110\1\0\13\u0110\1\0\53\u0110\115\0" + "\1\u0279\35\0\6\u027a\1\0\3\u027a\2\0\6\u027a\3\0" - + "\6\u027a\4\0\4\u027a\2\0\4\u027a\11\0\16\u027a\4\0" + "\21\u027a\13\0\1\u0116\1\u027b\3\u0116\1\u027c\1\0\3\u0116" - + "\2\0\6\u0116\3\0\2\u0116\1\u027c\3\u0116\4\0\4\u0116" + "\2\0\4\u0116\11\0\2\u0116\1\u027b\13\u0116\4\0\21\u0116" - + "\13\0\6\u0116\1\0\3\u0116\2\0\6\u0116\3\0\6\u0116" + "\4\0\4\u0116\2\0\4\u0116\11\0\16\u0116\4\0\21\u0116" - + "\7\0\1\u027d\16\0\1\u027d\7\0\1\u027e\35\0\1\u027f" + "\101\0\1\u0280\122\0\1\u0281\222\0\1\u0282\115\0\1\u0283" + + "\135\u0276\12\0\1\u0277\125\0\2\u010b\1\0\34\u010b\1\0" + + "\10\u010b\1\0\22\u010b\1\0\44\u010b\115\0\1\u0278\22\0" + + "\2\u0110\1\0\45\u0110\1\0\13\u0110\1\0\53\u0110\115\0" + + "\1\u0279\35\0\6\u027a\1\0\3\u027a\2\0\6\u027a\3\0" + "\6\u027a\4\0\4\u027a\2\0\4\u027a\11\0\16\u027a\4\0" + + "\21\u027a\13\0\1\u0116\1\u027b\3\u0116\1\u027c\1\0\3\u0116" + + "\2\0\6\u0116\3\0\2\u0116\1\u027c\3\u0116\4\0\4\u0116" + + "\2\0\4\u0116\11\0\2\u0116\1\u027b\13\u0116\4\0\21\u0116" + + "\13\0\6\u0116\1\0\3\u0116\2\0\6\u0116\3\0\6\u0116" + + "\4\0\4\u0116\2\0\4\u0116\11\0\16\u0116\4\0\21\u0116" + + "\7\0\1\u027d\16\0\1\u027d\7\0\1\u027e\35\0\1\u027f" + + "\101\0\1\u0280\122\0\1\u0281\222\0\1\u0282\115\0\1\u0283" + "\117\0\1\u0284\205\0\1\u0285\27\0\2\63\1\0\1\63" + "\1\0\2\63\1\u027d\3\0\6\63\1\0\4\63\1\u0286" + "\111\63\2\73\1\0\1\73\1\0\2\73\4\0\2\73" + "\1\u0287\3\73\1\0\17\73\1\u0287\100\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\11\73\1\u0288\25\73" + "\1\u0288\60\73\1\0\1\73\1\0\2\73\4\0\2\73" @@ -790,162 +832,186 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\2\73\4\0\6\73\1\0\30\73\2\u0162\66\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\57\73" + "\1\u02ab\5\73\1\u02ab\32\73\1\0\1\73\1\0\2\73" + "\4\0\1\u02ac\5\73\1\0\41\73\1\u02ac\56\73\1\0" + "\1\73\1\0\2\73\4\0\6\73\1\0\67\73\1\120" + "\14\73\1\120\13\73\1\0\1\73\1\0\2\73\4\0" - + "\1\u02ad\5\73\1\0\1\73\1\u0130\1\u02ae\17\73\1\u02af" + "\5\73\2\u0162\1\73\1\u02af\2\73\1\u02ae\1\73\1\u0130" - + "\1\u02ad\56\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\11\73\1\u02b0\25\73\1\u02b0\60\73\1\0\1\73" - + "\1\0\2\73\4\0\6\73\1\0\2\73\1\u02b1\33\73" + "\1\u02b1\22\73\1\u02b2\17\73\1\u02b2\16\73\1\0\1\73" - + "\1\0\2\73\4\0\2\73\1\u02b3\3\73\1\0\17\73" + "\1\u02b3\1\73\1\u02ac\31\73\1\u0291\21\73\1\u0291\1\u02ac" - + "\21\73\1\0\1\73\1\0\2\73\4\0\3\73\1\u02b4" + "\2\73\1\0\53\73\1\u02b5\4\73\1\u02b4\14\73\1\u02b5" - + "\22\73\1\0\1\73\1\0\2\73\4\0\1\u02b6\5\73" + "\1\0\41\73\1\u02b6\56\73\1\0\1\73\1\0\2\73" - + "\4\0\5\73\1\u02b7\1\0\20\73\1\u02b7\77\73\1\0" + "\1\73\1\0\2\73\4\0\6\73\1\0\57\73\1\u02b8" - + "\5\73\1\u02b8\32\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\53\73\1\120\21\73\1\120\22\73\1\0" - + "\1\73\1\0\2\73\4\0\1\u02b9\5\73\1\0\41\73" + "\1\u02b9\56\73\1\0\1\73\1\0\2\73\4\0\5\73" - + "\1\u02ba\1\0\20\73\1\u02ba\77\73\1\0\1\73\1\0" + "\2\73\4\0\5\73\1\u02bb\1\0\20\73\1\u02bb\77\73" - + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\107\73" + "\1\u028c\2\73\1\u028c\5\73\1\0\1\73\1\0\2\73" - + "\4\0\6\73\1\0\64\73\1\u02bc\12\73\1\u02bc\20\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\11\73" - + "\1\u02bd\25\73\1\u02bd\60\73\1\0\1\73\1\0\2\73" + "\4\0\2\73\1\120\3\73\1\0\11\73\1\u02be\5\73" - + "\1\120\17\73\1\u02be\27\73\1\120\14\73\1\120\13\73" + "\1\0\1\73\1\0\2\73\4\0\5\73\1\u02bf\1\0" - + "\1\73\1\120\16\73\1\u02bf\17\73\1\120\57\73\1\0" + "\1\73\1\0\2\73\4\0\5\73\1\u02c0\1\0\20\73" - + "\1\u02c0\77\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\21\73\1\120\54\73\1\120\21\73\1\0\1\73" - + "\1\0\2\73\4\0\5\73\1\u02c1\1\0\20\73\1\u02c1" + "\1\u02c2\54\73\1\u02c2\21\73\1\0\1\73\1\0\2\73" - + "\4\0\2\73\1\u02c3\1\73\1\120\1\73\1\0\17\73" + "\1\u02c3\42\73\1\120\35\73\1\0\1\73\1\0\2\73" - + "\4\0\6\73\1\0\1\73\1\u02c4\36\73\1\u02c4\57\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\57\73" - + "\1\u02c5\5\73\1\u02c5\32\73\1\0\1\73\1\0\2\73" + "\4\0\2\73\1\120\3\73\1\0\17\73\1\120\100\73" - + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\1\u02c6" + "\53\73\1\u02c6\43\73\1\0\1\73\1\0\2\73\4\0" - + "\6\73\1\0\57\73\1\120\5\73\1\120\30\73\7\0" + "\1\u02c7\16\0\1\u02c7\124\0\1\u02c8\47\0\1\u02c8\63\0" - + "\1\u027d\16\0\1\u027d\111\0\12\u016a\1\u02c9\24\u016a\1\u016d" + "\102\u016a\1\0\135\u016a\51\0\1\u02ca\66\0\1\141\12\0" - + "\6\141\1\0\3\141\2\0\7\141\1\0\1\141\1\u02cb" + "\5\141\1\0\2\141\1\0\4\141\2\0\4\141\10\0" - + "\17\141\4\0\22\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\4\152\1\u02cc\1\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" + "\4\0\21\152\7\0\1\66\11\0\1\146\116\0\1\u0172" - + "\12\0\6\u0172\1\0\3\u0172\2\0\7\u0172\1\0\7\u0172" + "\1\0\2\u0172\1\0\4\u0172\2\0\4\u0172\10\0\17\u0172" - + "\4\0\22\u0172\12\0\6\u0172\1\0\3\u0172\2\0\1\u0172" + "\3\u02cd\1\u0172\1\u02cd\1\u0172\1\u02ce\6\u0172\1\u02cd\1\0" - + "\2\u0172\1\0\4\u0172\1\u02ce\1\0\4\u0172\10\0\17\u0172" + "\4\0\11\u0172\1\u02cd\5\u0172\2\u02cd\1\u0172\12\0\6\u0172" - + "\1\0\3\u0172\2\0\1\u0172\3\u02cf\1\u0172\1\u02cf\1\u0175" + "\1\0\6\u0172\1\u02cf\1\0\2\u0172\1\0\4\u0172\2\0" - + "\4\u0172\10\0\17\u0172\4\0\11\u0172\1\u02cf\5\u0172\2\u02cf" + "\1\u0172\12\0\6\u0172\1\0\2\u0172\1\u0174\2\0\1\u0172" - + "\3\u0177\1\u0172\1\u0177\1\u0172\1\0\5\u0172\1\u0176\1\u0177" + "\1\0\2\u0172\1\0\3\u0172\1\u0176\2\0\1\u0174\3\u0172" - + "\10\0\5\u0172\1\u0176\5\u0172\1\u0176\3\u0172\4\0\11\u0172" + "\1\u0177\5\u0172\2\u0177\1\u0172\12\0\6\u0172\1\0\2\u0172" - + "\1\u0174\2\0\1\u0172\3\u0178\1\u0172\1\u0178\1\u0172\1\0" + "\5\u0172\1\u0176\1\u0178\1\0\2\u0172\1\0\3\u0172\1\u0176" - + "\1\0\1\u0177\1\u0174\3\u0172\10\0\5\u0172\1\u0176\5\u0172" + "\1\u0176\3\u0172\4\0\11\u0172\1\u0178\5\u0172\2\u0178\1\u0172" - + "\12\0\6\u0172\1\0\1\u0172\1\u02d0\1\u0174\2\0\1\u0172" + "\1\u0178\2\u0179\1\u0172\1\u0179\1\u017a\1\0\5\u0172\1\u0176" - + "\1\u0179\1\0\2\u0172\1\0\3\u0172\1\u0176\1\0\1\u0177" + "\1\u0174\1\u0172\1\u02d0\1\u0172\10\0\5\u0172\1\u0176\5\u0172" - + "\1\u0176\3\u0172\4\0\11\u0172\1\u0179\5\u0172\2\u0179\1\u0172" + "\12\0\6\u0172\1\0\3\u0172\2\0\2\u0172\2\u02d1\1\u0172" - + "\1\u02d1\1\u017a\1\0\6\u0172\1\u02d1\1\0\2\u0172\1\0" + "\4\u0172\2\0\4\u0172\10\0\17\u0172\4\0\11\u0172\1\u02d1" - + "\5\u0172\2\u02d1\1\u0172\12\0\1\u0172\1\u02d2\4\u0172\1\0" + "\2\u0172\1\u02d2\2\0\1\u0172\5\u02d2\1\u0172\1\0\5\u0172" - + "\2\u02d2\1\0\2\u0172\1\0\2\u02d2\1\u0172\1\u02d2\2\0" + "\2\u02d2\2\u0172\10\0\3\u0172\1\u02d2\1\u0172\1\u02d2\5\u0172" - + "\1\u02d2\3\u0172\4\0\11\u0172\1\u02d2\5\u0172\2\u02d2\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\1\u02d3" + "\3\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" - + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\2\152" + "\1\u02d4\3\152\1\0\1\141\1\152\1\0\4\152\2\0" - + "\4\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\1\u02d5" - + "\5\152\1\0\1\141\1\152\1\0\4\152\2\0\1\152" + "\1\u02d6\2\152\10\0\1\141\1\152\1\u01a1\14\152\4\0" - + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\4\152\10\0\1\141\7\152\1\u02d7\6\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" - + "\1\0\1\u016f\1\152\1\u02d8\4\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\5\152\1\u02d9" - + "\10\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" - + "\1\0\4\152\2\0\2\152\1\u02da\1\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" - + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\13\152\1\u01a1" - + "\2\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\2\152\1\u02db\3\152\1\0" + + "\1\u02ad\5\73\1\0\1\73\1\u0130\1\u02ae\17\73\1\u02af" + + "\5\73\2\u0162\1\73\1\u02af\2\73\1\u02ae\1\73\1\u0130" + "\1\u02ad\56\73\1\0\1\73\1\0\2\73\4\0\6\73" + + "\1\0\11\73\1\u02b0\25\73\1\u02b0\60\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\2\73\1\u02b1\33\73" + + "\1\u02b1\22\73\1\u02b2\17\73\1\u02b2\16\73\1\0\1\73" + "\1\0\2\73\4\0\2\73\1\u02b3\3\73\1\0\17\73" + + "\1\u02b3\1\73\1\u02ac\31\73\1\u0291\21\73\1\u0291\1\u02ac" + "\21\73\1\0\1\73\1\0\2\73\4\0\3\73\1\u02b4" + + "\2\73\1\0\53\73\1\u02b5\4\73\1\u02b4\14\73\1\u02b5" + "\22\73\1\0\1\73\1\0\2\73\4\0\1\u02b6\5\73" + + "\1\0\41\73\1\u02b6\56\73\1\0\1\73\1\0\2\73" + "\4\0\5\73\1\u02b7\1\0\20\73\1\u02b7\77\73\1\0" + + "\1\73\1\0\2\73\4\0\6\73\1\0\57\73\1\u02b8" + "\5\73\1\u02b8\32\73\1\0\1\73\1\0\2\73\4\0" + + "\6\73\1\0\53\73\1\120\21\73\1\120\22\73\1\0" + "\1\73\1\0\2\73\4\0\1\u02b9\5\73\1\0\41\73" + + "\1\u02b9\56\73\1\0\1\73\1\0\2\73\4\0\5\73" + "\1\u02ba\1\0\20\73\1\u02ba\77\73\1\0\1\73\1\0" + + "\2\73\4\0\5\73\1\u02bb\1\0\20\73\1\u02bb\77\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\107\73" + + "\1\u028c\2\73\1\u028c\5\73\1\0\1\73\1\0\2\73" + "\4\0\6\73\1\0\64\73\1\u02bc\12\73\1\u02bc\20\73" + + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\11\73" + "\1\u02bd\25\73\1\u02bd\60\73\1\0\1\73\1\0\2\73" + + "\4\0\2\73\1\120\3\73\1\0\11\73\1\u02be\5\73" + "\1\120\17\73\1\u02be\27\73\1\120\14\73\1\120\13\73" + + "\1\0\1\73\1\0\2\73\4\0\5\73\1\u02bf\1\0" + "\1\73\1\120\16\73\1\u02bf\17\73\1\120\57\73\1\0" + + "\1\73\1\0\2\73\4\0\5\73\1\u02c0\1\0\20\73" + "\1\u02c0\77\73\1\0\1\73\1\0\2\73\4\0\6\73" + + "\1\0\21\73\1\120\54\73\1\120\21\73\1\0\1\73" + "\1\0\2\73\4\0\5\73\1\u02c1\1\0\20\73\1\u02c1" + + "\1\u02c2\54\73\1\u02c2\21\73\1\0\1\73\1\0\2\73" + "\4\0\2\73\1\u02c3\1\73\1\120\1\73\1\0\17\73" + + "\1\u02c3\42\73\1\120\35\73\1\0\1\73\1\0\2\73" + "\4\0\6\73\1\0\1\73\1\u02c4\36\73\1\u02c4\57\73" + + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\57\73" + "\1\u02c5\5\73\1\u02c5\32\73\1\0\1\73\1\0\2\73" + + "\4\0\2\73\1\120\3\73\1\0\17\73\1\120\100\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\1\u02c6" + + "\53\73\1\u02c6\43\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\57\73\1\120\5\73\1\120\30\73\7\0" + + "\1\u02c7\16\0\1\u02c7\124\0\1\u02c8\47\0\1\u02c8\63\0" + + "\1\u027d\16\0\1\u027d\111\0\12\u016a\1\u02c9\24\u016a\1\u016d" + + "\102\u016a\1\0\135\u016a\51\0\1\u02ca\66\0\1\141\12\0" + "\6\141\1\0\3\141\2\0\7\141\1\0\1\141\1\u02cb" + + "\5\141\1\0\2\141\1\0\4\141\2\0\4\141\10\0" + "\17\141\4\0\22\141\12\0\6\152\1\0\3\152\2\0" + + "\7\152\1\0\1\u016f\4\152\1\u02cc\1\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" + + "\4\0\21\152\7\0\1\66\11\0\1\146\116\0\1\u0172" + "\12\0\6\u0172\1\0\3\u0172\2\0\7\u0172\1\0\7\u0172" + + "\1\0\2\u0172\1\0\4\u0172\2\0\4\u0172\10\0\17\u0172" + + "\4\0\22\u0172\12\0\6\u0172\1\0\3\u0172\2\0\1\u0172" + + "\3\u02cd\1\u0172\1\u02cd\1\u0172\1\u02ce\6\u0172\1\u02cd\1\0" + + "\2\u0172\1\0\4\u0172\1\u02ce\1\0\4\u0172\10\0\17\u0172" + + "\4\0\11\u0172\1\u02cd\5\u0172\2\u02cd\1\u0172\12\0\6\u0172" + + "\1\0\3\u0172\2\0\1\u0172\3\u02cf\1\u0172\1\u02cf\1\u0175" + + "\1\0\6\u0172\1\u02cf\1\0\2\u0172\1\0\4\u0172\2\0" + + "\4\u0172\10\0\17\u0172\4\0\11\u0172\1\u02cf\5\u0172\2\u02cf" + + "\1\u0172\12\0\6\u0172\1\0\2\u0172\1\u0174\2\0\1\u0172" + + "\3\u0177\1\u0172\1\u0177\1\u0172\1\0\5\u0172\1\u0176\1\u0177" + + "\1\0\2\u0172\1\0\3\u0172\1\u0176\2\0\1\u0174\3\u0172" + + "\10\0\5\u0172\1\u0176\5\u0172\1\u0176\3\u0172\4\0\11\u0172" + + "\1\u0177\5\u0172\2\u0177\1\u0172\12\0\6\u0172\1\0\2\u0172" + + "\1\u0174\2\0\1\u0172\3\u0178\1\u0172\1\u0178\1\u0172\1\0" + + "\5\u0172\1\u0176\1\u0178\1\0\2\u0172\1\0\3\u0172\1\u0176" + + "\1\0\1\u0177\1\u0174\3\u0172\10\0\5\u0172\1\u0176\5\u0172" + + "\1\u0176\3\u0172\4\0\11\u0172\1\u0178\5\u0172\2\u0178\1\u0172" + + "\12\0\6\u0172\1\0\1\u0172\1\u02d0\1\u0174\2\0\1\u0172" + + "\1\u0178\2\u0179\1\u0172\1\u0179\1\u017a\1\0\5\u0172\1\u0176" + + "\1\u0179\1\0\2\u0172\1\0\3\u0172\1\u0176\1\0\1\u0177" + + "\1\u0174\1\u0172\1\u02d0\1\u0172\10\0\5\u0172\1\u0176\5\u0172" + + "\1\u0176\3\u0172\4\0\11\u0172\1\u0179\5\u0172\2\u0179\1\u0172" + + "\12\0\6\u0172\1\0\3\u0172\2\0\2\u0172\2\u02d1\1\u0172" + + "\1\u02d1\1\u017a\1\0\6\u0172\1\u02d1\1\0\2\u0172\1\0" + + "\4\u0172\2\0\4\u0172\10\0\17\u0172\4\0\11\u0172\1\u02d1" + + "\5\u0172\2\u02d1\1\u0172\12\0\1\u0172\1\u02d2\4\u0172\1\0" + + "\2\u0172\1\u02d2\2\0\1\u0172\5\u02d2\1\u0172\1\0\5\u0172" + + "\2\u02d2\1\0\2\u0172\1\0\2\u02d2\1\u0172\1\u02d2\2\0" + + "\2\u02d2\2\u0172\10\0\3\u0172\1\u02d2\1\u0172\1\u02d2\5\u0172" + + "\1\u02d2\3\u0172\4\0\11\u0172\1\u02d2\5\u0172\2\u02d2\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\1\u02d3" + + "\3\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\2\152" + + "\1\u02d4\3\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\4\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\1\u02d5" + "\5\152\1\0\1\141\1\152\1\0\4\152\2\0\1\152" + + "\1\u02d6\2\152\10\0\1\141\1\152\1\u01a1\14\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\7\152\1\u02d7\6\152\4\0" + + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\1\152\1\u02d8\4\152\1\0\1\141\1\152" + + "\1\0\4\152\2\0\4\152\10\0\1\141\5\152\1\u02d9" + "\10\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\2\152\1\u02da\1\152\10\0\1\141" + + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + + "\1\0\4\152\2\0\4\152\10\0\1\141\13\152\1\u01a1" + "\2\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + + "\2\0\7\152\1\0\1\u016f\2\152\1\u02db\3\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\3\152\1\u02dc\2\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" - + "\2\0\7\152\1\0\1\u016f\3\152\1\u02dc\2\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\2\152\1\u02dd\1\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" - + "\1\0\4\152\2\0\2\152\1\u02dd\1\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" - + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\1\u02de\15\152" - + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\1\152\1\u01a1\4\152\1\0\1\141" + + "\1\0\4\152\2\0\4\152\10\0\1\141\1\u02de\15\152" + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + + "\7\152\1\0\1\u016f\1\152\1\u01a1\4\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" + + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\3\152\1\u02df\2\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" - + "\7\152\1\0\1\u016f\3\152\1\u02df\2\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" - + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0" - + "\4\152\2\0\1\u02e0\3\152\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" - + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\1\u02e1\15\152\4\0\21\152" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\2\152\1\u02e2\3\152\1\0\1\141\1\152\1\0" - + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\1\u02e3\5\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" - + "\10\0\1\141\2\152\1\u02e4\13\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\3\152" + "\1\u02e5\10\0\1\141\16\152\4\0\21\152\1\141\12\0" - + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" - + "\1\141\2\152\1\u02e6\13\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\2\152" - + "\1\u02e7\3\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\4\152\10\0\1\141\7\152\1\u02e8\6\152\4\0\21\152" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" - + "\1\152\1\u02e9\2\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\3\152\1\u02ea\10\0\1\141\16\152\4\0\21\152\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\2\152\1\u02eb\3\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\3\152\1\u02ec\2\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" - + "\10\0\1\141\7\152\1\u02ed\6\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\1\152" + "\1\u02ee\2\152\10\0\1\141\16\152\4\0\21\152\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\3\152\1\u02ef\2\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\1\u02f0\15\152\4\0\21\152\1\141\12\0" - + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" - + "\1\141\5\152\1\u02f1\10\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\2\152" - + "\1\u02f2\3\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\3\152\1\u02e5\10\0\1\141\16\152\4\0\21\152\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\1\152" - + "\1\u02f3\2\152\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\3\152\1\u02f4\2\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\1\152" - + "\1\u02f5\2\152\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\4\152\1\u02f6\1\152\1\0\1\141\1\152\1\0\1\152" + "\1\u02f7\2\152\2\0\2\152\1\u02f8\1\152\10\0\1\141" - + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\1\u02f9\5\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" - + "\7\152\1\0\1\u016f\2\152\1\u02fa\3\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\3\152\1\u02fb\10\0\1\141" - + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" - + "\1\0\3\152\1\u02fc\2\0\4\152\10\0\1\141\16\152" + "\4\0\1\152\1\u02fd\17\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\7\152" - + "\1\u02fe\6\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\2\152\1\u02ff\3\152" - + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\1\152\1\u0300\2\152\2\0\4\152\10\0" - + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\1\u0301" + "\4\152\1\u0302\10\152\4\0\21\152\1\141\12\0\6\152" - + "\1\0\3\152\2\0\7\152\1\0\1\u016f\1\152\1\u0303" + "\4\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" - + "\10\0\1\141\2\152\1\u0304\13\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\5\152\1\u0305\10\152\4\0\21\152\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\2\152\1\u0306\3\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\2\152" + "\1\u0307\1\152\10\0\1\141\5\152\1\u0308\10\152\4\0" + + "\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\1\u02e0\3\152\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\4\152\10\0\1\141\16\152\4\0\1\152\1\u01a1" + "\17\152\14\0\1\u0309\7\0\1\u0309\3\0\5\u0309\7\0" - + "\2\u0309\4\0\2\u0309\1\0\1\u0309\2\0\2\u0309\15\0" + "\1\u0309\1\0\1\u0309\5\0\1\u0309\20\0\1\u0309\5\0" - + "\2\u0309\14\0\1\u030a\7\0\1\u030a\3\0\5\u030a\7\0" + "\2\u030a\4\0\2\u030a\1\0\1\u030a\2\0\2\u030a\15\0" - + "\1\u030a\1\0\1\u030a\5\0\1\u030a\20\0\1\u030a\5\0" + "\2\u030a\13\0\1\u030b\47\0\1\u030b\160\0\1\u030c\115\0" - + "\1\u030d\117\0\1\u030e\205\0\1\u030f\42\0\1\u0310\47\0" + "\1\u0310\160\0\1\u0311\115\0\1\u0312\117\0\1\u0313\205\0" - + "\1\u0314\54\0\1\u0315\125\0\6\u01bc\1\u01bd\3\u01bc\2\0" + "\1\u01bc\3\0\1\u01bc\4\0\5\u01bc\5\0\4\u01bc\2\0" - + "\4\u01bc\11\0\16\u01bc\4\0\11\u01bc\1\0\5\u01bc\2\0" + "\21\u01bc\1\u01bd\116\u01bc\104\0\1\u0316\115\0\1\u0317\135\0" - + "\1\u0318\117\0\1\u0319\34\0\1\u031a\2\0\1\u031b\144\0" + "\1\u031c\72\0\1\u031d\157\0\1\u031e\21\0\1\u031f\110\0" - + "\1\u0320\145\0\1\u0321\136\0\1\u0322\122\0\1\u0323\155\0" + "\1\u0324\136\0\1\u0325\121\0\1\u0326\205\0\1\u0327\111\0" - + "\1\u0328\14\0\1\u0329\1\0\1\u032a\1\u032b\6\0\1\u032c" + "\26\0\10\u01cf\1\u032d\26\u01cf\1\u032e\102\u01cf\1\u032f\5\u01cf" - + "\1\u0330\1\253\17\u01cf\2\253\1\u01cf\1\253\2\u01cf\1\253" + "\1\u0331\5\253\5\u01cf\1\253\54\u01cf\1\253\5\u01cf\2\253" + + "\2\0\4\152\10\0\1\141\1\u02e1\15\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\2\152\1\u02e2\3\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\1\u02e3\5\152\1\0\1\141\1\152\1\0\4\152" + + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\2\152\1\u02e4\13\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\3\152" + + "\1\u02e5\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\2\152\1\u02e6\13\152\4\0\21\152\1\141\12\0" + + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\2\152" + "\1\u02e7\3\152\1\0\1\141\1\152\1\0\4\152\2\0" + + "\4\152\10\0\1\141\7\152\1\u02e8\6\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\1\152\1\u02e9\2\152\10\0\1\141\16\152\4\0\21\152" + + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + + "\3\152\1\u02ea\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\2\152\1\u02eb\3\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\3\152\1\u02ec\2\152\1\0\1\141\1\152\1\0\4\152" + + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\7\152\1\u02ed\6\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\1\152" + + "\1\u02ee\2\152\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\3\152\1\u02ef\2\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + + "\10\0\1\141\1\u02f0\15\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\5\152\1\u02f1\10\152\4\0\21\152\1\141\12\0" + + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\2\152" + "\1\u02f2\3\152\1\0\1\141\1\152\1\0\4\152\2\0" + + "\3\152\1\u02e5\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\1\152" + "\1\u02f3\2\152\10\0\1\141\16\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\3\152\1\u02f4\2\152\1\0\1\141\1\152\1\0\4\152" + + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\1\152" + "\1\u02f5\2\152\10\0\1\141\16\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\4\152\1\u02f6\1\152\1\0\1\141\1\152\1\0\1\152" + + "\1\u02f7\2\152\2\0\2\152\1\u02f8\1\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + + "\2\0\7\152\1\0\1\u016f\1\u02f9\5\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" + + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\2\152\1\u02fa\3\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\3\152\1\u02fb\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\3\152\1\u02fc\2\0\4\152\10\0\1\141\16\152" + + "\4\0\1\152\1\u02fd\17\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\7\152" + "\1\u02fe\6\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\2\152\1\u02ff\3\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\1\152\1\u0300\2\152\2\0\4\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\1\u0301" + + "\4\152\1\u0302\10\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\1\152\1\u0303" + + "\4\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\2\152\1\u0304\13\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + + "\10\0\1\141\5\152\1\u0305\10\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\2\152\1\u0306\3\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\16\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\2\152" + + "\1\u0307\1\152\10\0\1\141\5\152\1\u0308\10\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\16\152\4\0\1\152\1\u01a1" + + "\17\152\14\0\1\u0309\7\0\1\u0309\3\0\5\u0309\7\0" + "\2\u0309\4\0\2\u0309\1\0\1\u0309\2\0\2\u0309\15\0" + + "\1\u0309\1\0\1\u0309\5\0\1\u0309\20\0\1\u0309\5\0" + "\2\u0309\14\0\1\u030a\7\0\1\u030a\3\0\5\u030a\7\0" + + "\2\u030a\4\0\2\u030a\1\0\1\u030a\2\0\2\u030a\15\0" + "\1\u030a\1\0\1\u030a\5\0\1\u030a\20\0\1\u030a\5\0" + + "\2\u030a\13\0\1\u030b\47\0\1\u030b\160\0\1\u030c\115\0" + + "\1\u030d\117\0\1\u030e\205\0\1\u030f\42\0\1\u0310\47\0" + + "\1\u0310\160\0\1\u0311\115\0\1\u0312\117\0\1\u0313\205\0" + + "\1\u0314\54\0\1\u0315\125\0\6\u01bc\1\u01bd\3\u01bc\2\0" + + "\1\u01bc\3\0\1\u01bc\4\0\5\u01bc\5\0\4\u01bc\2\0" + "\4\u01bc\11\0\16\u01bc\4\0\11\u01bc\1\0\5\u01bc\2\0" + + "\21\u01bc\1\u01bd\116\u01bc\104\0\1\u0316\115\0\1\u0317\135\0" + + "\1\u0318\117\0\1\u0319\34\0\1\u031a\2\0\1\u031b\144\0" + + "\1\u031c\72\0\1\u031d\157\0\1\u031e\21\0\1\u031f\110\0" + + "\1\u0320\145\0\1\u0321\136\0\1\u0322\122\0\1\u0323\155\0" + + "\1\u0324\136\0\1\u0325\121\0\1\u0326\205\0\1\u0327\111\0" + + "\1\u0328\14\0\1\u0329\1\0\1\u032a\1\u032b\6\0\1\u032c" + + "\26\0\10\u01cf\1\u032d\26\u01cf\1\u032e\102\u01cf\1\u032f\5\u01cf" + + "\1\u0330\1\253\17\u01cf\2\253\1\u01cf\1\253\2\u01cf\1\253" + + "\1\u0331\5\253\5\u01cf\1\253\54\u01cf\1\253\5\u01cf\2\253" + "\2\u0332\1\u0333\6\u0332\1\u0259\126\u0332\11\u0333\1\u0259\126\u0333" + "\2\u0332\1\u0333\5\u0332\1\u01d2\1\u0334\17\u0332\2\u0335\1\u0332" + "\1\u0336\2\u0332\1\u01d2\1\u0337\4\u01d2\1\u0335\5\u0332\1\u01d2" - + "\54\u0332\1\u0336\5\u0332\2\u0336\2\u01d6\1\0\135\u01d6\51\0" + "\1\u0338\66\0\1\250\12\0\6\250\1\0\3\250\2\0" - + "\7\250\1\0\1\250\1\u0339\5\250\1\0\2\250\1\0" + "\4\250\2\0\4\250\7\0\20\250\4\0\22\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + "\1\u033a\4\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\1\264\1\u033b\2\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\1\264\1\u033c\1\u033d\3\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\2\264\1\u033e" - + "\13\264\4\0\14\264\1\u033f\4\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u0340" - + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u0341" + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\3\264" - + "\1\u0342\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u0343" + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\1\u0344\15\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\11\264\1\u0345\4\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\2\264\1\u0346\1\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u0347" - + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\2\264\1\u0348\1\264" + + "\54\u0332\1\u0336\5\u0332\2\u0336\2\u01d6\1\0\135\u01d6\51\0" + + "\1\u0338\66\0\1\250\12\0\6\250\1\0\3\250\2\0" + "\7\250\1\0\1\250\1\u0339\5\250\1\0\2\250\1\0" + + "\4\250\2\0\4\250\7\0\20\250\4\0\22\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + + "\1\u033a\4\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\264\1\u033b\2\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\1\264\1\u033c\1\u033d\3\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\2\264\1\u033e" + "\13\264\4\0\14\264\1\u033f\4\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u0340" + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u0341" + + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\3\264" + "\1\u0342\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u0343" + + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\1\u0344\15\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\11\264\1\u0345\4\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\2\264\1\u0346\1\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u0347" + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\1\264\1\u0349\2\264" + "\7\0\2\250\1\u034a\15\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264" + "\1\u034b\2\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\2\264\1\u034c\1\264\7\0\2\250\11\264\1\u034d\4\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\264\1\u034e\2\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\3\264\1\u034f\2\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\264\1\u0350\1\264\1\u0351\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\3\264\1\u0352\2\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u0353\3\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\2\264\1\u0354\3\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\3\264\1\u0355\7\0\2\250" + "\2\264\1\u0356\1\u0357\1\u0358\2\264\1\u0359\4\264\1\u035a" + + "\1\250\1\264\1\0\4\264\2\0\2\264\1\u0348\1\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\264\1\u0349\2\264" + + "\7\0\2\250\1\u034a\15\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264" + + "\1\u034b\2\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\2\264\1\u034c\1\264\7\0\2\250\11\264\1\u034d\4\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\1\264\1\u034e\2\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\3\264\1\u034f\2\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\1\264\1\u0350\1\264\1\u0351\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\3\264\1\u0352\2\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\1\u0353\3\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\2\264\1\u0354\3\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\3\264\1\u0355\7\0\2\250" + + "\2\264\1\u0356\1\u0357\1\u0358\2\264\1\u0359\4\264\1\u035a" + "\1\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\2\264\1\u035b\1\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u035c\3\264\7\0\2\250\16\264" @@ -976,21 +1042,35 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\6\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u0371\3\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\3\264\1\u0372\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\u0200\12\0\6\u0200\1\0\3\u0200\2\0\7\u0200" + "\1\0\7\u0200\1\0\2\u0200\1\0\4\u0200\2\0\4\u0200" - + "\7\0\1\250\17\u0200\4\0\22\u0200\12\0\6\u0200\1\0" + "\3\u0200\2\0\1\u0200\3\u0373\1\u0200\1\u0373\1\u0200\1\u02ce" - + "\6\u0200\1\u0373\1\0\2\u0200\1\0\4\u0200\1\u02ce\1\0" + "\4\u0200\7\0\1\250\17\u0200\4\0\11\u0200\1\u0373\5\u0200" - + "\2\u0373\1\u0200\12\0\6\u0200\1\0\3\u0200\2\0\1\u0200" + "\3\u0374\1\u0200\1\u0374\1\u0203\1\0\6\u0200\1\u0374\1\0" - + "\2\u0200\1\0\4\u0200\2\0\4\u0200\7\0\1\250\17\u0200" + "\4\0\11\u0200\1\u0374\5\u0200\2\u0374\1\u0200\12\0\6\u0200" - + "\1\0\2\u0200\1\u0202\2\0\1\u0200\3\u0205\1\u0200\1\u0205" + "\1\u0200\1\0\5\u0200\1\u0204\1\u0205\1\0\2\u0200\1\0" - + "\3\u0200\1\u0204\1\0\1\u0177\1\u0202\3\u0200\7\0\1\250" + "\5\u0200\1\u0204\5\u0200\1\u0204\3\u0200\4\0\11\u0200\1\u0205" - + "\5\u0200\2\u0205\1\u0200\12\0\6\u0200\1\0\1\u0200\1\u0375" + "\1\u0202\2\0\1\u0200\1\u0205\2\u0206\1\u0200\1\u0206\1\u0207" - + "\1\0\5\u0200\1\u0204\1\u0206\1\0\2\u0200\1\0\3\u0200" + "\1\u0204\1\0\1\u0177\1\u0202\1\u0200\1\u0375\1\u0200\7\0" - + "\1\250\5\u0200\1\u0204\5\u0200\1\u0204\3\u0200\4\0\11\u0200" + "\1\u0206\5\u0200\2\u0206\1\u0200\12\0\6\u0200\1\0\3\u0200" - + "\2\0\2\u0200\2\u0376\1\u0200\1\u0376\1\u0207\1\0\6\u0200" + "\1\u0376\1\0\2\u0200\1\0\4\u0200\2\0\4\u0200\7\0" - + "\1\250\17\u0200\4\0\11\u0200\1\u0376\5\u0200\2\u0376\1\u0200" + "\12\0\6\u0200\1\0\3\u0200\2\0\2\u0200\2\u0377\3\u0200" - + "\1\0\7\u0200\1\0\2\u0200\1\0\4\u0200\2\0\4\u0200" + "\7\0\1\250\17\u0200\4\0\22\u0200\12\0\1\u0200\1\u0378" - + "\4\u0200\1\0\2\u0200\1\u0378\2\0\1\u0200\5\u0378\1\u0200" + "\1\0\5\u0200\2\u0378\1\0\2\u0200\1\0\2\u0378\1\u0200" - + "\1\u0378\2\0\2\u0378\2\u0200\7\0\1\250\3\u0200\1\u0378" + "\1\u0200\1\u0378\5\u0200\1\u0378\3\u0200\4\0\11\u0200\1\u0378" + + "\21\264\1\u0200\12\0\6\u0200\1\0\3\u0200\2\0\7\u0200" + + "\1\0\7\u0200\1\0\2\u0200\1\0\4\u0200\2\0\4\u0200" + "\7\0\1\250\17\u0200\4\0\22\u0200\12\0\6\u0200\1\0" + + "\3\u0200\2\0\1\u0200\3\u0373\1\u0200\1\u0373\1\u0200\1\u02ce" + + "\6\u0200\1\u0373\1\0\2\u0200\1\0\4\u0200\1\u02ce\1\0" + + "\4\u0200\7\0\1\250\17\u0200\4\0\11\u0200\1\u0373\5\u0200" + + "\2\u0373\1\u0200\12\0\6\u0200\1\0\3\u0200\2\0\1\u0200" + + "\3\u0374\1\u0200\1\u0374\1\u0203\1\0\6\u0200\1\u0374\1\0" + + "\2\u0200\1\0\4\u0200\2\0\4\u0200\7\0\1\250\17\u0200" + + "\4\0\11\u0200\1\u0374\5\u0200\2\u0374\1\u0200\12\0\6\u0200" + + "\1\0\2\u0200\1\u0202\2\0\1\u0200\3\u0205\1\u0200\1\u0205" + + "\1\u0200\1\0\5\u0200\1\u0204\1\u0205\1\0\2\u0200\1\0" + + "\3\u0200\1\u0204\1\0\1\u0177\1\u0202\3\u0200\7\0\1\250" + + "\5\u0200\1\u0204\5\u0200\1\u0204\3\u0200\4\0\11\u0200\1\u0205" + + "\5\u0200\2\u0205\1\u0200\12\0\6\u0200\1\0\1\u0200\1\u0375" + + "\1\u0202\2\0\1\u0200\1\u0205\2\u0206\1\u0200\1\u0206\1\u0207" + + "\1\0\5\u0200\1\u0204\1\u0206\1\0\2\u0200\1\0\3\u0200" + + "\1\u0204\1\0\1\u0177\1\u0202\1\u0200\1\u0375\1\u0200\7\0" + + "\1\250\5\u0200\1\u0204\5\u0200\1\u0204\3\u0200\4\0\11\u0200" + + "\1\u0206\5\u0200\2\u0206\1\u0200\12\0\6\u0200\1\0\3\u0200" + + "\2\0\2\u0200\2\u0376\1\u0200\1\u0376\1\u0207\1\0\6\u0200" + + "\1\u0376\1\0\2\u0200\1\0\4\u0200\2\0\4\u0200\7\0" + + "\1\250\17\u0200\4\0\11\u0200\1\u0376\5\u0200\2\u0376\1\u0200" + + "\12\0\6\u0200\1\0\3\u0200\2\0\2\u0200\2\u0377\3\u0200" + + "\1\0\7\u0200\1\0\2\u0200\1\0\4\u0200\2\0\4\u0200" + + "\7\0\1\250\17\u0200\4\0\22\u0200\12\0\1\u0200\1\u0378" + + "\4\u0200\1\0\2\u0200\1\u0378\2\0\1\u0200\5\u0378\1\u0200" + + "\1\0\5\u0200\2\u0378\1\0\2\u0200\1\0\2\u0378\1\u0200" + + "\1\u0378\2\0\2\u0378\2\u0200\7\0\1\250\3\u0200\1\u0378" + + "\1\u0200\1\u0378\5\u0200\1\u0378\3\u0200\4\0\11\u0200\1\u0378" + "\5\u0200\2\u0378\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\2\264\1\u0379\3\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\1\264\1\u037a\4\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" @@ -1109,162 +1189,187 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u03d2" + "\2\264\7\0\2\250\16\264\4\0\21\264\2\333\1\0" + "\1\333\1\0\2\333\4\0\6\333\1\0\61\333\1\u03d3" + "\36\333\1\0\1\333\1\0\2\333\4\0\6\333\1\0" + "\55\333\1\u03d4\42\333\1\0\1\333\1\0\2\333\4\0" + "\6\333\1\0\61\333\1\u03d5\34\333\13\0\1\u03d6\47\0" - + "\1\u03d6\67\0\6\u025f\1\0\3\u025f\2\0\10\u025f\1\0" + "\6\u025f\4\0\4\u025f\1\0\5\u025f\11\0\16\u025f\4\0" - + "\21\u025f\75\0\1\u03d7\123\0\1\u03d8\120\0\1\u03d9\32\0" + "\1\u03da\137\0\1\u03db\4\0\1\u03dc\100\0\1\u03dd\42\0" - + "\1\u03de\130\0\1\u03df\121\0\1\u03e0\20\0\1\u03e1\101\0" + "\1\u03e2\6\0\1\u03e3\5\0\1\u03e4\121\0\1\u03e5\174\0" - + "\1\u03e6\134\0\1\u03e7\144\0\1\u03e8\137\0\1\u03e9\50\0" + "\6\u026d\1\0\3\u026d\2\0\10\u026d\1\0\6\u026d\4\0" - + "\4\u026d\1\0\5\u026d\11\0\16\u026d\4\0\21\u026d\106\0" + "\1\u03ea\136\0\2\u026f\137\0\1\u026f\74\0\1\u026f\136\0" - + "\1\u026f\34\0\1\u026f\5\0\1\u026f\115\0\1\u026f\22\0" + "\1\u026f\44\0\2\u0116\1\u03eb\3\u0116\1\0\3\u0116\2\0" - + "\6\u0116\3\0\1\u0116\1\u03eb\4\u0116\4\0\4\u0116\2\0" + "\4\u0116\11\0\16\u0116\4\0\21\u0116\13\0\6\u0116\1\0" - + "\1\u03ec\2\u0116\2\0\6\u0116\3\0\6\u0116\4\0\4\u0116" + "\2\0\4\u0116\11\0\1\u0116\1\u03ec\14\u0116\4\0\21\u0116" - + "\36\0\1\u03ed\137\0\1\u03ee\171\0\1\u03ef\127\0\1\u0282" + "\163\0\1\u03f0\112\0\1\u03f1\60\0\2\73\1\0\1\73" - + "\1\0\2\73\4\0\3\73\1\u03f2\2\73\1\0\60\73" + "\1\u03f2\37\73\1\0\1\73\1\0\2\73\4\0\1\73" - + "\1\u02a1\4\73\1\0\21\73\1\120\33\73\1\u02a1\20\73" + "\1\120\21\73\1\0\1\73\1\0\2\73\4\0\3\73" - + "\1\u03f3\2\73\1\0\53\73\1\u03f4\4\73\1\u03f3\14\73" + "\1\u03f4\22\73\1\0\1\73\1\0\2\73\4\0\5\73" - + "\1\u03f5\1\0\20\73\1\u03f5\77\73\1\0\1\73\1\0" + "\2\73\4\0\6\73\1\0\67\73\1\u02a1\14\73\1\u02a1" - + "\13\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + "\2\73\1\u03f6\33\73\1\u03f6\61\73\1\0\1\73\1\0" - + "\2\73\4\0\4\73\1\120\1\73\1\0\62\73\1\120" + "\35\73\1\0\1\73\1\0\2\73\4\0\2\73\1\u03f7" - + "\3\73\1\0\17\73\1\u03f7\100\73\1\0\1\73\1\0" + "\2\73\4\0\6\73\1\0\1\73\1\u02bc\36\73\1\u02bc" - + "\57\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + "\2\73\1\120\33\73\1\120\61\73\1\0\1\73\1\0" - + "\2\73\4\0\5\73\1\u02a1\1\0\20\73\1\u02a1\77\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\67\73" - + "\1\u03f8\14\73\1\u03f8\13\73\1\0\1\73\1\0\2\73" + "\4\0\6\73\1\0\61\73\1\u03f9\17\73\1\u03f9\16\73" - + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\64\73" + "\1\u03fa\12\73\1\u03fa\20\73\1\0\1\73\1\0\2\73" - + "\4\0\6\73\1\0\21\73\1\u03fb\54\73\1\u03fb\21\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\1\u02a1" - + "\53\73\1\u02a1\43\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\16\73\1\u02ac\61\73\1\u02ac\17\73\1\0" - + "\1\73\1\0\2\73\4\0\6\73\1\0\11\73\1\u03fc" + "\25\73\1\u03fc\60\73\1\0\1\73\1\0\2\73\4\0" - + "\6\73\1\0\61\73\1\u02ab\17\73\1\u02ab\16\73\1\0" + "\1\73\1\0\2\73\4\0\3\73\1\u03fd\2\73\1\0" - + "\60\73\1\u03fd\37\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\11\73\1\u02b3\25\73\1\u02b3\60\73\1\0" - + "\1\73\1\0\2\73\4\0\5\73\1\u03fe\1\0\20\73" + "\1\u03fe\77\73\1\0\1\73\1\0\2\73\4\0\6\73" - + "\1\0\53\73\1\u02ac\21\73\1\u02ac\22\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\11\73\1\u0164\25\73" - + "\1\u0164\60\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\70\73\1\120\11\73\1\120\15\73\1\0\1\73" - + "\1\0\2\73\4\0\6\73\1\0\2\73\1\u03ff\33\73" + "\1\u03ff\61\73\1\0\1\73\1\0\2\73\4\0\6\73" - + "\1\0\2\73\1\u0162\33\73\1\u0162\61\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\2\73\1\u02bc\33\73" - + "\1\u02bc\61\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\2\73\1\u0164\33\73\1\u0164\61\73\1\0\1\73" - + "\1\0\2\73\4\0\6\73\1\0\21\73\1\u0400\54\73" + "\1\u0400\21\73\1\0\1\73\1\0\2\73\4\0\6\73" - + "\1\0\57\73\1\u0290\5\73\1\u0290\32\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\53\73\1\u0401\21\73" - + "\1\u0401\22\73\1\0\1\73\1\0\2\73\4\0\3\73" + "\1\u0402\2\73\1\0\60\73\1\u0402\37\73\1\0\1\73" - + "\1\0\2\73\4\0\6\73\1\0\11\73\1\120\25\73" + "\1\120\60\73\1\0\1\73\1\0\2\73\4\0\6\73" - + "\1\0\1\73\1\u0403\36\73\1\u0403\57\73\1\0\1\73" + "\1\0\2\73\4\0\3\73\1\u0153\2\73\1\0\60\73" - + "\1\u0153\37\73\1\0\1\73\1\0\2\73\4\0\2\73" + "\1\u0404\3\73\1\0\17\73\1\u0404\100\73\1\0\1\73" - + "\1\0\2\73\4\0\5\73\1\120\1\0\20\73\1\120" + "\77\73\1\0\1\73\1\0\2\73\4\0\1\73\1\u0122" - + "\4\73\1\0\55\73\1\u0122\42\73\1\0\1\73\1\0" + "\2\73\4\0\6\73\1\0\64\73\1\u0405\12\73\1\u0405" - + "\20\73\1\0\1\73\1\0\2\73\4\0\2\73\1\u0406" + "\3\73\1\0\17\73\1\u0406\100\73\1\0\1\73\1\0" - + "\2\73\4\0\6\73\1\0\64\73\1\u0407\12\73\1\u0407" + "\20\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" - + "\1\73\1\u0408\36\73\1\u0408\57\73\1\0\1\73\1\0" + "\2\73\4\0\6\73\1\0\16\73\1\u0409\61\73\1\u0409" - + "\17\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + "\64\73\1\120\12\73\1\120\20\73\1\0\1\73\1\0" - + "\2\73\4\0\1\73\1\u040a\4\73\1\0\55\73\1\u040a" + "\42\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" - + "\2\73\1\u040b\33\73\1\u040b\61\73\1\0\1\73\1\0" + "\2\73\4\0\5\73\1\u040c\1\0\20\73\1\u040c\77\73" - + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\1\120" + "\53\73\1\120\43\73\1\0\1\73\1\0\2\73\4\0" - + "\6\73\1\0\53\73\1\u040d\21\73\1\u040d\22\73\1\0" + "\1\73\1\0\2\73\4\0\3\73\1\u040c\2\73\1\0" - + "\60\73\1\u040c\1\u03f9\17\73\1\u03f9\16\73\1\0\1\73" + "\1\0\2\73\4\0\4\73\1\u0297\1\73\1\0\62\73" - + "\1\u0297\35\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\57\73\1\u040e\5\73\1\u040e\32\73\1\0\1\73" - + "\1\0\2\73\4\0\6\73\1\0\1\73\1\u040f\36\73" + "\1\u040f\57\73\1\0\1\73\1\0\2\73\4\0\6\73" - + "\1\0\11\73\1\u0410\25\73\1\u0410\60\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\11\73\1\u0411\25\73" - + "\1\u0411\60\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\2\73\1\u0162\6\73\1\120\24\73\1\u0162\1\120" - + "\60\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + "\16\73\1\120\61\73\1\120\17\73\1\0\1\73\1\0" - + "\2\73\4\0\6\73\1\0\70\73\1\120\11\73\1\120" + "\1\u0412\5\73\1\u0412\6\73\1\0\1\73\1\0\2\73" - + "\4\0\5\73\1\u0413\1\0\20\73\1\u0413\77\73\1\0" + "\1\73\1\0\2\73\4\0\6\73\1\0\2\73\1\u0153" - + "\33\73\1\u0153\61\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\61\73\1\u0414\17\73\1\u0414\14\73\14\0" - + "\1\u0415\62\0\1\u0415\142\0\2\u02c9\2\0\1\u02c9\43\0" + "\1\u0416\125\0\1\141\12\0\1\141\1\u0417\4\141\1\0" - + "\2\141\1\u0417\2\0\1\141\5\u0417\1\141\1\0\5\141" + "\2\u0417\1\0\2\141\1\0\2\u0417\1\141\1\u0417\2\0" - + "\2\u0417\2\141\10\0\3\141\1\u0417\1\141\1\u0417\5\141" + "\1\u0417\3\141\4\0\11\141\1\u0417\5\141\2\u0417\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" - + "\10\0\1\141\5\152\1\u0418\10\152\4\0\21\152\1\u0172" + "\12\0\6\u0172\1\0\3\u0172\2\0\1\u0172\3\u02cd\1\u0172" - + "\1\u02cd\1\u0172\1\0\5\u0172\1\u0176\1\u02cd\1\0\2\u0172" + "\1\0\3\u0172\1\u0176\2\0\4\u0172\10\0\5\u0172\1\u0176" - + "\5\u0172\1\u0176\3\u0172\4\0\11\u0172\1\u02cd\5\u0172\2\u02cd" + "\30\0\3\u02cd\1\0\1\u02cd\10\0\1\u02cd\62\0\1\u02cd" - + "\5\0\2\u02cd\1\u0172\12\0\6\u0172\1\0\1\u0172\1\u0173" + "\1\u0172\2\0\1\u0172\3\u02cf\1\u0172\1\u02cf\1\u0175\1\0" - + "\6\u0172\1\u02cf\1\0\2\u0172\1\0\4\u0172\2\0\2\u0172" + "\1\u0173\1\u0172\10\0\17\u0172\4\0\11\u0172\1\u02cf\5\u0172" - + "\2\u02cf\1\u0172\12\0\6\u0172\1\0\1\u0172\1\u02d0\1\u0172" + "\2\0\2\u0172\2\u02d1\1\u0172\1\u02d1\1\u017a\1\0\6\u0172" - + "\1\u02d1\1\0\2\u0172\1\0\4\u0172\2\0\2\u0172\1\u02d0" + "\1\u0172\10\0\17\u0172\4\0\11\u0172\1\u02d1\5\u0172\2\u02d1" - + "\1\u0172\12\0\1\u0172\1\u02d2\4\u0172\1\0\1\u0172\1\u02d0" + "\1\u02d2\2\0\1\u0172\5\u02d2\1\u0419\1\0\5\u0172\2\u02d2" - + "\1\0\2\u0172\1\0\2\u02d2\1\u0172\1\u02d2\2\0\2\u02d2" + "\1\u02d0\1\u0172\10\0\3\u0172\1\u02d2\1\u0172\1\u02d2\5\u0172" - + "\1\u02d2\3\u0172\4\0\11\u0172\1\u02d2\5\u0172\2\u02d2\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\3\152" + "\1\u018f\10\0\1\141\16\152\4\0\21\152\1\141\12\0" - + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\1\u041a" + "\5\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" - + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" - + "\1\141\1\152\1\0\4\152\2\0\1\u041b\3\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u041c\2\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" - + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\1\u041d\3\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" - + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\1\u041e\15\152" - + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0" - + "\4\152\2\0\3\152\1\u01a1\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" - + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\2\152\1\u01a1\1\152\10\0\1\141\16\152\4\0" - + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\4\152\10\0\1\141\5\152\1\u041f\10\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" - + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\2\152\1\u0420\13\152\4\0" - + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\3\152\1\u02d5\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\1\152\1\u0421\2\152\10\0\1\141\16\152\4\0\21\152" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" - + "\1\152\1\u0422\2\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\1\152\1\u0423\2\152\10\0\1\141\16\152\4\0\21\152" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" - + "\2\152\1\u0424\1\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\1\u0425\3\152\10\0\1\141\16\152\4\0\21\152\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" - + "\10\0\1\141\11\152\1\u01a1\4\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\3\152\1\u0426\12\152\4\0\21\152\1\141" - + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\1\u01a1" - + "\3\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" - + "\1\0\1\141\1\152\1\0\4\152\2\0\1\152\1\u0427" + "\2\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" - + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\1\u0428\3\152" - + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" - + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\1\u0429\15\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\2\152\1\u042a\1\152\10\0" - + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\2\152\1\u042b\3\152" + + "\1\u03d6\67\0\6\u025f\1\0\3\u025f\2\0\10\u025f\1\0" + + "\6\u025f\4\0\4\u025f\1\0\5\u025f\11\0\16\u025f\4\0" + + "\21\u025f\75\0\1\u03d7\123\0\1\u03d8\120\0\1\u03d9\32\0" + + "\1\u03da\137\0\1\u03db\4\0\1\u03dc\100\0\1\u03dd\42\0" + + "\1\u03de\130\0\1\u03df\121\0\1\u03e0\20\0\1\u03e1\101\0" + + "\1\u03e2\6\0\1\u03e3\5\0\1\u03e4\121\0\1\u03e5\174\0" + + "\1\u03e6\134\0\1\u03e7\144\0\1\u03e8\137\0\1\u03e9\50\0" + + "\6\u026d\1\0\3\u026d\2\0\10\u026d\1\0\6\u026d\4\0" + + "\4\u026d\1\0\5\u026d\11\0\16\u026d\4\0\21\u026d\106\0" + + "\1\u03ea\136\0\2\u026f\137\0\1\u026f\74\0\1\u026f\136\0" + + "\1\u026f\34\0\1\u026f\5\0\1\u026f\115\0\1\u026f\22\0" + + "\1\u026f\44\0\2\u0116\1\u03eb\3\u0116\1\0\3\u0116\2\0" + + "\6\u0116\3\0\1\u0116\1\u03eb\4\u0116\4\0\4\u0116\2\0" + + "\4\u0116\11\0\16\u0116\4\0\21\u0116\13\0\6\u0116\1\0" + + "\1\u03ec\2\u0116\2\0\6\u0116\3\0\6\u0116\4\0\4\u0116" + + "\2\0\4\u0116\11\0\1\u0116\1\u03ec\14\u0116\4\0\21\u0116" + + "\36\0\1\u03ed\137\0\1\u03ee\171\0\1\u03ef\127\0\1\u0282" + + "\163\0\1\u03f0\112\0\1\u03f1\60\0\2\73\1\0\1\73" + "\1\0\2\73\4\0\3\73\1\u03f2\2\73\1\0\60\73" + + "\1\u03f2\37\73\1\0\1\73\1\0\2\73\4\0\1\73" + "\1\u02a1\4\73\1\0\21\73\1\120\33\73\1\u02a1\20\73" + + "\1\120\21\73\1\0\1\73\1\0\2\73\4\0\3\73" + "\1\u03f3\2\73\1\0\53\73\1\u03f4\4\73\1\u03f3\14\73" + + "\1\u03f4\22\73\1\0\1\73\1\0\2\73\4\0\5\73" + "\1\u03f5\1\0\20\73\1\u03f5\77\73\1\0\1\73\1\0" + + "\2\73\4\0\6\73\1\0\67\73\1\u02a1\14\73\1\u02a1" + "\13\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + + "\2\73\1\u03f6\33\73\1\u03f6\61\73\1\0\1\73\1\0" + "\2\73\4\0\4\73\1\120\1\73\1\0\62\73\1\120" + + "\35\73\1\0\1\73\1\0\2\73\4\0\2\73\1\u03f7" + "\3\73\1\0\17\73\1\u03f7\100\73\1\0\1\73\1\0" + + "\2\73\4\0\6\73\1\0\1\73\1\u02bc\36\73\1\u02bc" + "\57\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + + "\2\73\1\120\33\73\1\120\61\73\1\0\1\73\1\0" + "\2\73\4\0\5\73\1\u02a1\1\0\20\73\1\u02a1\77\73" + + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\67\73" + "\1\u03f8\14\73\1\u03f8\13\73\1\0\1\73\1\0\2\73" + + "\4\0\6\73\1\0\61\73\1\u03f9\17\73\1\u03f9\16\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\64\73" + + "\1\u03fa\12\73\1\u03fa\20\73\1\0\1\73\1\0\2\73" + "\4\0\6\73\1\0\21\73\1\u03fb\54\73\1\u03fb\21\73" + + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\1\u02a1" + "\53\73\1\u02a1\43\73\1\0\1\73\1\0\2\73\4\0" + + "\6\73\1\0\16\73\1\u02ac\61\73\1\u02ac\17\73\1\0" + "\1\73\1\0\2\73\4\0\6\73\1\0\11\73\1\u03fc" + + "\25\73\1\u03fc\60\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\61\73\1\u02ab\17\73\1\u02ab\16\73\1\0" + + "\1\73\1\0\2\73\4\0\3\73\1\u03fd\2\73\1\0" + "\60\73\1\u03fd\37\73\1\0\1\73\1\0\2\73\4\0" + + "\6\73\1\0\11\73\1\u02b3\25\73\1\u02b3\60\73\1\0" + "\1\73\1\0\2\73\4\0\5\73\1\u03fe\1\0\20\73" + + "\1\u03fe\77\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\53\73\1\u02ac\21\73\1\u02ac\22\73\1\0\1\73" + + "\1\0\2\73\4\0\6\73\1\0\11\73\1\u0164\25\73" + "\1\u0164\60\73\1\0\1\73\1\0\2\73\4\0\6\73" + + "\1\0\70\73\1\120\11\73\1\120\15\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\2\73\1\u03ff\33\73" + + "\1\u03ff\61\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\2\73\1\u0162\33\73\1\u0162\61\73\1\0\1\73" + + "\1\0\2\73\4\0\6\73\1\0\2\73\1\u02bc\33\73" + "\1\u02bc\61\73\1\0\1\73\1\0\2\73\4\0\6\73" + + "\1\0\2\73\1\u0164\33\73\1\u0164\61\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\21\73\1\u0400\54\73" + + "\1\u0400\21\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\57\73\1\u0290\5\73\1\u0290\32\73\1\0\1\73" + + "\1\0\2\73\4\0\6\73\1\0\53\73\1\u0401\21\73" + "\1\u0401\22\73\1\0\1\73\1\0\2\73\4\0\3\73" + + "\1\u0402\2\73\1\0\60\73\1\u0402\37\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\11\73\1\120\25\73" + + "\1\120\60\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\1\73\1\u0403\36\73\1\u0403\57\73\1\0\1\73" + + "\1\0\2\73\4\0\3\73\1\u0153\2\73\1\0\60\73" + "\1\u0153\37\73\1\0\1\73\1\0\2\73\4\0\2\73" + + "\1\u0404\3\73\1\0\17\73\1\u0404\100\73\1\0\1\73" + "\1\0\2\73\4\0\5\73\1\120\1\0\20\73\1\120" + + "\77\73\1\0\1\73\1\0\2\73\4\0\1\73\1\u0122" + "\4\73\1\0\55\73\1\u0122\42\73\1\0\1\73\1\0" + + "\2\73\4\0\6\73\1\0\64\73\1\u0405\12\73\1\u0405" + "\20\73\1\0\1\73\1\0\2\73\4\0\2\73\1\u0406" + + "\3\73\1\0\17\73\1\u0406\100\73\1\0\1\73\1\0" + "\2\73\4\0\6\73\1\0\64\73\1\u0407\12\73\1\u0407" + + "\20\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + "\1\73\1\u0408\36\73\1\u0408\57\73\1\0\1\73\1\0" + + "\2\73\4\0\6\73\1\0\16\73\1\u0409\61\73\1\u0409" + "\17\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + + "\64\73\1\120\12\73\1\120\20\73\1\0\1\73\1\0" + "\2\73\4\0\1\73\1\u040a\4\73\1\0\55\73\1\u040a" + + "\42\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + "\2\73\1\u040b\33\73\1\u040b\61\73\1\0\1\73\1\0" + + "\2\73\4\0\5\73\1\u040c\1\0\20\73\1\u040c\77\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\1\120" + + "\53\73\1\120\43\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\53\73\1\u040d\21\73\1\u040d\22\73\1\0" + + "\1\73\1\0\2\73\4\0\3\73\1\u040c\2\73\1\0" + "\60\73\1\u040c\1\u03f9\17\73\1\u03f9\16\73\1\0\1\73" + + "\1\0\2\73\4\0\4\73\1\u0297\1\73\1\0\62\73" + "\1\u0297\35\73\1\0\1\73\1\0\2\73\4\0\6\73" + + "\1\0\57\73\1\u040e\5\73\1\u040e\32\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\1\73\1\u040f\36\73" + + "\1\u040f\57\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\11\73\1\u0410\25\73\1\u0410\60\73\1\0\1\73" + + "\1\0\2\73\4\0\6\73\1\0\11\73\1\u0411\25\73" + "\1\u0411\60\73\1\0\1\73\1\0\2\73\4\0\6\73" + + "\1\0\2\73\1\u0162\6\73\1\120\24\73\1\u0162\1\120" + "\60\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + + "\16\73\1\120\61\73\1\120\17\73\1\0\1\73\1\0" + "\2\73\4\0\6\73\1\0\70\73\1\120\11\73\1\120" + + "\1\u0412\5\73\1\u0412\6\73\1\0\1\73\1\0\2\73" + "\4\0\5\73\1\u0413\1\0\20\73\1\u0413\77\73\1\0" + + "\1\73\1\0\2\73\4\0\6\73\1\0\2\73\1\u0153" + "\33\73\1\u0153\61\73\1\0\1\73\1\0\2\73\4\0" + + "\6\73\1\0\61\73\1\u0414\17\73\1\u0414\14\73\14\0" + + "\1\u0415\62\0\1\u0415\142\0\2\u02c9\2\0\1\u02c9\43\0" + + "\1\u0416\125\0\1\141\12\0\1\141\1\u0417\4\141\1\0" + "\2\141\1\u0417\2\0\1\141\5\u0417\1\141\1\0\5\141" + + "\2\u0417\1\0\2\141\1\0\2\u0417\1\141\1\u0417\2\0" + + "\2\u0417\2\141\10\0\3\141\1\u0417\1\141\1\u0417\5\141" + + "\1\u0417\3\141\4\0\11\141\1\u0417\5\141\2\u0417\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\5\152\1\u0418\10\152\4\0\21\152\1\u0172" + + "\12\0\6\u0172\1\0\3\u0172\2\0\1\u0172\3\u02cd\1\u0172" + + "\1\u02cd\1\u0172\1\0\5\u0172\1\u0176\1\u02cd\1\0\2\u0172" + + "\1\0\3\u0172\1\u0176\2\0\4\u0172\10\0\5\u0172\1\u0176" + + "\5\u0172\1\u0176\3\u0172\4\0\11\u0172\1\u02cd\5\u0172\2\u02cd" + + "\30\0\3\u02cd\1\0\1\u02cd\10\0\1\u02cd\62\0\1\u02cd" + + "\5\0\2\u02cd\1\u0172\12\0\6\u0172\1\0\1\u0172\1\u0173" + + "\1\u0172\2\0\1\u0172\3\u02cf\1\u0172\1\u02cf\1\u0175\1\0" + + "\6\u0172\1\u02cf\1\0\2\u0172\1\0\4\u0172\2\0\2\u0172" + + "\1\u0173\1\u0172\10\0\17\u0172\4\0\11\u0172\1\u02cf\5\u0172" + + "\2\u02cf\1\u0172\12\0\6\u0172\1\0\1\u0172\1\u02d0\1\u0172" + + "\2\0\2\u0172\2\u02d1\1\u0172\1\u02d1\1\u017a\1\0\6\u0172" + + "\1\u02d1\1\0\2\u0172\1\0\4\u0172\2\0\2\u0172\1\u02d0" + + "\1\u0172\10\0\17\u0172\4\0\11\u0172\1\u02d1\5\u0172\2\u02d1" + + "\1\u0172\12\0\1\u0172\1\u02d2\4\u0172\1\0\1\u0172\1\u02d0" + + "\1\u02d2\2\0\1\u0172\5\u02d2\1\u0419\1\0\5\u0172\2\u02d2" + + "\1\0\2\u0172\1\0\2\u02d2\1\u0172\1\u02d2\2\0\2\u02d2" + + "\1\u02d0\1\u0172\10\0\3\u0172\1\u02d2\1\u0172\1\u02d2\5\u0172" + + "\1\u02d2\3\u0172\4\0\11\u0172\1\u02d2\5\u0172\2\u02d2\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\3\152" + + "\1\u018f\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\1\u041a" + + "\5\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" + + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\1\u041b\3\152\10\0" + + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u041c\2\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\6\152" - + "\1\u0425\7\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\1\u0187\3\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" - + "\2\0\7\152\1\0\1\u016f\2\152\1\u042c\3\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\1\u041d\3\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" - + "\1\0\4\152\2\0\4\152\10\0\1\141\2\152\1\u042d" + "\13\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" - + "\2\0\7\152\1\0\1\u016f\1\152\1\u0421\4\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" - + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\2\152\1\u02f2\3\152\1\0" - + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" - + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\2\152\1\u0306" - + "\13\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" - + "\1\0\4\152\2\0\3\152\1\u02d9\10\0\1\141\16\152" + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" - + "\7\152\1\0\1\u016f\2\152\1\u042e\3\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\3\152\1\u042f\10\0\1\141" - + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\1\152\1\u0425\4\152\1\0" - + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" - + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\1\152\1\u0430\2\152\10\0\1\141" - + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\1\u0431\5\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" - + "\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\1\u0432\3\152\10\0\1\141\16\152\4\0" - + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\1\152" - + "\1\u0433\2\152\2\0\4\152\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" - + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\1\u0434\3\152\10\0\1\141\16\152\4\0\21\152" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\2\152\1\u0435\3\152\1\0\1\141\1\152\1\0" - + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\4\152\10\0\1\141\5\152\1\u0436\10\152\4\0\21\152" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" - + "\1\152\1\u0437\2\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\2\152\1\u0438\1\152\10\0\1\141\1\u0429\15\152\4\0" + + "\1\0\4\152\2\0\4\152\10\0\1\141\1\u041e\15\152" + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + + "\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\3\152\1\u01a1\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\4\152\10\0\1\141\1\u01a1\15\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\2\152\1\u042c\1\152\10\0\1\141\16\152\4\0\21\152" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\2\152\1\u0439\3\152\1\0\1\141\1\152\1\0" - + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\4\152\10\0\1\141\14\152\1\u043a\1\152\4\0\21\152" + + "\2\0\2\152\1\u01a1\1\152\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\5\152\1\u041f\10\152\4\0" + + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + + "\2\0\4\152\10\0\1\141\2\152\1\u0420\13\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\3\152\1\u02d5\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" - + "\3\152\1\u043b\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" - + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\15\152\1\u043c\4\0\21\152\1\141\12\0" - + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\2\152\1\u02e5" - + "\1\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" - + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\3\152\1\u01a1\12\152\4\0\21\152\1\141\12\0" - + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\1\152\1\u043d" + + "\1\152\1\u0421\2\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\1\152\1\u0422\2\152\10\0\1\141\16\152\4\0\21\152" + + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + + "\1\152\1\u0423\2\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\2\152\1\u0424\1\152\10\0\1\141\16\152\4\0\21\152" + + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + + "\1\u0425\3\152\10\0\1\141\16\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\11\152\1\u01a1\4\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + + "\10\0\1\141\3\152\1\u0426\12\152\4\0\21\152\1\141" + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\1\u01a1" + "\3\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\1\152\1\u0427" + "\2\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" - + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\4\152\1\u01a1\11\152\4\0\21\152\14\0\1\u043e" - + "\7\0\1\u043e\3\0\5\u043e\7\0\2\u043e\4\0\2\u043e" + "\1\0\1\u043e\2\0\2\u043e\15\0\1\u043e\1\0\1\u043e" - + "\5\0\1\u043e\20\0\1\u043e\5\0\2\u043e\14\0\1\u043f" + "\7\0\1\u043f\3\0\5\u043f\7\0\2\u043f\4\0\2\u043f" - + "\1\0\1\u043f\2\0\2\u043f\15\0\1\u043f\1\0\1\u043f" + "\5\0\1\u043f\20\0\1\u043f\5\0\2\u043f\14\0\1\u0440" - + "\62\0\1\u0440\130\0\1\u0441\127\0\1\u030c\163\0\1\u0442" + "\112\0\1\u0443\74\0\1\u0444\62\0\1\u0444\130\0\1\u0445" - + "\127\0\1\u0311\163\0\1\u0446\112\0\1\u0447\101\0\1\u0448" + "\206\0\1\u0449\127\0\1\u0316\121\0\1\u044a\137\0\1\u044b" - + "\176\0\1\u044c\77\0\1\u044d\157\0\1\u044e\15\0\1\u044f" + "\102\0\1\u0450\136\0\1\u0451\16\0\1\u0452\122\0\1\u0453" - + "\157\0\1\u0454\116\0\1\u0455\201\0\1\u0456\75\0\1\u0457" + "\36\0\1\u0458\77\0\1\u0459\137\0\1\u045a\202\0\1\u045b" - + "\112\0\1\u045c\162\0\1\u045d\132\0\1\u045e\137\0\1\u045f" + "\105\0\1\u0460\155\0\1\u0461\56\0\2\u01cf\1\u032f\5\u01cf" + + "\1\0\1\141\1\152\1\0\4\152\2\0\1\u0428\3\152" + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" + + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + + "\1\u0429\15\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\2\152\1\u042a\1\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\2\152\1\u042b\3\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\6\152" + "\1\u0425\7\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\1\u0187\3\152\10\0\1\141" + + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\2\152\1\u042c\3\152\1\0" + + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\2\152\1\u042d" + + "\13\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\1\152\1\u0421\4\152\1\0" + + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + + "\2\0\7\152\1\0\1\u016f\2\152\1\u02f2\3\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + + "\1\0\4\152\2\0\4\152\10\0\1\141\2\152\1\u0306" + "\13\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\3\152\1\u02d9\10\0\1\141\16\152" + + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\2\152\1\u042e\3\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\3\152\1\u042f\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + + "\2\0\7\152\1\0\1\u016f\1\152\1\u0425\4\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + "\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152" + + "\1\0\4\152\2\0\1\152\1\u0430\2\152\10\0\1\141" + "\16\152\4\0\21\152\1\141\12\0\6\152\1\0\3\152" + + "\2\0\7\152\1\0\1\u016f\1\u0431\5\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" + + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0" + + "\4\152\2\0\1\u0432\3\152\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\1\152" + "\1\u0433\2\152\2\0\4\152\10\0\1\141\16\152\4\0" + + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + + "\2\0\1\u0434\3\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\2\152\1\u0435\3\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + + "\4\152\10\0\1\141\5\152\1\u0436\10\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\1\152\1\u0437\2\152\10\0\1\141\16\152\4\0\21\152" + + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + + "\2\152\1\u0438\1\152\10\0\1\141\1\u0429\15\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\1\u01a1\15\152\4\0\21\152" + + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + + "\2\152\1\u042c\1\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\2\152\1\u0439\3\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + + "\4\152\10\0\1\141\14\152\1\u043a\1\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\3\152\1\u043b\10\0\1\141\16\152\4\0\21\152\1\141" + + "\12\0\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f" + "\6\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + + "\10\0\1\141\15\152\1\u043c\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + + "\1\0\1\141\1\152\1\0\4\152\2\0\2\152\1\u02e5" + "\1\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + + "\1\141\3\152\1\u01a1\12\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + + "\1\0\1\141\1\152\1\0\4\152\2\0\1\152\1\u043d" + "\2\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + + "\1\141\4\152\1\u01a1\11\152\4\0\21\152\14\0\1\u043e" + "\7\0\1\u043e\3\0\5\u043e\7\0\2\u043e\4\0\2\u043e" + + "\1\0\1\u043e\2\0\2\u043e\15\0\1\u043e\1\0\1\u043e" + "\5\0\1\u043e\20\0\1\u043e\5\0\2\u043e\14\0\1\u043f" + + "\7\0\1\u043f\3\0\5\u043f\7\0\2\u043f\4\0\2\u043f" + "\1\0\1\u043f\2\0\2\u043f\15\0\1\u043f\1\0\1\u043f" + + "\5\0\1\u043f\20\0\1\u043f\5\0\2\u043f\14\0\1\u0440" + + "\62\0\1\u0440\130\0\1\u0441\127\0\1\u030c\163\0\1\u0442" + + "\112\0\1\u0443\74\0\1\u0444\62\0\1\u0444\130\0\1\u0445" + + "\127\0\1\u0311\163\0\1\u0446\112\0\1\u0447\101\0\1\u0448" + + "\206\0\1\u0449\127\0\1\u0316\121\0\1\u044a\137\0\1\u044b" + + "\176\0\1\u044c\77\0\1\u044d\157\0\1\u044e\15\0\1\u044f" + + "\102\0\1\u0450\136\0\1\u0451\16\0\1\u0452\122\0\1\u0453" + + "\157\0\1\u0454\116\0\1\u0455\201\0\1\u0456\75\0\1\u0457" + + "\36\0\1\u0458\77\0\1\u0459\137\0\1\u045a\202\0\1\u045b" + + "\112\0\1\u045c\162\0\1\u045d\132\0\1\u045e\137\0\1\u045f" + + "\105\0\1\u0460\155\0\1\u0461\56\0\2\u01cf\1\u032f\5\u01cf" + "\1\u0462\127\u01cf\10\u032f\1\u032d\127\u032f\2\u0330\1\u0462\5\u0330" + "\1\u01d0\26\u0330\1\u0463\100\u0330\10\u01cf\1\u032d\3\u01cf\1\u0464" + "\7\u01cf\1\u0464\3\u01cf\5\u0464\2\u01cf\1\u032e\4\u01cf\2\u0464" @@ -1278,8 +1383,9 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u0333\6\u0332\1\u01d4\2\u0332\1\u0465\7\u0332\1\u0465\3\u0332" + "\5\u0465\7\u0332\2\u0465\4\u0332\2\u0465\1\u0332\1\u0465\2\u0332" + "\2\u0465\15\u0332\1\u0465\1\u0332\1\u0465\5\u0332\1\u0465\20\u0332" - + "\1\u0465\5\u0332\2\u0465\1\250\12\0\1\250\1\u0466\4\250" + "\1\0\2\250\1\u0466\2\0\1\250\5\u0466\1\250\1\0" - + "\5\250\2\u0466\1\0\2\250\1\0\2\u0466\1\250\1\u0466" + "\2\0\2\u0466\2\250\7\0\4\250\1\u0466\1\250\1\u0466" + + "\1\u0465\5\u0332\2\u0465\1\250\12\0\1\250\1\u0466\4\250" + + "\1\0\2\250\1\u0466\2\0\1\250\5\u0466\1\250\1\0" + "\5\250\2\u0466\1\0\2\250\1\0\2\u0466\1\250\1\u0466" + + "\2\0\2\u0466\2\250\7\0\4\250\1\u0466\1\250\1\u0466" + "\5\250\1\u0466\3\250\4\0\11\250\1\u0466\5\250\2\u0466" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\u0467\3\264\7\0\2\250\5\264\1\u0468\10\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" @@ -1364,16 +1470,26 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u04a9" + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\2\264\1\u04aa\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\16\264\4\0\21\264\1\u0200\12\0\6\u0200\1\0" + "\3\u0200\2\0\1\u0200\3\u0373\1\u0200\1\u0373\1\u0200\1\0" - + "\5\u0200\1\u0204\1\u0373\1\0\2\u0200\1\0\3\u0200\1\u0204" + "\2\0\4\u0200\7\0\1\250\5\u0200\1\u0204\5\u0200\1\u0204" - + "\3\u0200\4\0\11\u0200\1\u0373\5\u0200\2\u0373\1\u0200\12\0" + "\6\u0200\1\0\1\u0200\1\u0201\1\u0200\2\0\1\u0200\3\u0374" - + "\1\u0200\1\u0374\1\u0203\1\0\6\u0200\1\u0374\1\0\2\u0200" + "\1\0\4\u0200\2\0\2\u0200\1\u0201\1\u0200\7\0\1\250" - + "\17\u0200\4\0\11\u0200\1\u0374\5\u0200\2\u0374\1\u0200\12\0" + "\6\u0200\1\0\1\u0200\1\u0375\1\u0200\2\0\2\u0200\2\u0376" - + "\1\u0200\1\u0376\1\u0207\1\0\6\u0200\1\u0376\1\0\2\u0200" + "\1\0\4\u0200\2\0\2\u0200\1\u0375\1\u0200\7\0\1\250" - + "\17\u0200\4\0\11\u0200\1\u0376\5\u0200\2\u0376\1\u0200\12\0" + "\6\u0200\1\0\3\u0200\2\0\2\u0200\2\u0377\2\u0200\1\u04ab" - + "\1\0\7\u0200\1\0\2\u0200\1\0\4\u0200\2\0\4\u0200" + "\7\0\1\250\17\u0200\4\0\22\u0200\12\0\1\u0200\1\u0378" - + "\4\u0200\1\0\1\u0200\1\u0375\1\u0378\2\0\1\u0200\5\u0378" + "\1\u04ac\1\0\5\u0200\2\u0378\1\0\2\u0200\1\0\2\u0378" - + "\1\u0200\1\u0378\2\0\2\u0378\1\u0375\1\u0200\7\0\1\250" + "\3\u0200\1\u0378\1\u0200\1\u0378\5\u0200\1\u0378\3\u0200\4\0" + + "\2\250\16\264\4\0\21\264\1\u0200\12\0\6\u0200\1\0" + + "\3\u0200\2\0\1\u0200\3\u0373\1\u0200\1\u0373\1\u0200\1\0" + + "\5\u0200\1\u0204\1\u0373\1\0\2\u0200\1\0\3\u0200\1\u0204" + + "\2\0\4\u0200\7\0\1\250\5\u0200\1\u0204\5\u0200\1\u0204" + + "\3\u0200\4\0\11\u0200\1\u0373\5\u0200\2\u0373\1\u0200\12\0" + + "\6\u0200\1\0\1\u0200\1\u0201\1\u0200\2\0\1\u0200\3\u0374" + + "\1\u0200\1\u0374\1\u0203\1\0\6\u0200\1\u0374\1\0\2\u0200" + + "\1\0\4\u0200\2\0\2\u0200\1\u0201\1\u0200\7\0\1\250" + + "\17\u0200\4\0\11\u0200\1\u0374\5\u0200\2\u0374\1\u0200\12\0" + + "\6\u0200\1\0\1\u0200\1\u0375\1\u0200\2\0\2\u0200\2\u0376" + + "\1\u0200\1\u0376\1\u0207\1\0\6\u0200\1\u0376\1\0\2\u0200" + + "\1\0\4\u0200\2\0\2\u0200\1\u0375\1\u0200\7\0\1\250" + + "\17\u0200\4\0\11\u0200\1\u0376\5\u0200\2\u0376\1\u0200\12\0" + + "\6\u0200\1\0\3\u0200\2\0\2\u0200\2\u0377\2\u0200\1\u04ab" + + "\1\0\7\u0200\1\0\2\u0200\1\0\4\u0200\2\0\4\u0200" + + "\7\0\1\250\17\u0200\4\0\22\u0200\12\0\1\u0200\1\u0378" + + "\4\u0200\1\0\1\u0200\1\u0375\1\u0378\2\0\1\u0200\5\u0378" + + "\1\u04ac\1\0\5\u0200\2\u0378\1\0\2\u0200\1\0\2\u0378" + + "\1\u0200\1\u0378\2\0\2\u0378\1\u0375\1\u0200\7\0\1\250" + + "\3\u0200\1\u0378\1\u0200\1\u0378\5\u0200\1\u0378\3\u0200\4\0" + "\11\u0200\1\u0378\5\u0200\2\u0378\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\u04ad" + "\15\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\264\1\u04ae\2\264\7\0\2\250" @@ -1510,13 +1626,20 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\15\264\1\u04f8\4\0\21\264\2\333\1\0\1\333\1\0" + "\2\333\4\0\6\333\1\0\40\333\1\u04f9\57\333\1\0" + "\1\333\1\0\2\333\4\0\6\333\1\0\40\333\1\u04fa" + "\57\333\1\0\1\333\1\0\2\333\4\0\6\333\1\0" + "\36\333\1\u04fb\57\333\20\0\1\u04fc\21\0\1\u04fc\172\0" - + "\1\u03da\103\0\1\u04fd\176\0\1\u04fe\101\0\1\337\174\0" + "\1\u04ff\101\0\1\u0500\157\0\1\u0501\162\0\1\u0502\75\0" - + "\1\u0503\140\0\1\u0504\17\0\1\u0505\117\0\1\u0506\176\0" + "\1\u0507\115\0\1\u0508\123\0\1\u0509\155\0\1\u050a\135\0" - + "\1\u050b\170\0\1\u050c\111\0\1\u03dd\137\0\1\u050d\160\0" + "\1\u050e\46\0\3\u0116\1\u050f\2\u0116\1\0\3\u0116\2\0" - + "\6\u0116\3\0\6\u0116\4\0\4\u0116\2\0\4\u0116\11\0" + "\5\u0116\1\u050f\10\u0116\4\0\21\u0116\13\0\6\u0116\1\0" - + "\1\u0116\1\u0510\1\u0116\2\0\6\u0116\3\0\6\u0116\4\0" + "\4\u0116\2\0\2\u0116\1\u0510\1\u0116\11\0\16\u0116\4\0" - + "\21\u0116\12\0\1\u0511\210\0\1\u0282\4\0\1\u03ef\54\0" + "\3\u0512\1\0\1\u0512\7\u03f1\1\0\3\u03f1\2\u0512\6\u03f1" - + "\2\u0512\1\0\6\u03f1\1\0\1\u0512\1\u03f1\1\u0512\4\u03f1" + "\2\u0512\4\u03f1\1\0\1\u0512\1\0\3\u0512\2\0\1\u0512" + + "\1\u03da\103\0\1\u04fd\176\0\1\u04fe\101\0\1\337\174\0" + + "\1\u04ff\101\0\1\u0500\157\0\1\u0501\162\0\1\u0502\75\0" + + "\1\u0503\140\0\1\u0504\17\0\1\u0505\117\0\1\u0506\176\0" + + "\1\u0507\115\0\1\u0508\123\0\1\u0509\155\0\1\u050a\135\0" + + "\1\u050b\170\0\1\u050c\111\0\1\u03dd\137\0\1\u050d\160\0" + + "\1\u050e\46\0\3\u0116\1\u050f\2\u0116\1\0\3\u0116\2\0" + + "\6\u0116\3\0\6\u0116\4\0\4\u0116\2\0\4\u0116\11\0" + + "\5\u0116\1\u050f\10\u0116\4\0\21\u0116\13\0\6\u0116\1\0" + + "\1\u0116\1\u0510\1\u0116\2\0\6\u0116\3\0\6\u0116\4\0" + + "\4\u0116\2\0\2\u0116\1\u0510\1\u0116\11\0\16\u0116\4\0" + + "\21\u0116\12\0\1\u0511\210\0\1\u0282\4\0\1\u03ef\54\0" + + "\3\u0512\1\0\1\u0512\7\u03f1\1\0\3\u03f1\2\u0512\6\u03f1" + + "\2\u0512\1\0\6\u03f1\1\0\1\u0512\1\u03f1\1\u0512\4\u03f1" + + "\2\u0512\4\u03f1\1\0\1\u0512\1\0\3\u0512\2\0\1\u0512" + "\16\u03f1\2\u0512\1\0\1\u0512\21\u03f1\2\73\1\0\1\73" + "\1\0\2\73\4\0\4\73\1\u02ac\1\73\1\0\62\73" + "\1\u02ac\35\73\1\0\1\73\1\0\2\73\4\0\6\73" + "\1\0\70\73\1\u0290\11\73\1\u0290\15\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\21\73\1\u0133\54\73" + "\1\u0133\21\73\1\0\1\73\1\0\2\73\4\0\3\73" @@ -1544,11 +1667,14 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\61\73\1\u0525\17\73\1\0\1\73\1\0\2\73\4\0" + "\3\73\1\u0526\2\73\1\0\60\73\1\u0526\37\73\1\0" + "\1\73\1\0\2\73\4\0\6\73\1\0\2\73\1\u015d" + "\33\73\1\u015d\57\73\15\0\1\u0527\23\0\1\u0527\76\0" + "\1\141\12\0\1\141\1\u0528\4\141\1\0\2\141\1\u0528" + "\2\0\1\141\5\u0528\1\141\1\0\5\141\2\u0528\1\0" - + "\2\141\1\0\2\u0528\1\141\1\u0528\2\0\2\u0528\2\141" + "\10\0\3\141\1\u0528\1\141\1\u0528\5\141\1\u0528\3\141" + + "\2\141\1\0\2\u0528\1\141\1\u0528\2\0\2\u0528\2\141" + + "\10\0\3\141\1\u0528\1\141\1\u0528\5\141\1\u0528\3\141" + "\4\0\11\141\1\u0528\5\141\2\u0528\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u0529" + "\2\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\16\152\4\0\21\152\1\u0172\12\0\1\u0172" - + "\1\u02d2\4\u0172\1\0\2\u0172\1\u02d2\2\0\1\u0172\5\u02d2" + "\1\u0419\1\0\5\u0172\2\u02d2\1\0\2\u0172\1\0\2\u02d2" - + "\1\u0172\1\u02d2\2\0\2\u02d2\2\u0172\10\0\3\u0172\1\u02d2" + "\1\u0172\1\u02d2\5\u0172\1\u02d2\3\u0172\4\0\11\u0172\1\u02d2" + + "\1\u02d2\4\u0172\1\0\2\u0172\1\u02d2\2\0\1\u0172\5\u02d2" + + "\1\u0419\1\0\5\u0172\2\u02d2\1\0\2\u0172\1\0\2\u02d2" + + "\1\u0172\1\u02d2\2\0\2\u02d2\2\u0172\10\0\3\u0172\1\u02d2" + + "\1\u0172\1\u02d2\5\u0172\1\u02d2\3\u0172\4\0\11\u0172\1\u02d2" + "\5\u0172\2\u02d2\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\1\152\1\u052a\4\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\3\152\1\u052b\10\0\1\141\16\152\4\0" @@ -1597,16 +1723,26 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\7\152\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\1\152\1\u053f\2\152\10\0\1\141\16\152" + "\4\0\21\152\1\141\12\0\6\152\1\0\3\152\2\0" + "\7\152\1\0\1\u016f\2\152\1\u01a8\3\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\16\152" + "\4\0\21\152\15\0\1\u0540\23\0\1\u0540\110\0\1\u0541" - + "\210\0\1\u030c\4\0\1\u0441\54\0\3\u0542\1\0\1\u0542" + "\7\u0443\1\0\3\u0443\2\u0542\6\u0443\2\u0542\1\0\6\u0443" - + "\1\0\1\u0542\1\u0443\1\u0542\4\u0443\2\u0542\4\u0443\1\0" + "\1\u0542\1\0\3\u0542\2\0\1\u0542\16\u0443\2\u0542\1\0" - + "\1\u0542\21\u0443\15\0\1\u0543\23\0\1\u0543\110\0\1\u0544" + "\210\0\1\u0311\4\0\1\u0445\54\0\3\u0545\1\0\1\u0545" - + "\7\u0447\1\0\3\u0447\2\u0545\6\u0447\2\u0545\1\0\6\u0447" + "\1\0\1\u0545\1\u0447\1\u0545\4\u0447\2\u0545\4\u0447\1\0" - + "\1\u0545\1\0\3\u0545\2\0\1\u0545\16\u0447\2\u0545\1\0" + "\1\u0545\21\u0447\12\0\1\u0546\165\0\1\u0547\174\0\1\u0548" - + "\137\0\1\u0452\122\0\1\u0549\14\0\1\u054a\150\0\1\u054b" + "\111\0\1\u054c\1\0\1\u054d\155\0\1\u054e\141\0\1\u054f" - + "\134\0\1\u0550\135\0\1\u0551\122\0\1\u0552\120\0\1\u0553" + "\156\0\1\u0554\137\0\1\u0555\140\0\1\u0556\141\0\1\u0557" - + "\137\0\1\u0316\4\0\1\u0449\54\0\3\u0558\1\0\1\u0558" + "\7\u045c\1\0\3\u045c\2\u0558\6\u045c\2\u0558\1\0\6\u045c" - + "\1\0\1\u0558\1\u045c\1\u0558\4\u045c\2\u0558\4\u045c\1\0" + "\1\u0558\1\0\3\u0558\2\0\1\u0558\16\u045c\2\u0558\1\0" - + "\1\u0558\21\u045c\42\0\1\u0559\1\u055a\175\0\1\u055b\135\0" + "\1\u055c\140\0\1\u055d\121\0\1\u055e\55\0\10\u0462\1\0" + + "\210\0\1\u030c\4\0\1\u0441\54\0\3\u0542\1\0\1\u0542" + + "\7\u0443\1\0\3\u0443\2\u0542\6\u0443\2\u0542\1\0\6\u0443" + + "\1\0\1\u0542\1\u0443\1\u0542\4\u0443\2\u0542\4\u0443\1\0" + + "\1\u0542\1\0\3\u0542\2\0\1\u0542\16\u0443\2\u0542\1\0" + + "\1\u0542\21\u0443\15\0\1\u0543\23\0\1\u0543\110\0\1\u0544" + + "\210\0\1\u0311\4\0\1\u0445\54\0\3\u0545\1\0\1\u0545" + + "\7\u0447\1\0\3\u0447\2\u0545\6\u0447\2\u0545\1\0\6\u0447" + + "\1\0\1\u0545\1\u0447\1\u0545\4\u0447\2\u0545\4\u0447\1\0" + + "\1\u0545\1\0\3\u0545\2\0\1\u0545\16\u0447\2\u0545\1\0" + + "\1\u0545\21\u0447\12\0\1\u0546\165\0\1\u0547\174\0\1\u0548" + + "\137\0\1\u0452\122\0\1\u0549\14\0\1\u054a\150\0\1\u054b" + + "\111\0\1\u054c\1\0\1\u054d\155\0\1\u054e\141\0\1\u054f" + + "\134\0\1\u0550\135\0\1\u0551\122\0\1\u0552\120\0\1\u0553" + + "\156\0\1\u0554\137\0\1\u0555\140\0\1\u0556\141\0\1\u0557" + + "\137\0\1\u0316\4\0\1\u0449\54\0\3\u0558\1\0\1\u0558" + + "\7\u045c\1\0\3\u045c\2\u0558\6\u045c\2\u0558\1\0\6\u045c" + + "\1\0\1\u0558\1\u045c\1\u0558\4\u045c\2\u0558\4\u045c\1\0" + + "\1\u0558\1\0\3\u0558\2\0\1\u0558\16\u045c\2\u0558\1\0" + + "\1\u0558\21\u045c\42\0\1\u0559\1\u055a\175\0\1\u055b\135\0" + + "\1\u055c\140\0\1\u055d\121\0\1\u055e\55\0\10\u0462\1\0" + "\26\u0462\1\u055f\102\u0462\1\0\5\u0462\2\u0330\17\u0462\2\u0330" + "\1\u0462\1\u0330\2\u0462\1\u0330\1\u0560\5\u0330\5\u0462\1\u0330" + "\54\u0462\1\u0330\5\u0462\2\u0330\10\u01cf\1\u032d\3\u01cf\1\u0561" @@ -1616,8 +1752,9 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\2\u0332\1\u0333\6\u0332\1\u01d4\2\u0332\1\u0562\7\u0332\1\u0562" + "\3\u0332\5\u0562\7\u0332\2\u0562\4\u0332\2\u0562\1\u0332\1\u0562" + "\2\u0332\2\u0562\15\u0332\1\u0562\1\u0332\1\u0562\5\u0332\1\u0562" - + "\20\u0332\1\u0562\5\u0332\2\u0562\1\250\12\0\1\250\1\u0563" + "\4\250\1\0\2\250\1\u0563\2\0\1\250\5\u0563\1\250" - + "\1\0\5\250\2\u0563\1\0\2\250\1\0\2\u0563\1\250" + "\1\u0563\2\0\2\u0563\2\250\7\0\4\250\1\u0563\1\250" + + "\20\u0332\1\u0562\5\u0332\2\u0562\1\250\12\0\1\250\1\u0563" + + "\4\250\1\0\2\250\1\u0563\2\0\1\250\5\u0563\1\250" + "\1\0\5\250\2\u0563\1\0\2\250\1\0\2\u0563\1\250" + + "\1\u0563\2\0\2\u0563\2\250\7\0\4\250\1\u0563\1\250" + "\1\u0563\5\250\1\u0563\3\250\4\0\11\250\1\u0563\5\250" + "\2\u0563\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\1\264\1\u0564\2\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\3\264\1\u0565\2\264\1\0\1\250\1\264" @@ -1720,9 +1857,12 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\2\250\1\264\1\u05a7\14\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264" + "\1\u05a8\3\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\10\264\1\u0490\5\264\4\0\21\264\1\u0200\12\0" + "\1\u0200\1\u0378\4\u0200\1\0\2\u0200\1\u0378\2\0\1\u0200" - + "\5\u0378\1\u04ac\1\0\5\u0200\2\u0378\1\0\2\u0200\1\0" + "\2\u0378\1\u0200\1\u0378\2\0\2\u0378\2\u0200\7\0\1\250" - + "\3\u0200\1\u0378\1\u0200\1\u0378\5\u0200\1\u0378\3\u0200\4\0" + "\11\u0200\1\u0378\5\u0200\2\u0378\1\250\12\0\1\264\1\u05a9" + + "\2\250\10\264\1\u0490\5\264\4\0\21\264\1\u0200\12\0" + + "\1\u0200\1\u0378\4\u0200\1\0\2\u0200\1\u0378\2\0\1\u0200" + + "\5\u0378\1\u04ac\1\0\5\u0200\2\u0378\1\0\2\u0200\1\0" + + "\2\u0378\1\u0200\1\u0378\2\0\2\u0378\2\u0200\7\0\1\250" + + "\3\u0200\1\u0378\1\u0200\1\u0378\5\u0200\1\u0378\3\u0200\4\0" + + "\11\u0200\1\u0378\5\u0200\2\u0378\1\250\12\0\1\264\1\u05a9" + "\4\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\264" + "\1\u05aa\14\264\4\0\21\264\1\250\12\0\6\264\1\0" @@ -1758,18 +1898,19 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\u05ba\3\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\2\264\1\u05bb" + "\1\u05bc\1\u05bd\1\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\3\264\1\u05be\2\264\1\0\1\250\1\264\1\0" - + "\3\264\1\u05bf\2\0\4\264\7\0\2\250\12\264\1\u05c0" + "\3\264\4\0\1\u05c1\1\u05c2\14\264\1\u05c3\2\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\3\264\1\u05c4\2\264\1\0\1\250\1\264\1\0\4\264" + + "\3\264\1\u05bf\2\0\4\264\7\0\2\250\12\264\1\u05c0" + + "\3\264\4\0\1\u05c1\1\u05c2\14\264\1\u05c3\2\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\3\264\1\u05c4\2\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\1\264\1\u05c5\4\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\1\264\1\u05c5\4\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\1\264\1\u04d0\4\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\2\264\1\u05c6\13\264\4\0\21\264\1\250" + + "\1\264\1\u04d0\4\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\5\264\1\u05c7\10\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\3\264\1\u05c8\12\264\4\0\21\264\1\250" - + "\12\0\1\250\1\u05c9\4\250\1\0\2\250\1\u05c9\2\0" + "\1\250\5\u05c9\1\250\1\0\5\250\2\u05c9\1\0\2\250" - + "\1\0\2\u05c9\1\250\1\u05c9\2\0\2\u05c9\2\250\7\0" + "\4\250\1\u05c9\1\250\1\u05c9\5\250\1\u05c9\3\250\4\0" + + "\7\0\2\250\2\264\1\u05c6\13\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\5\264\1\u05c7\10\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\3\264\1\u05c8\12\264\4\0\21\264\1\250" + "\12\0\1\250\1\u05c9\4\250\1\0\2\250\1\u05c9\2\0" + + "\1\250\5\u05c9\1\250\1\0\5\250\2\u05c9\1\0\2\250" + "\1\0\2\u05c9\1\250\1\u05c9\2\0\2\u05c9\2\250\7\0" + + "\4\250\1\u05c9\1\250\1\u05c9\5\250\1\u05c9\3\250\4\0" + "\11\250\1\u05c9\5\250\2\u05c9\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\3\264" + "\1\u0237\12\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" @@ -1834,65 +1975,75 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\3\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\10\264\1\u05ef\10\264\2\333\1\0" + "\1\333\1\0\2\333\4\0\6\333\1\0\60\333\1\u05f0" + "\37\333\1\0\1\333\1\0\2\333\4\0\6\333\1\0" - + "\16\333\1\u05f1\77\333\22\0\1\u05f2\53\0\1\u05f2\144\0" + "\1\u05f3\72\0\1\u05f4\141\0\1\u05f5\162\0\1\u0505\127\0" - + "\1\u05f6\126\0\1\u05f7\177\0\1\u05f8\140\0\1\337\76\0" + "\1\u05f9\207\0\1\337\66\0\1\u05fa\142\0\1\u05fb\135\0" - + "\1\u050c\173\0\1\u05f9\140\0\1\u05fc\120\0\1\u05fd\161\0" + "\1\u05fe\132\0\1\u05ff\55\0\4\u0116\1\u0600\1\u0116\1\0" - + "\3\u0116\2\0\6\u0116\3\0\6\u0116\4\0\4\u0116\2\0" + "\4\u0116\11\0\7\u0116\1\u0600\6\u0116\4\0\21\u0116\13\0" - + "\6\u0116\1\0\2\u0116\1\u0601\2\0\6\u0116\3\0\6\u0116" + "\4\0\4\u0116\2\0\1\u0601\3\u0116\11\0\16\u0116\4\0" - + "\21\u0116\12\0\1\u03f1\125\0\2\73\1\0\1\73\1\0" + "\2\73\4\0\1\120\5\73\1\0\41\73\1\120\56\73" - + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\53\73" + "\1\u0602\21\73\1\u0602\22\73\1\0\1\73\1\0\2\73" - + "\4\0\6\73\1\0\21\73\1\u02ac\54\73\1\u02ac\21\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\2\73" - + "\1\u0603\33\73\1\u0603\61\73\1\0\1\73\1\0\2\73" + "\4\0\5\73\1\u0604\1\0\20\73\1\u0604\77\73\1\0" - + "\1\73\1\0\2\73\4\0\2\73\1\u0605\3\73\1\0" + "\17\73\1\u0605\100\73\1\0\1\73\1\0\2\73\4\0" - + "\1\u0606\5\73\1\0\41\73\1\u0606\56\73\1\0\1\73" + "\1\0\2\73\4\0\6\73\1\0\1\u02b3\53\73\1\u02b3" - + "\43\73\1\0\1\73\1\0\2\73\4\0\1\u0513\5\73" + "\1\0\41\73\1\u0513\56\73\1\0\1\73\1\0\2\73" - + "\4\0\6\73\1\0\64\73\1\u0607\12\73\1\u0607\20\73" + "\1\0\1\73\1\0\2\73\4\0\1\u0403\5\73\1\0" - + "\41\73\1\u0403\56\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\103\73\1\u0608\5\73\1\u0608\6\73\1\0" - + "\1\73\1\0\2\73\4\0\6\73\1\0\53\73\1\u0515" + "\21\73\1\u0515\22\73\1\0\1\73\1\0\2\73\4\0" - + "\6\73\1\0\1\73\1\u0513\36\73\1\u0513\57\73\1\0" + "\1\73\1\0\2\73\4\0\6\73\1\0\2\73\1\u0609" - + "\33\73\1\u0609\61\73\1\0\1\73\1\0\2\73\4\0" + "\3\73\1\u0149\2\73\1\0\60\73\1\u0149\37\73\1\0" - + "\1\73\1\0\2\73\4\0\2\73\1\u060a\3\73\1\0" + "\17\73\1\u060a\100\73\1\0\1\73\1\0\2\73\4\0" - + "\6\73\1\0\2\73\1\u0290\33\73\1\u0290\61\73\1\0" + "\1\73\1\0\2\73\4\0\1\73\1\u060b\4\73\1\0" - + "\55\73\1\u060b\40\73\16\0\1\u060c\63\0\1\u060c\35\0" + "\1\141\12\0\1\141\1\u060d\4\141\1\0\2\141\1\u060d" - + "\2\0\1\141\5\u060d\1\141\1\0\5\141\2\u060d\1\0" + "\2\141\1\0\2\u060d\1\141\1\u060d\2\0\2\u060d\2\141" - + "\10\0\3\141\1\u060d\1\141\1\u060d\5\141\1\u060d\3\141" + "\4\0\11\141\1\u060d\5\141\2\u060d\1\141\12\0\6\152" - + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" - + "\5\152\1\u060e\10\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u060f" - + "\2\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" - + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" - + "\5\152\1\u0610\10\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\4\152\1\u01a1" - + "\1\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" - + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" - + "\5\152\1\u0611\10\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" - + "\1\141\1\152\1\0\4\152\2\0\2\152\1\u0612\1\152" + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" - + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\1\152\1\u0613\2\152" + + "\16\333\1\u05f1\77\333\22\0\1\u05f2\53\0\1\u05f2\144\0" + + "\1\u05f3\72\0\1\u05f4\141\0\1\u05f5\162\0\1\u0505\127\0" + + "\1\u05f6\126\0\1\u05f7\177\0\1\u05f8\140\0\1\337\76\0" + + "\1\u05f9\207\0\1\337\66\0\1\u05fa\142\0\1\u05fb\135\0" + + "\1\u050c\173\0\1\u05f9\140\0\1\u05fc\120\0\1\u05fd\161\0" + + "\1\u05fe\132\0\1\u05ff\55\0\4\u0116\1\u0600\1\u0116\1\0" + + "\3\u0116\2\0\6\u0116\3\0\6\u0116\4\0\4\u0116\2\0" + + "\4\u0116\11\0\7\u0116\1\u0600\6\u0116\4\0\21\u0116\13\0" + + "\6\u0116\1\0\2\u0116\1\u0601\2\0\6\u0116\3\0\6\u0116" + + "\4\0\4\u0116\2\0\1\u0601\3\u0116\11\0\16\u0116\4\0" + "\21\u0116\12\0\1\u03f1\125\0\2\73\1\0\1\73\1\0" + + "\2\73\4\0\1\120\5\73\1\0\41\73\1\120\56\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\53\73" + + "\1\u0602\21\73\1\u0602\22\73\1\0\1\73\1\0\2\73" + "\4\0\6\73\1\0\21\73\1\u02ac\54\73\1\u02ac\21\73" + + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\2\73" + "\1\u0603\33\73\1\u0603\61\73\1\0\1\73\1\0\2\73" + + "\4\0\5\73\1\u0604\1\0\20\73\1\u0604\77\73\1\0" + "\1\73\1\0\2\73\4\0\2\73\1\u0605\3\73\1\0" + + "\17\73\1\u0605\100\73\1\0\1\73\1\0\2\73\4\0" + "\1\u0606\5\73\1\0\41\73\1\u0606\56\73\1\0\1\73" + + "\1\0\2\73\4\0\6\73\1\0\1\u02b3\53\73\1\u02b3" + "\43\73\1\0\1\73\1\0\2\73\4\0\1\u0513\5\73" + + "\1\0\41\73\1\u0513\56\73\1\0\1\73\1\0\2\73" + "\4\0\6\73\1\0\64\73\1\u0607\12\73\1\u0607\20\73" + + "\1\0\1\73\1\0\2\73\4\0\1\u0403\5\73\1\0" + "\41\73\1\u0403\56\73\1\0\1\73\1\0\2\73\4\0" + + "\6\73\1\0\103\73\1\u0608\5\73\1\u0608\6\73\1\0" + "\1\73\1\0\2\73\4\0\6\73\1\0\53\73\1\u0515" + + "\21\73\1\u0515\22\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\1\73\1\u0513\36\73\1\u0513\57\73\1\0" + + "\1\73\1\0\2\73\4\0\6\73\1\0\2\73\1\u0609" + "\33\73\1\u0609\61\73\1\0\1\73\1\0\2\73\4\0" + + "\3\73\1\u0149\2\73\1\0\60\73\1\u0149\37\73\1\0" + "\1\73\1\0\2\73\4\0\2\73\1\u060a\3\73\1\0" + + "\17\73\1\u060a\100\73\1\0\1\73\1\0\2\73\4\0" + "\6\73\1\0\2\73\1\u0290\33\73\1\u0290\61\73\1\0" + + "\1\73\1\0\2\73\4\0\1\73\1\u060b\4\73\1\0" + "\55\73\1\u060b\40\73\16\0\1\u060c\63\0\1\u060c\35\0" + + "\1\141\12\0\1\141\1\u060d\4\141\1\0\2\141\1\u060d" + "\2\0\1\141\5\u060d\1\141\1\0\5\141\2\u060d\1\0" + + "\2\141\1\0\2\u060d\1\141\1\u060d\2\0\2\u060d\2\141" + + "\10\0\3\141\1\u060d\1\141\1\u060d\5\141\1\u060d\3\141" + + "\4\0\11\141\1\u060d\5\141\2\u060d\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\5\152\1\u060e\10\152\4\0\21\152\1\141\12\0\6\152" + + "\1\0\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u060f" + "\2\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" - + "\1\141\1\152\1\0\4\152\2\0\1\u042a\3\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\4\152" - + "\1\u02d9\11\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\1\152\1\u0614\2\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\5\152\1\u0610\10\152\4\0\21\152\1\141\12\0\6\152" + + "\1\0\3\152\2\0\7\152\1\0\1\u016f\4\152\1\u01a1" + "\1\152\1\0\1\141\1\152\1\0\4\152\2\0\4\152" + + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\5\152\1\u0611\10\152\4\0\21\152\1\141\12\0\6\152" + + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\2\152\1\u0612\1\152" + + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + + "\1\141\1\152\1\0\4\152\2\0\1\152\1\u0613\2\152" + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" + + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\1\u042a\3\152\10\0" + + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\4\152" + "\1\u02d9\11\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\1\152\1\u0614\2\152\10\0" + + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\2\152" + "\1\u01a1\13\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\1\152\1\u0615\4\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u0616\2\152" + + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\2\152\1\u042f\1\152\10\0" + + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\6\152" + "\1\u02ed\7\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\4\152\1\u0617\1\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u0618\2\152" + + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\5\152" + + "\1\u0619\10\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\11\152" + "\1\u061a\4\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\2\152" - + "\1\u01a1\13\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\1\152\1\u0615\4\152" - + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u0616\2\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" - + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\2\152\1\u042f\1\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\6\152" - + "\1\u02ed\7\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\4\152\1\u0617\1\152" - + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\3\152\1\u0618\2\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\4\152\10\0" - + "\1\141\16\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\5\152" + "\1\u0619\10\152\4\0\21\152\1\141\12\0\6\152\1\0" - + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\11\152" - + "\1\u061a\4\152\4\0\21\152\1\141\12\0\6\152\1\0" + "\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0\1\141" - + "\1\152\1\0\4\152\2\0\4\152\10\0\1\141\2\152" + "\1\u061b\13\152\4\0\21\152\1\141\12\0\3\152\1\u061c" - + "\2\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + "\1\0\1\141\1\152\1\0\3\152\1\u061d\2\0\4\152" - + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" - + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + "\6\152\1\u02e5\7\152\4\0\21\152\16\0\1\u061e\63\0" - + "\1\u061e\47\0\1\u0443\143\0\1\u061f\63\0\1\u061f\47\0" + "\1\u0447\137\0\1\u045c\166\0\1\u0620\137\0\1\u0621\157\0" - + "\1\u0622\166\0\1\u0623\133\0\1\u0624\137\0\1\u0625\73\0" + "\1\u0626\174\0\1\u0627\123\0\1\u0628\136\0\1\u0452\141\0" - + "\1\u0629\160\0\1\u062a\114\0\1\u062b\120\0\1\u062c\203\0" + "\1\u0452\140\0\1\u0452\133\0\1\u062d\115\0\1\u062e\171\0" - + "\1\u062f\105\0\1\u062f\74\0\1\u0630\202\0\1\u0631\117\0" + "\1\u055b\77\0\2\u0462\1\0\145\u0462\1\0\3\u0462\1\u0632" + + "\1\u061b\13\152\4\0\21\152\1\141\12\0\3\152\1\u061c" + "\2\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + + "\1\0\1\141\1\152\1\0\3\152\1\u061d\2\0\4\152" + "\10\0\1\141\16\152\4\0\21\152\1\141\12\0\6\152" + + "\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152\1\0" + "\1\141\1\152\1\0\4\152\2\0\4\152\10\0\1\141" + + "\6\152\1\u02e5\7\152\4\0\21\152\16\0\1\u061e\63\0" + + "\1\u061e\47\0\1\u0443\143\0\1\u061f\63\0\1\u061f\47\0" + + "\1\u0447\137\0\1\u045c\166\0\1\u0620\137\0\1\u0621\157\0" + + "\1\u0622\166\0\1\u0623\133\0\1\u0624\137\0\1\u0625\73\0" + + "\1\u0626\174\0\1\u0627\123\0\1\u0628\136\0\1\u0452\141\0" + + "\1\u0629\160\0\1\u062a\114\0\1\u062b\120\0\1\u062c\203\0" + + "\1\u0452\140\0\1\u0452\133\0\1\u062d\115\0\1\u062e\171\0" + + "\1\u062f\105\0\1\u062f\74\0\1\u0630\202\0\1\u0631\117\0" + + "\1\u055b\77\0\2\u0462\1\0\145\u0462\1\0\3\u0462\1\u0632" + "\7\u0462\1\u0632\3\u0462\5\u0632\2\u0462\1\u055f\4\u0462\2\u0632" + "\4\u0462\2\u0632\1\u0462\1\u0632\2\u0462\2\u0632\15\u0462\1\u0632" + "\1\u0462\1\u0632\5\u0462\1\u0632\20\u0462\1\u0632\5\u0462\2\u0632" @@ -1902,86 +2053,87 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\20\u01cf\1\u0633\5\u01cf\2\u0633\2\u0332\1\u0333\6\u0332\1\u01d4" + "\2\u0332\1\u0634\7\u0332\1\u0634\3\u0332\5\u0634\7\u0332\2\u0634" + "\4\u0332\2\u0634\1\u0332\1\u0634\2\u0332\2\u0634\15\u0332\1\u0634" - + "\1\u0332\1\u0634\5\u0332\1\u0634\20\u0332\1\u0634\5\u0332\2\u0634" + "\1\250\12\0\1\250\1\u0635\4\250\1\0\2\250\1\u0635" - + "\2\0\1\250\5\u0635\1\250\1\0\5\250\2\u0635\1\0" + "\2\250\1\0\2\u0635\1\250\1\u0635\2\0\2\u0635\2\250" - + "\7\0\4\250\1\u0635\1\250\1\u0635\5\250\1\u0635\3\250" + "\4\0\11\250\1\u0635\5\250\2\u0635\1\250\12\0\6\264" + + "\1\u0332\1\u0634\5\u0332\1\u0634\20\u0332\1\u0634\5\u0332\2\u0634" + + "\1\250\12\0\1\250\1\u0635\4\250\1\0\2\250\1\u0635" + "\2\0\1\250\5\u0635\1\250\1\0\5\250\2\u0635\1\0" + + "\2\250\1\0\2\u0635\1\250\1\u0635\2\0\2\u0635\2\250" + + "\7\0\4\250\1\u0635\1\250\1\u0635\5\250\1\u0635\3\250" + + "\4\0\11\250\1\u0635\5\250\2\u0635\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\11\264\1\u0636\4\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\11\264\1\u0636\4\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\6\264\1\u0637\7\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u0638" + "\3\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\5\264" + "\1\u0639\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\1\u063a\20\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\2\264\1\u063b\1\264" + + "\6\264\1\u0637\7\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u0638" + + "\3\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\5\264" + + "\1\u0639\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\16\264\4\0\1\u063a\20\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\2\264\1\u063b\1\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\2\264\1\u063c\13\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\5\264\1\u063d\10\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u063e" + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\2\264\1\u063c\13\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\5\264\1\u063d\10\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u063e" - + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\4\264\1\u0499\11\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\1\264\1\u063f\2\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\11\264\1\u033d\4\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\1\u04a4\3\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\u0640\3\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\1\u0641\3\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\3\264\1\u0642\2\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\4\264\1\u0643\11\264" + "\4\0\21\264\1\250\12\0\1\264\1\u0644\4\264\1\0" - + "\1\264\1\u0645\1\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\3\264\1\u0646\2\0\4\264" - + "\7\0\2\250\16\264\4\0\1\264\1\u05c2\5\264\1\u0647" + "\11\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\1\264\1\u057f\2\264\7\0\2\250\16\264\4\0" - + "\1\264\1\u0648\17\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\2\264\1\u04da\1\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0649\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\2\264\1\u064a" + "\13\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\2\264\1\u056f\1\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\1\u064b\3\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\1\u064c\15\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\264\1\u064d\4\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\2\264\1\u064e\13\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\11\264\1\u064f\4\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\1\264" + "\1\u0576\2\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\264\1\u0650\4\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\11\264\1\u0651\4\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\2\264\1\u036c\3\264\1\0\1\250\1\264" - + "\1\0\1\264\1\u0576\2\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0652" - + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0653\1\264\1\u0654" - + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u0655" + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\4\264\1\u0499\11\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\264\1\u063f\2\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\7\264\1\u0656\6\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\5\264\1\u0657\10\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\1\u0658\20\264\1\250\12\0\1\u0659\5\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\2\264\1\u065a\16\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\5\264\1\u065b\10\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u065c" + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\1\264\1\u065d\2\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\5\264\1\u065e\10\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\1\u065f\3\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u0660\2\264\7\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\11\264\1\u033d\4\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\u04a4\3\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\3\264\1\u0661\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0662\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\1\u0663\5\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\16\264\1\u05c3\2\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" - + "\1\u0664\10\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u0665\3\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\6\264" - + "\1\u04da\7\264\4\0\21\264\1\250\12\0\2\264\1\u05bb" + "\1\u05bc\2\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264"; + + "\1\264\1\0\4\264\2\0\1\u0640\3\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u0641\3\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\3\264\1\u0642\2\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\4\264\1\u0643\11\264" + + "\4\0\21\264\1\250\12\0\1\264\1\u0644\4\264\1\0" + "\1\264\1\u0645\1\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\3\264\1\u0646\2\0\4\264" + "\7\0\2\250\16\264\4\0\1\264\1\u05c2\5\264\1\u0647" + + "\11\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\1\264\1\u057f\2\264\7\0\2\250\16\264\4\0" + "\1\264\1\u0648\17\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\2\264\1\u04da\1\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0649\4\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\2\264\1\u064a" + + "\13\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\2\264\1\u056f\1\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u064b\3\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\1\u064c\15\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\1\264\1\u064d\4\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\4\264\7\0\2\250\2\264\1\u064e\13\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\11\264\1\u064f\4\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\1\264" + + "\1\u0576\2\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\1\264\1\u0650\4\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\4\264\7\0\2\250\11\264\1\u0651\4\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\2\264\1\u036c\3\264\1\0\1\250\1\264" + "\1\0\1\264\1\u0576\2\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0652" + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0653\1\264\1\u0654" + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u0655" + + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\7\264\1\u0656\6\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\5\264\1\u0657\10\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\1\u0658\20\264\1\250\12\0\1\u0659\5\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\2\264\1\u065a\16\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\5\264\1\u065b\10\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u065c" + + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\264\1\u065d\2\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\5\264\1\u065e\10\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\u065f\3\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\1\264\1\u0660\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\3\264\1\u0661\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0662\4\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\1\u0663\5\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\16\264\1\u05c3\2\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" + "\1\u0664\10\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u0665\3\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\6\264" + "\1\u04da\7\264\4\0\21\264\1\250\12\0\2\264\1\u05bb" + + "\1\u05bc\2\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264"; private static final String ZZ_TRANS_PACKED_1 = "\7\0\2\250\16\264\4\0\1\u05c1\15\264\1\u05c3\2\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\264\1\u0666\2\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" @@ -2057,7 +2209,8 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\2\0\4\264\7\0\2\250\2\264\1\u0237\13\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\264\1\u0695\4\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\1\250\1\u0696\4\250\1\0\2\250" + "\1\u0696\2\0\1\250\5\u0696\1\250\1\0\5\250\2\u0696" - + "\1\0\2\250\1\0\2\u0696\1\250\1\u0696\2\0\2\u0696" + "\2\250\7\0\4\250\1\u0696\1\250\1\u0696\5\250\1\u0696" + + "\1\0\2\250\1\0\2\u0696\1\250\1\u0696\2\0\2\u0696" + + "\2\250\7\0\4\250\1\u0696\1\250\1\u0696\5\250\1\u0696" + "\3\250\4\0\11\250\1\u0696\5\250\2\u0696\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264" + "\1\u0697\2\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\2\264\1\u04d0" @@ -2115,9 +2268,12 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u06b7" + "\2\264\7\0\2\250\16\264\4\0\21\264\2\333\1\0" + "\1\333\1\0\2\333\4\0\6\333\1\0\31\333\1\u04fb" + "\66\333\1\0\1\333\1\0\2\333\4\0\6\333\1\0" - + "\57\333\1\u03d5\36\333\23\0\1\u06b8\36\0\1\u06b8\135\0" + "\1\u03da\141\0\1\u06b9\12\0\1\u06ba\1\0\1\u06bb\123\0" - + "\1\337\136\0\1\u06bc\153\0\1\337\152\0\1\u06bd\64\0" + "\1\u06be\164\0\1\u06bf\151\0\1\u06c0\154\0\1\u06bc\66\0" - + "\1\337\140\0\1\u06bc\136\0\1\u06c1\111\0\5\u0116\1\u06c2" + "\1\0\3\u0116\2\0\6\u0116\3\0\2\u0116\1\u06c2\3\u0116" + + "\57\333\1\u03d5\36\333\23\0\1\u06b8\36\0\1\u06b8\135\0" + + "\1\u03da\141\0\1\u06b9\12\0\1\u06ba\1\0\1\u06bb\123\0" + + "\1\337\136\0\1\u06bc\153\0\1\337\152\0\1\u06bd\64\0" + + "\1\u06be\164\0\1\u06bf\151\0\1\u06c0\154\0\1\u06bc\66\0" + + "\1\337\140\0\1\u06bc\136\0\1\u06c1\111\0\5\u0116\1\u06c2" + + "\1\0\3\u0116\2\0\6\u0116\3\0\2\u0116\1\u06c2\3\u0116" + "\4\0\4\u0116\2\0\4\u0116\11\0\16\u0116\4\0\21\u0116" + "\2\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + "\16\73\1\u028d\61\73\1\u028d\17\73\1\0\1\73\1\0" + "\2\73\4\0\6\73\1\0\32\73\1\120\30\73\1\120" + "\34\73\1\0\1\73\1\0\2\73\4\0\6\73\1\0" + "\2\73\1\u06c3\33\73\1\u06c3\61\73\1\0\1\73\1\0" @@ -2151,163 +2307,169 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\3\152" + "\1\u06cd\2\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\4\152\10\0\1\141\16\152\4\0\21\152\1\141\12\0" + "\6\152\1\0\3\152\2\0\7\152\1\0\1\u016f\6\152" + "\1\0\1\141\1\152\1\0\4\152\2\0\2\152\1\u06ce" + "\1\152\10\0\1\141\16\152\4\0\21\152\17\0\1\u06cf" - + "\64\0\1\u06cf\52\0\1\u06d0\64\0\1\u06d0\76\0\1\u0452" + "\176\0\1\u06d1\136\0\1\u06d2\121\0\1\u0452\136\0\1\u0550" - + "\117\0\1\u0557\176\0\1\u0550\77\0\1\u0452\160\0\1\u06d3" + "\135\0\1\u06d4\154\0\1\u06d5\141\0\1\u06d6\103\0\1\u06d1" - + "\171\0\1\u0620\103\0\1\u06d7\76\0\64\u062f\1\u0452\53\u062f" + "\75\0\1\u06d8\103\0\1\u06d9\76\0\10\u0462\1\0\3\u0462" + + "\64\0\1\u06cf\52\0\1\u06d0\64\0\1\u06d0\76\0\1\u0452" + + "\176\0\1\u06d1\136\0\1\u06d2\121\0\1\u0452\136\0\1\u0550" + + "\117\0\1\u0557\176\0\1\u0550\77\0\1\u0452\160\0\1\u06d3" + + "\135\0\1\u06d4\154\0\1\u06d5\141\0\1\u06d6\103\0\1\u06d1" + + "\171\0\1\u0620\103\0\1\u06d7\76\0\64\u062f\1\u0452\53\u062f" + + "\75\0\1\u06d8\103\0\1\u06d9\76\0\10\u0462\1\0\3\u0462" + "\1\u06da\7\u0462\1\u06da\3\u0462\5\u06da\2\u0462\1\u055f\4\u0462" + "\2\u06da\4\u0462\2\u06da\1\u0462\1\u06da\2\u0462\2\u06da\15\u0462" + "\1\u06da\1\u0462\1\u06da\5\u0462\1\u06da\20\u0462\1\u06da\5\u0462" - + "\2\u06da\10\u01cf\1\u032d\3\u01cf\1\253\7\u01cf\1\253\3\u01cf" + "\5\253\2\u01cf\1\u032e\4\u01cf\2\253\4\u01cf\2\253\1\u01cf" - + "\1\253\2\u01cf\2\253\15\u01cf\1\253\1\u01cf\1\253\5\u01cf" + "\1\253\20\u01cf\1\253\5\u01cf\2\253\2\u0332\1\u0333\6\u0332" + + "\2\u06da\10\u01cf\1\u032d\3\u01cf\1\253\7\u01cf\1\253\3\u01cf" + + "\5\253\2\u01cf\1\u032e\4\u01cf\2\253\4\u01cf\2\253\1\u01cf" + + "\1\253\2\u01cf\2\253\15\u01cf\1\253\1\u01cf\1\253\5\u01cf" + + "\1\253\20\u01cf\1\253\5\u01cf\2\253\2\u0332\1\u0333\6\u0332" + "\1\u01d4\2\u0332\1\u01d2\7\u0332\1\u01d2\3\u0332\5\u01d2\7\u0332" + "\2\u01d2\4\u0332\2\u01d2\1\u0332\1\u01d2\2\u0332\2\u01d2\15\u0332" - + "\1\u01d2\1\u0332\1\u01d2\5\u0332\1\u01d2\20\u0332\1\u01d2\5\u0332" + "\2\u01d2\1\250\12\0\1\250\1\264\4\250\1\0\2\250" - + "\1\264\2\0\1\250\5\264\1\250\1\0\5\250\2\264" + "\1\0\2\250\1\0\2\264\1\250\1\264\2\0\2\264" - + "\2\250\7\0\4\250\1\264\1\250\1\264\5\250\1\264" + "\3\250\4\0\11\250\1\264\5\250\2\264\1\250\12\0" - + "\1\264\1\u06db\3\264\1\u06dc\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\2\264\1\u05bb\1\u067b\1\264\1\u06dc\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\1\u06dd\3\264\2\0\4\264\7\0\2\250\16\264" - + "\4\0\12\264\1\u06de\3\264\1\u05c3\2\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\2\264\1\u06df\16\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + "\1\u06e0\4\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\14\264\1\u06e1\1\264\4\0\21\264\1\250\12\0" + + "\1\u01d2\1\u0332\1\u01d2\5\u0332\1\u01d2\20\u0332\1\u01d2\5\u0332" + + "\2\u01d2\1\250\12\0\1\250\1\264\4\250\1\0\2\250" + "\1\264\2\0\1\250\5\264\1\250\1\0\5\250\2\264" + + "\1\0\2\250\1\0\2\264\1\250\1\264\2\0\2\264" + "\2\250\7\0\4\250\1\264\1\250\1\264\5\250\1\264" + + "\3\250\4\0\11\250\1\264\5\250\2\264\1\250\12\0" + "\1\264\1\u06db\3\264\1\u06dc\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\2\264\1\u05bb\1\u067b\1\264\1\u06dc\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\1\u06dd\3\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\12\264\1\u06de\3\264\1\u05c3\2\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\5\264\1\u06e2\10\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\1\u06e3\3\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u06e4" + "\3\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\2\264\1\u06e5\13\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\5\264\1\u06e6\10\264\4\0\21\264\1\250\12\0\5\264" + "\1\u06e7\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u06e8\4\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\2\264" + "\1\u06e9\13\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u06ea\2\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\264\1\u06eb\2\264\7\0" + "\2\250\5\264\1\u06ec\10\264\4\0\21\264\1\250\12\0" + + "\2\250\16\264\4\0\2\264\1\u06df\16\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + + "\1\u06e0\4\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\1\u068a\15\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\1\u06ed\15\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u06ee\2\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\u06ef" + "\15\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\1\264\1\u06f0\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\2\264\1\u06f1\3\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\14\264\1\u06f2\4\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\3\264\1\u06f3\2\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\1\264\1\u06f4\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\2\264\1\u06f5\3\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u06f6\3\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\2\264\1\u06f7\13\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\4\264\1\u06f8\2\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\11\264\1\u06f9\4\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\1\u06fa\5\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\1\264\1\u06fb\2\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\2\264\1\u06fc\3\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\1\264\1\u06fd\2\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\2\264\1\u06fe\3\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\u06ff\5\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\2\264\1\u0700\3\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\4\264\7\0\2\250\5\264\1\u0701\10\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\4\264\1\u0702\11\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\4\264\7\0\2\250\11\264\1\u0703\4\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\2\264\1\u0704\1\264\7\0\2\250\16\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\2\264\1\u0705\3\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\7\264\1\u0706\6\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\4\264\7\0\2\250\2\264\1\u0707\13\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\3\264\1\u0708\7\0\2\250\16\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\2\264\1\u0709\3\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\2\264\1\u070a\3\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\2\264\1\u070b\3\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\5\264\1\u070c\10\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\7\264\1\u033d\6\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\1\264\1\u070d\14\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\2\264\1\u070e\3\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\1\264\1\u070f\1\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\1\0\1\u0710\4\264\7\0\2\250\12\264\1\u0711\3\264" - + "\4\0\4\264\1\u0712\14\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u04da\2\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u0713\2\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\1\0\1\u0714\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0715" - + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\1\264" + "\1\u067c\1\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\10\264\1\u0716\10\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\u06b4\3\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\3\264\1\u0717\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u0718\3\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\3\264\1\u0719\2\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\264\1\u0706\2\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\1\264\1\u071a\2\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\5\264\1\u071b\10\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\2\264\1\u071c\3\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\5\264\1\u071d\10\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\1\264\1\u071e\2\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\1\u071f\15\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\2\264\1\u0720\3\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\3\264\1\u0721\2\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\5\264\1\u0722\10\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\1\u023e\3\264\7\0\2\250\16\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\1\u0723\3\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\2\264\1\u0724\13\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\5\264\1\u0725\10\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\1\u0726" + "\3\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\1\264\1\u0237\14\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\1\0\1\u0727\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u0728" + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u033d" - + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u0729" + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u04c2" - + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u072a" + "\3\264\1\0\1\250\1\264\1\0\3\264\1\u072b\2\0" - + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u072c" + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\7\264\1\u072d\6\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" - + "\1\u072e\4\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\11\264\1\u072f\4\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\2\264\1\u0730" + "\1\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\3\264\1\u0731" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u068b" + + "\2\250\14\264\1\u06e1\1\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\5\264\1\u06e2\10\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\u06e3\3\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u06e4" + "\3\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u0732" + "\3\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\2\264\1\u06e5\13\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\5\264\1\u06e6\10\264\4\0\21\264\1\250\12\0\5\264" + + "\1\u06e7\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u06e8\4\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\2\264" + + "\1\u06e9\13\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\1\264\1\u06ea\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u06eb\2\264\7\0" + + "\2\250\5\264\1\u06ec\10\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\1\u068a\15\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\1\u06ed\15\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\1\264\1\u06ee\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\u06ef" + + "\15\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u06f0\4\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\2\264\1\u06f1\3\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\14\264\1\u06f2\4\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\3\264\1\u06f3\2\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u06f4\4\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\2\264\1\u06f5\3\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\1\u06f6\3\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\2\264\1\u06f7\13\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\4\264\1\u06f8\2\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\11\264\1\u06f9\4\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\1\u06fa\5\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\1\264\1\u06fb\2\264\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\2\264\1\u06fc\3\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\1\264\1\u06fd\2\264\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\2\264\1\u06fe\3\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\1\u06ff\5\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\2\264\1\u0700\3\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\5\264\1\u0701\10\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\4\264\7\0\2\250\4\264\1\u0702\11\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\11\264\1\u0703\4\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\2\264\1\u0704\1\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\2\264\1\u0705\3\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\4\264\7\0\2\250\7\264\1\u0706\6\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\2\264\1\u0707\13\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\3\264\1\u0708\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\2\264\1\u0709\3\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\2\264\1\u070a\3\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\2\264\1\u070b\3\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\5\264\1\u070c\10\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\7\264\1\u033d\6\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\1\264\1\u070d\14\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\2\264\1\u070e\3\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\1\264\1\u070f\1\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + + "\1\0\1\u0710\4\264\7\0\2\250\12\264\1\u0711\3\264" + "\4\0\4\264\1\u0712\14\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u04da\2\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\1\264\1\u0713\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\1\0\1\u0714\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0715" + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\1\264" + + "\1\u067c\1\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\10\264\1\u0716\10\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\1\u06b4\3\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\3\264\1\u0717\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\1\u0718\3\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\3\264\1\u0719\2\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\1\264\1\u0706\2\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\264\1\u071a\2\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\5\264\1\u071b\10\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\2\264\1\u071c\3\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\5\264\1\u071d\10\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\1\264\1\u071e\2\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\1\u071f\15\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\2\264\1\u0720\3\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\3\264\1\u0721\2\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\5\264\1\u0722\10\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\1\u023e\3\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\u0723\3\264\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\2\264\1\u0724\13\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\5\264\1\u0725\10\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\1\u0726" + + "\3\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\1\264\1\u0237\14\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\1\0\1\u0727\4\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u0728" + + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u033d" + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u0729" + + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u04c2" + "\2\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u072a" + + "\3\264\1\0\1\250\1\264\1\0\3\264\1\u072b\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u072c" + + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\7\264\1\u072d\6\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + "\1\u072e\4\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\11\264\1\u072f\4\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\2\264\1\u0730" + + "\1\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\3\264\1\u0731" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u068b" + "\3\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u0732" + + "\3\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\5\264\1\u0730\10\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\2\264\1\u04d0\13\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\4\264\1\u0733" + "\1\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\5\264\1\u0730\10\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\2\264\1\u04d0\13\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\4\264\1\u0733" - + "\1\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\1\u0734\15\264\4\0\21\264\1\250\12\0\1\250\1\u0735" + "\4\250\1\0\2\250\1\u0735\2\0\1\250\5\u0735\1\250" - + "\1\0\5\250\2\u0735\1\0\2\250\1\0\2\u0735\1\250" + "\1\u0735\2\0\2\u0735\2\250\7\0\4\250\1\u0735\1\250" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\1\u0734\15\264\4\0\21\264\1\250\12\0\1\250\1\u0735" + + "\4\250\1\0\2\250\1\u0735\2\0\1\250\5\u0735\1\250" + "\1\0\5\250\2\u0735\1\0\2\250\1\0\2\u0735\1\250" + + "\1\u0735\2\0\2\u0735\2\250\7\0\4\250\1\u0735\1\250" + "\1\u0735\5\250\1\u0735\3\250\4\0\11\250\1\u0735\5\250" + "\2\u0735\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\u0396\5\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" @@ -2356,160 +2518,164 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u0756\1\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\1\264\1\u0757\2\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\3\264" - + "\1\u0758\7\0\2\250\16\264\4\0\21\264\24\0\1\u0759" + "\33\0\1\u0759\140\0\1\u0500\122\0\1\u075a\173\0\1\u075b" - + "\117\0\1\u075c\137\0\1\337\154\0\1\u06ba\1\0\1\u06bb" + "\102\0\1\u075d\136\0\1\u06bd\140\0\1\u075e\75\0\2\73" - + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\32\73" + "\1\u02ac\30\73\1\u02ac\34\73\1\0\1\73\1\0\2\73" - + "\4\0\6\73\1\0\53\73\1\u012a\21\73\1\u012a\22\73" + "\1\0\1\73\1\0\2\73\4\0\4\73\1\u075f\1\73" - + "\1\0\62\73\1\u075f\33\73\20\0\1\u0760\21\0\1\u0760" + "\75\0\1\141\12\0\6\152\1\0\3\152\2\0\7\152" - + "\1\0\1\u016f\3\152\1\u042f\2\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\16\152\4\0" - + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\3\152\1\u01a1\2\152\1\0\1\141\1\152" + + "\1\u0758\7\0\2\250\16\264\4\0\21\264\24\0\1\u0759" + + "\33\0\1\u0759\140\0\1\u0500\122\0\1\u075a\173\0\1\u075b" + + "\117\0\1\u075c\137\0\1\337\154\0\1\u06ba\1\0\1\u06bb" + + "\102\0\1\u075d\136\0\1\u06bd\140\0\1\u075e\75\0\2\73" + "\1\0\1\73\1\0\2\73\4\0\6\73\1\0\32\73" + + "\1\u02ac\30\73\1\u02ac\34\73\1\0\1\73\1\0\2\73" + "\4\0\6\73\1\0\53\73\1\u012a\21\73\1\u012a\22\73" + + "\1\0\1\73\1\0\2\73\4\0\4\73\1\u075f\1\73" + "\1\0\62\73\1\u075f\33\73\20\0\1\u0760\21\0\1\u0760" + + "\75\0\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\3\152\1\u042f\2\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" - + "\1\0\1\u016f\3\152\1\u0761\2\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\16\152\4\0" - + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\4\152\10\0\1\141\2\152\1\u02e5\13\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" - + "\1\0\1\u016f\3\152\1\u0762\2\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\16\152\4\0" - + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" - + "\2\0\1\u0308\3\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" - + "\1\u016f\2\152\1\u042a\3\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" - + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" - + "\4\152\10\0\1\141\1\u0763\15\152\4\0\21\152\20\0" + "\1\u0764\21\0\1\u0764\115\0\1\u0765\21\0\1\u0765\156\0" - + "\1\u0766\141\0\1\u0767\131\0\1\u0768\31\0\1\u0769\72\0" + "\1\u0550\136\0\1\u076a\157\0\1\u076b\137\0\1\u076c\153\0" + + "\1\0\1\u016f\3\152\1\u01a1\2\152\1\0\1\141\1\152" + "\1\0\4\152\2\0\4\152\10\0\1\141\16\152\4\0" + + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\3\152\1\u0761\2\152\1\0\1\141\1\152" + + "\1\0\4\152\2\0\4\152\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\4\152\10\0\1\141\2\152\1\u02e5\13\152\4\0" + + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + "\1\0\1\u016f\3\152\1\u0762\2\152\1\0\1\141\1\152" + + "\1\0\4\152\2\0\4\152\10\0\1\141\16\152\4\0" + "\21\152\1\141\12\0\6\152\1\0\3\152\2\0\7\152" + + "\1\0\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152" + "\2\0\1\u0308\3\152\10\0\1\141\16\152\4\0\21\152" + + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\2\152\1\u042a\3\152\1\0\1\141\1\152\1\0" + + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\4\152\10\0\1\141\1\u0763\15\152\4\0\21\152\20\0" + + "\1\u0764\21\0\1\u0764\115\0\1\u0765\21\0\1\u0765\156\0" + + "\1\u0766\141\0\1\u0767\131\0\1\u0768\31\0\1\u0769\72\0" + + "\1\u0550\136\0\1\u076a\157\0\1\u076b\137\0\1\u076c\153\0" + "\1\u076d\144\0\1\u076e\35\0\10\u0462\1\0\3\u0462\1\u076f" + "\7\u0462\1\u076f\3\u0462\5\u076f\2\u0462\1\u055f\4\u0462\2\u076f" + "\4\u0462\2\u076f\1\u0462\1\u076f\2\u0462\2\u076f\15\u0462\1\u076f" - + "\1\u0462\1\u076f\5\u0462\1\u076f\20\u0462\1\u076f\5\u0462\2\u076f" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\1\u0770\15\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\1\u0771\15\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u0772" - + "\5\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\1\u0773\15\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\264\1\u0774\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u0775\2\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\u0776\3\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\13\264\1\u0777\5\264\1\250\12\0\1\264\1\u0778\4\264" + "\1\0\1\264\1\u0645\1\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\1\264\1\u0779\14\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\1\u077a\3\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\2\264\1\u077b\1\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" + "\1\u077c\10\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u077d\2\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\264" + "\1\u033d\14\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u077e\4\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\3\264\1\u077f\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0780\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0781\4\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\2\264\1\u03b1\1\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\2\264\1\u0782\3\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u0783\3\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\5\264\1\u0784\10\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\1\u0785\5\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\14\264\1\u0786\1\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\1\264\1\u0787\2\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\1\u0788\3\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\4\264\1\u05bd\1\264\1\0\2\264\1\u04aa" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\1\u0789\3\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\2\264\1\u078a\13\264\4\0\21\264" + + "\1\u0462\1\u076f\5\u0462\1\u076f\20\u0462\1\u076f\5\u0462\2\u076f" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\1\264\1\u078b\2\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\7\264\1\u078c\6\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\2\264\1\u06b4\1\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\5\264\1\u078d\10\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\2\264\1\u078e\3\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\264\1\u078f\2\264\7\0\2\250\16\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\2\264\1\u0790\3\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\1\264\1\u0791\4\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\3\264\1\u0792\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\1\264\1\u0793\2\264\1\u0794\1\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\1\u0795\20\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\1\u0796\3\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\1\u0797\4\264\1\u0798\1\0\3\264" - + "\2\0\4\264\1\u0799\2\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\3\264\1\u079a\2\0\4\264\7\0" - + "\2\250\16\264\4\0\2\264\1\u079b\16\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\1\264\1\u04f8\14\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264" + "\1\u079c\3\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\15\264\1\u079d\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\1\u079e\3\264\2\0\4\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\264" + "\1\u079f\3\264\1\u07a0\10\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + "\1\u07a1\4\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\1\264\1\u07a2\14\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\14\264\1\u07a3\1\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\1\264\1\u07a4\1\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\4\264\1\u07a5\1\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\1\u07a6\15\264\4\0\21\264\13\0\1\u07a7\106\0" - + "\1\u07a8\15\0\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\1\u06df\3\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\1\264\1\u07a9\4\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\3\264\1\u07aa\7\0\2\250\16\264\4\0\21\264" + "\14\0\1\u07ab\6\0\1\u07ac\26\0\1\u07ad\2\0\1\u07ae" - + "\62\0\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\1\264" - + "\1\u07af\2\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\1\264\1\u07b0\2\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\1\u07b1\15\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\1\264\1\u07b2\4\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\3\264\1\u07b3\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\2\264" + "\1\u07b4\1\264\7\0\2\250\16\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\1\u07b5\15\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u07b6" + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\3\264\1\u07b7" + + "\4\264\7\0\2\250\1\u0770\15\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\1\u0771\15\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u0772" + "\5\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\15\264\1\u07b8\3\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\3\264\1\u0479\7\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\1\u0773\15\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u0774\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\u07b9" + "\15\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\4\264\1\u0358" - + "\11\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\3\264\1\u0472\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\2\264\1\u07ba\3\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\2\264\1\u07bb\3\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\1\u07bc\15\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\3\264\1\u04d0\2\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\24\0\1\u07bd\62\0\1\u07be\30\0\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u07bf" - + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u07c0" + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\u07c1\1\u07c2" - + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\2\264\1\u07c3" + "\1\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\4\264\1\u056f\11\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u07c4" - + "\5\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\11\264\1\u07c5\4\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\1\u07c6\3\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u056f\3\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\2\264" + "\1\u07c7\13\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\3\264\1\u07c8\2\0\4\264\7\0\2\250" + + "\1\264\1\0\4\264\2\0\1\264\1\u0775\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\u0776\3\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\7\264\1\u0237" + "\6\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\3\264\1\u07c9\2\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\1\250\1\u022f\4\250" + "\1\0\2\250\1\u022f\2\0\1\250\5\u022f\1\250\1\0" - + "\5\250\2\u022f\1\0\2\250\1\0\2\u022f\1\250\1\u022f" + "\2\0\2\u022f\2\250\7\0\4\250\1\u022f\1\250\1\u022f" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\13\264\1\u0777\5\264\1\250\12\0\1\264\1\u0778\4\264" + + "\1\0\1\264\1\u0645\1\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\1\264\1\u0779\14\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\u077a\3\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\2\264\1\u077b\1\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" + + "\1\u077c\10\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\1\264\1\u077d\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\264" + + "\1\u033d\14\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u077e\4\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\3\264\1\u077f\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0780\4\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0781\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\2\264\1\u03b1\1\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\2\264\1\u0782\3\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\1\u0783\3\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\5\264\1\u0784\10\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\1\u0785\5\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\14\264\1\u0786\1\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\1\264\1\u0787\2\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\1\u0788\3\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\4\264\1\u05bd\1\264\1\0\2\264\1\u04aa" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\1\u0789\3\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\4\264\7\0\2\250\2\264\1\u078a\13\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\264\1\u078b\2\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\4\264\7\0\2\250\7\264\1\u078c\6\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\2\264\1\u06b4\1\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\4\264\7\0\2\250\5\264\1\u078d\10\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\2\264\1\u078e\3\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\1\264\1\u078f\2\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\2\264\1\u0790\3\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\1\264\1\u0791\4\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\3\264\1\u0792\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\1\264\1\u0793\2\264\1\u0794\1\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\1\u0795\20\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\u0796\3\264\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\1\u0797\4\264\1\u0798\1\0\3\264" + "\2\0\4\264\1\u0799\2\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\3\264\1\u079a\2\0\4\264\7\0" + "\2\250\16\264\4\0\2\264\1\u079b\16\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\1\264\1\u04f8\14\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264" + + "\1\u079c\3\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\15\264\1\u079d\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\1\u079e\3\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\264" + + "\1\u079f\3\264\1\u07a0\10\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + + "\1\u07a1\4\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\1\264\1\u07a2\14\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\14\264\1\u07a3\1\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\1\264\1\u07a4\1\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\4\264\1\u07a5\1\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\1\u07a6\15\264\4\0\21\264\13\0\1\u07a7\106\0" + "\1\u07a8\15\0\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\u06df\3\264\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\264\1\u07a9\4\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\3\264\1\u07aa\7\0\2\250\16\264\4\0\21\264" + + "\14\0\1\u07ab\6\0\1\u07ac\26\0\1\u07ad\2\0\1\u07ae" + "\62\0\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\1\264" + "\1\u07af\2\264\2\0\4\264\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\1\264\1\u07b0\2\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\1\u07b1\15\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\1\264\1\u07b2\4\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\3\264\1\u07b3\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\2\264" + + "\1\u07b4\1\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\1\u07b5\15\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u07b6" + + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\3\264\1\u07b7" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\15\264\1\u07b8\3\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\3\264\1\u0479\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\u07b9" + + "\15\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\4\264\1\u0358" + "\11\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\3\264\1\u0472\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\2\264\1\u07ba\3\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\2\264\1\u07bb\3\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\1\u07bc\15\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\3\264\1\u04d0\2\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + + "\21\264\24\0\1\u07bd\62\0\1\u07be\30\0\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u07bf" + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u07c0" + + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\1\u07c1\1\u07c2" + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\2\264\1\u07c3" + + "\1\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\4\264\1\u056f\11\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u07c4" + "\5\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\11\264\1\u07c5\4\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\u07c6\3\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u056f\3\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\2\264" + + "\1\u07c7\13\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\3\264\1\u07c8\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\7\264\1\u0237" + + "\6\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\3\264\1\u07c9\2\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\1\250\1\u022f\4\250" + + "\1\0\2\250\1\u022f\2\0\1\250\5\u022f\1\250\1\0" + "\5\250\2\u022f\1\0\2\250\1\0\2\u022f\1\250\1\u022f" + + "\2\0\2\u022f\2\250\7\0\4\250\1\u022f\1\250\1\u022f" + "\5\250\1\u022f\3\250\4\0\11\250\1\u022f\5\250\2\u022f" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\2\264\1\u0396\13\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" @@ -2566,95 +2732,98 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\2\152\1\u02d9\3\152\1\0\1\141\1\152\1\0" + "\4\152\2\0\4\152\10\0\1\141\16\152\4\0\21\152" + "\1\141\12\0\6\152\1\0\3\152\2\0\7\152\1\0" + "\1\u016f\6\152\1\0\1\141\1\152\1\0\4\152\2\0" + "\1\152\1\u06cd\2\152\10\0\1\141\16\152\4\0\21\152" - + "\21\0\1\u07f1\137\0\1\u07f2\200\0\1\u0452\136\0\1\u07f3" + "\160\0\1\u07f4\116\0\1\u07f5\154\0\1\u0452\103\0\1\u07f6" - + "\157\0\1\u062f\117\0\1\u062f\137\0\1\u07f7\75\0\10\u0462" + "\1\0\3\u0462\1\u0330\7\u0462\1\u0330\3\u0462\5\u0330\2\u0462" + + "\21\0\1\u07f1\137\0\1\u07f2\200\0\1\u0452\136\0\1\u07f3" + + "\160\0\1\u07f4\116\0\1\u07f5\154\0\1\u0452\103\0\1\u07f6" + + "\157\0\1\u062f\117\0\1\u062f\137\0\1\u07f7\75\0\10\u0462" + + "\1\0\3\u0462\1\u0330\7\u0462\1\u0330\3\u0462\5\u0330\2\u0462" + "\1\u055f\4\u0462\2\u0330\4\u0462\2\u0330\1\u0462\1\u0330\2\u0462" - + "\2\u0330\15\u0462\1\u0330\1\u0462\1\u0330\5\u0462\1\u0330\20\u0462" + "\1\u0330\5\u0462\2\u0330\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\1\264\1\u07f8\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\15\264\1\u07f9" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\4\264\1\u07fa\1\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" - + "\1\u07fb\10\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" + "\1\u0471\10\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u03c3\3\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\2\264" + "\1\u07fc\13\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u07fd\4\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\264\1\u07fe\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\u07ff" - + "\15\264\4\0\21\264\1\250\12\0\6\264\1\0\2\264" + "\1\u04aa\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\2\264\1\u0800\16\264\1\250\12\0\3\264\1\u05bc" - + "\2\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\u0801\3\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0802" - + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\2\264\1\u0803\3\264\1\0" + + "\2\u0330\15\u0462\1\u0330\1\u0462\1\u0330\5\u0462\1\u0330\20\u0462" + + "\1\u0330\5\u0462\2\u0330\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u07f8\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\1\0\1\u0804\4\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\2\264\1\u0372\3\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\2\264\1\u0805\13\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\15\264\1\u07f9" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\4\264\1\u07fa\1\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" + "\1\u07fb\10\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" + + "\1\u0471\10\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u03c3\3\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\2\264" + + "\1\u07fc\13\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u07fd\4\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u07fe\2\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\u07ff" + "\15\264\4\0\21\264\1\250\12\0\6\264\1\0\2\264" + + "\1\u04aa\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\2\264\1\u0800\16\264\1\250\12\0\3\264\1\u05bc" + "\2\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\u0801\3\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0802" + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\2\264\1\u0803\3\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\1\0\1\u0804\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\2\264\1\u0372\3\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\11\264\1\u0806\4\264" + "\4\0\21\264\1\250\12\0\1\u0807\5\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\3\264\1\u0808\2\264\1\0\1\250\1\264" + + "\4\264\2\0\4\264\7\0\2\250\2\264\1\u0805\13\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\11\264\1\u0806\4\264" + + "\4\0\21\264\1\250\12\0\1\u0807\5\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\1\u0809\15\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\1\u080a\3\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\1\u080b" + "\3\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\1\264\1\u080c\14\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" - + "\1\u080d\4\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\1\u080e\3\264\2\0\4\264" + + "\1\0\1\u01d8\3\264\1\u0808\2\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\4\264\7\0\2\250\1\u0809\15\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\u080a\3\264\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\1\u080b" + + "\3\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\1\264\1\u080c\14\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + "\1\u080d\4\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\1\u080e\3\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\2\264\1\u080f\13\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u0810" + + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u0811" + "\3\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\2\264\1\u080f\13\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264\1\u0810" + "\4\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u0811" - + "\3\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\264\1\u0812\2\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\5\264\1\u0813\10\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\1\264\1\u0814\2\264\2\0\4\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\1\u0815\20\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\u0816\3\264\7\0\2\250" + + "\1\250\1\264\1\0\4\264\2\0\1\264\1\u0812\2\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\5\264\1\u0813\10\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\1\264\1\u0814\2\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\1\u0815\20\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\1\u0816\3\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0817" + + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\2\264\1\u0818\1\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0819\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0817" + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\2\264\1\u0818\1\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u0819\4\264\1\0" + + "\1\0\1\264\1\u081a\2\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\4\264\1\u081b" + + "\11\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\2\264\1\u081c\3\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\1\264\1\u081a\2\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\4\264\1\u081b" + "\11\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\2\264\1\u081c\3\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\3\264\1\u081d" + "\12\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\1\264\1\u081e\4\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\2\264\1\u081f\13\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\1\u0820\15\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\u0821" - + "\15\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\5\264\1\u0822" + "\10\264\4\0\21\264\1\250\12\0\2\264\1\u05bb\1\u05bc" - + "\2\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\1\u0823\5\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\2\264\1\u05a1\1\264" - + "\1\u05bd\1\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\1\u0824\3\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\u0825\3\264\7\0\2\250" - + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\6\264\1\324\12\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u0826\3\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\5\264\1\u0827\10\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\1\264\1\u0828\4\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\2\264\1\u0829\13\264" + "\4\0\21\264\42\0\1\u082a\140\0\1\u082b\74\0\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\1\u082c\15\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\15\264\1\u033d\4\0\21\264\61\0\1\u082d\137\0" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\3\264\1\u081d" + + "\12\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\1\264\1\u081e\4\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\2\264\1\u081f\13\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\1\u0820\15\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\u0821" + "\15\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\5\264\1\u0822" + + "\10\264\4\0\21\264\1\250\12\0\2\264\1\u05bb\1\u05bc" + "\2\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\1\u0823\5\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\2\264\1\u05a1\1\264" + "\1\u05bd\1\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\u0824\3\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\1\u0825\3\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + + "\6\264\1\324\12\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\1\u0826\3\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\5\264\1\u0827\10\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\1\264\1\u0828\4\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\2\264\1\u0829\13\264" + + "\4\0\21\264\42\0\1\u082a\140\0\1\u082b\74\0\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\1\u082c\15\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\15\264\1\u033d\4\0\21\264\61\0\1\u082d\137\0" + "\1\u082e\116\0\1\u082f\201\0\1\u0830\35\0\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\u0831\3\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\3\264\1\u0832\7\0" @@ -2891,7 +3060,8 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\2\264\1\u08c7\13\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\2\264\1\u077b\3\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" - + "\4\0\21\264\76\0\1\u08c8\121\0\1\u08c9\21\0\1\u08ca" + "\77\0\1\u08cb\155\0\1\u08cc\141\0\1\u086c\136\0\1\u0452" + + "\4\0\21\264\76\0\1\u08c8\121\0\1\u08c9\21\0\1\u08ca" + + "\77\0\1\u08cb\155\0\1\u08cc\141\0\1\u086c\136\0\1\u0452" + "\157\0\1\u0452\133\0\1\u08cd\42\0\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\u08ce\5\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\3\264\1\u08cf\2\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" @@ -2953,117 +3123,118 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\3\264\1\u08bb\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\2\264\1\u033d\1\264\7\0\2\250\16\264" - + "\4\0\21\264\42\0\1\u08f2\156\0\1\u08f3\136\0\1\u08f4" + "\162\0\1\u08f5\116\0\1\u08f6\117\0\1\u08f7\75\0\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\2\264\1\u08f8\13\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\3\264\1\u08f9\2\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\3\264\1\u08fa\2\264\1\0\1\250\1\264\1\0\4\264" + + "\4\0\21\264\42\0\1\u08f2\156\0\1\u08f3\136\0\1\u08f4" + + "\162\0\1\u08f5\116\0\1\u08f6\117\0\1\u08f7\75\0\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\2\264\1\u08f8\13\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\3\264\1\u08f9\2\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\3\264\1\u08fb\2\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\2\264\1\u033d\3\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\16\264\4\0\14\264\1\u08fc" + "\4\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\2\264\1\u08fd\1\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\2\264\1\u08fe\3\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\7\264\1\u08ff\6\264\4\0" - + "\21\264\75\0\1\u08f6\42\0\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\u08a5\3\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\2\264\1\u0900\1\264\7\0\2\250" - + "\16\264\4\0\21\264\52\0\1\u0901\65\0\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\1\u0902\3\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\3\264\1\u0903\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\3\264\1\u079c\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\7\264\1\u03cd" - + "\6\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\3\264\1\u0801\2\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\1\u0904\15\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\1\264\1\u0905\2\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\264\1\u0906\2\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\2\264\1\u0907\3\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\1\u0908\5\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\3\264\1\u0909\2\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\2\264\1\u090a\3\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\1\u057f\5\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\1\264\1\u0372\4\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\1\264\1\u077f\2\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\1\264\1\u090b\4\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\1\u090c\3\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\4\264\1\u01ed\11\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\1\u08bc\15\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\3\264\1\u090d\2\0\4\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\16\264\4\0\13\264\1\u090e\5\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\1\u090f\15\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\11\264" - + "\1\u0910\4\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\4\264" + "\1\u0911\11\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\4\264" - + "\1\u0912\11\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\1\u0372\20\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0913" - + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\1\264\1\u0914\2\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\3\264\1\u0915" - + "\12\264\4\0\21\264\104\0\1\u06bd\75\0\1\u0509\140\0" + "\1\u06bd\136\0\1\u076a\174\0\1\u062f\40\0\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\7\264\1\u0865\6\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\5\264\1\u0916\10\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + "\1\u0917\4\264\1\0\1\250\1\264\1\0\4\264\2\0" - + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\2\264\1\u0918" + "\1\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\1\u0919\15\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\1\u091a\3\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" - + "\1\u091b\10\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\264\1\u091c\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\2\264\1\u091d" - + "\3\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\1\0\1\u091e\3\264" - + "\1\u091f\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u0920" + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\7\264\1\u0757\6\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\1\u0921\15\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" - + "\5\264\1\u0922\10\264\4\0\21\264\40\0\1\u0923\142\0" + "\1\u0924\74\0\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\4\264\1\u0925\11\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\3\264\1\u0926\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\2\264\1\u0927\3\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\1\250\12\0\3\264\1\u08c4\2\264\1\0\2\264" + "\1\u04aa\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\1\u0928\15\264\4\0" + + "\3\264\1\u08fa\2\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\3\264\1\u08fb\2\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\2\264\1\u033d\3\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\14\264\1\u08fc" + + "\4\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\2\264\1\u08fd\1\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\2\264\1\u08fe\3\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\1\u0929\3\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\5\264\1\u092a\1\0\3\264\2\0\7\264" - + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\1\u092b\15\264\4\0\21\264\1\250\12\0" + "\2\264\1\u05bb\3\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" - + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" - + "\2\250\2\264\1\u092c\13\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" - + "\1\0\1\250\1\264\1\0\4\264\2\0\3\264\1\u0372" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\u092d\3\264\7\0" - + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\2\264" + "\1\u077f\13\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\2\264" - + "\1\u092e\13\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\1\264\1\u092f\2\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" - + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\3\264\1\u0930\7\0\2\250" + + "\2\0\4\264\7\0\2\250\7\264\1\u08ff\6\264\4\0" + "\21\264\75\0\1\u08f6\42\0\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\u08a5\3\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\1\264\1\u0931\2\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\2\264\1\u0932\3\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\1\0\4\264\2\0\2\264\1\u0900\1\264\7\0\2\250" + "\16\264\4\0\21\264\52\0\1\u0901\65\0\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\u0902\3\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\3\264\1\u0903\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\3\264\1\u079c\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" - + "\1\0\4\264\2\0\4\264\7\0\2\250\4\264\1\u0933" + "\11\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u0934\3\264\7\0\2\250\16\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\7\264\1\u03cd" + "\6\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\3\264\1\u0801\2\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\1\u0904\15\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\264\1\u0905\2\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\1\u0935\3\264\7\0\2\250\16\264\4\0" + "\21\264\60\0\1\u085c\117\0\1\u0936\202\0\1\u0937\74\0" + + "\4\264\2\0\1\264\1\u0906\2\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\2\264\1\u0907\3\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\1\u0908\5\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\3\264\1\u0909\2\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\2\264\1\u090a\3\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\1\u057f\5\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\1\264\1\u0372\4\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\264\1\u077f\2\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\1\264\1\u090b\4\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\1\u090c\3\264\7\0\2\250\16\264\4\0\21\264\1\250" + + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + + "\7\0\2\250\4\264\1\u01ed\11\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\1\u08bc\15\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\3\264\1\u090d\2\0\4\264" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\13\264\1\u090e\5\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\1\u090f\15\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\11\264" + "\1\u0910\4\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\4\264" + + "\1\u0911\11\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\4\264" + "\1\u0912\11\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\1\u0372\20\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\11\264\1\u0913" + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\264\1\u0914\2\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\3\264\1\u0915" + "\12\264\4\0\21\264\104\0\1\u06bd\75\0\1\u0509\140\0" + + "\1\u06bd\136\0\1\u076a\174\0\1\u062f\40\0\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\7\264\1\u0865\6\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\5\264\1\u0916\10\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\1\264" + + "\1\u0917\4\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\2\264\1\u0918" + + "\1\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\1\u0919\15\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\u091a\3\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\5\264" + "\1\u091b\10\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u091c\2\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\2\264\1\u091d" + "\3\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\1\0\1\u091e\3\264" + "\1\u091f\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\264\1\u0920" + + "\2\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\7\264\1\u0757\6\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + + "\2\250\1\u0921\15\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\5\264\1\u0922\10\264\4\0\21\264\40\0\1\u0923\142\0" + + "\1\u0924\74\0\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\4\264\1\u0925\11\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\3\264\1\u0926\7\0\2\250\16\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\2\264\1\u0927\3\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\1\250\12\0\3\264\1\u08c4\2\264\1\0\2\264" + + "\1\u04aa\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\1\u0928\15\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\1\u0929\3\264\7\0\2\250\16\264\4\0\21\264" + + "\1\250\12\0\5\264\1\u092a\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\1\u092b\15\264\4\0\21\264\1\250\12\0" + + "\2\264\1\u05bb\3\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\4\264\7\0\2\250\16\264\4\0\21\264\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + + "\1\0\1\250\1\264\1\0\4\264\2\0\4\264\7\0" + "\2\250\2\264\1\u092c\13\264\4\0\21\264\1\250\12\0" + + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\3\264\1\u0372" + + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\1\u092d\3\264\7\0" + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\2\264" + + "\1\u077f\13\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\2\264" + "\1\u092e\13\264\4\0\21\264\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\1\264\1\u092f\2\264\7\0" + + "\2\250\16\264\4\0\21\264\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + + "\1\264\1\0\4\264\2\0\3\264\1\u0930\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\264\1\u0931\2\264\7\0\2\250" + + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\2\264\1\u0932\3\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\16\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\4\264\1\u0933" + + "\11\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\1\u0934\3\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\u0935\3\264\7\0\2\250\16\264\4\0" + + "\21\264\60\0\1\u085c\117\0\1\u0936\202\0\1\u0937\74\0" + "\1\u0938\200\0\1\u0939\116\0\1\u093a\57\0\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264" + "\1\0\1\250\1\264\1\0\4\264\2\0\1\u093b\3\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\2\264\1\u049b" + "\3\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" @@ -3336,7 +3507,8 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\4\264\1\u09f6\11\264\4\0" + "\21\264\15\0\1\u09f7\122\0\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\1\u09f8" + "\15\264\4\0\21\264\24\0\1\u09f9\130\0\1\u09fa\225\0" - + "\1\u09fb\34\0\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0"; + + "\1\u09fb\34\0\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0"; private static final String ZZ_TRANS_PACKED_2 = "\4\264\7\0\2\250\4\264\1\u0576\11\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\5\264\1\u09fc\10\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" @@ -3393,7 +3565,8 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\4\264\7\0\2\250\16\264\4\0\7\264\1\u0a20\11\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\5\264\1\u0a21\10\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\2\264\1\u08da\3\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\106\0\1\u0a22\134\0\1\u085c\107\0\1\u0a23\125\0\1\u0a24" + + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + + "\106\0\1\u0a22\134\0\1\u085c\107\0\1\u0a23\125\0\1\u0a24" + "\111\0\1\u0a25\36\0\1\u0a26\130\0\1\u0a27\74\0\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\5\264\1\u0a28\10\264\4\0\21\264\1\250" + "\12\0\1\264\1\u0a29\4\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" @@ -3416,53 +3589,60 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { + "\4\264\4\0\21\264\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\1\u0a38\3\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\3\264\1\u0a39\2\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" - + "\4\0\21\264\102\0\1\u0a3a\117\0\1\u08f2\136\0\1\u0a3b" + "\155\0\1\u0a3c\122\0\1\u0a3d\117\0\1\u0a3e\75\0\1\250" + + "\4\0\21\264\102\0\1\u0a3a\117\0\1\u08f2\136\0\1\u0a3b" + + "\155\0\1\u0a3c\122\0\1\u0a3d\117\0\1\u0a3e\75\0\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\2\264\1\u0824\13\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\2\264\1\u0824\13\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" - + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\3\264\1\u0a3f\12\264\4\0\21\264\1\250" - + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" - + "\7\0\2\250\1\u0a40\15\264\4\0\21\264\102\0\1\u0a41" + "\154\0\1\u0a42\100\0\1\u0a43\162\0\1\u08f2\135\0\1\u08f2" - + "\36\0\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\5\264\1\u0a44\10\264\4\0" + "\21\264\1\250\12\0\6\264\1\0\1\264\1\u067c\1\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" - + "\21\264\16\0\1\u0a45\5\0\1\u05e4\174\0\1\u0a46\56\0" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\5\264\1\u0a47\10\264\4\0\21\264" - + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\3\264\1\u0a48\2\264\1\0\1\250\1\264\1\0" - + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\123\0\1\u0a49\14\0\1\250\12\0\6\264\1\0\3\264" - + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + "\1\0\4\264\1\0\1\u0a4a\4\264\7\0\2\250\16\264" - + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\1\264\1\u0a4b\4\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" - + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\6\264\1\u0372\7\264" - + "\4\0\21\264\42\0\1\u0a4c\174\0\1\u0a4d\101\0\1\u0a4e" + "\173\0\1\u0a4f\103\0\1\u0a50\76\0\1\250\12\0\6\264" - + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\1\264\1\u0a51\2\264" - + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + "\5\264\1\u090c\10\264\4\0\21\264\41\0\1\u0a52\142\0" - + "\1\u0a53\177\0\1\u0a54\33\0\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" - + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\13\264\1\u0a55\5\264\106\0\1\u0a56\113\0\1\u0a57" - + "\55\0\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" - + "\2\0\4\264\7\0\2\250\1\u0a58\15\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" - + "\1\u01d8\2\264\1\u0824\3\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" - + "\60\0\1\u0a59\76\0\1\u0a5a\120\0\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" - + "\1\250\1\264\1\0\4\264\2\0\3\264\1\u0680\7\0" + "\2\250\16\264\4\0\21\264\102\0\1\u0a5b\77\0\1\u0a5c" + + "\7\0\2\250\3\264\1\u0a3f\12\264\4\0\21\264\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + + "\6\264\1\0\1\250\1\264\1\0\4\264\2\0\4\264" + "\7\0\2\250\1\u0a40\15\264\4\0\21\264\102\0\1\u0a41" + + "\154\0\1\u0a42\100\0\1\u0a43\162\0\1\u08f2\135\0\1\u08f2" + "\36\0\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\5\264\1\u0a44\10\264\4\0" + + "\21\264\1\250\12\0\6\264\1\0\1\264\1\u067c\1\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\2\0\4\264\7\0\2\250\16\264\4\0" + "\21\264\16\0\1\u0a45\5\0\1\u05e4\174\0\1\u0a46\56\0" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264\2\0" + + "\4\264\7\0\2\250\5\264\1\u0a47\10\264\4\0\21\264" + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + + "\1\u01d8\3\264\1\u0a48\2\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + + "\123\0\1\u0a49\14\0\1\250\12\0\6\264\1\0\3\264" + "\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264" + + "\1\0\4\264\1\0\1\u0a4a\4\264\7\0\2\250\16\264" + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + + "\7\264\1\0\1\u01d8\1\264\1\u0a4b\4\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\21\264\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\6\264\1\u0372\7\264" + "\4\0\21\264\42\0\1\u0a4c\174\0\1\u0a4d\101\0\1\u0a4e" + + "\173\0\1\u0a4f\103\0\1\u0a50\76\0\1\250\12\0\6\264" + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + + "\1\250\1\264\1\0\4\264\2\0\1\264\1\u0a51\2\264" + "\7\0\2\250\16\264\4\0\21\264\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\4\264\7\0\2\250" + + "\5\264\1\u090c\10\264\4\0\21\264\41\0\1\u0a52\142\0" + "\1\u0a53\177\0\1\u0a54\33\0\1\250\12\0\6\264\1\0" + + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + + "\4\0\13\264\1\u0a55\5\264\106\0\1\u0a56\113\0\1\u0a57" + "\55\0\1\250\12\0\6\264\1\0\3\264\2\0\7\264" + + "\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\1\u0a58\15\264\4\0\21\264" + + "\1\250\12\0\6\264\1\0\3\264\2\0\7\264\1\0" + "\1\u01d8\2\264\1\u0824\3\264\1\0\1\250\1\264\1\0" + + "\4\264\2\0\4\264\7\0\2\250\16\264\4\0\21\264" + "\60\0\1\u0a59\76\0\1\u0a5a\120\0\1\250\12\0\6\264" + + "\1\0\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0" + "\1\250\1\264\1\0\4\264\2\0\3\264\1\u0680\7\0" + + "\2\250\16\264\4\0\21\264\102\0\1\u0a5b\77\0\1\u0a5c" + "\177\0\1\u0a5d\134\0\1\u0a5e\135\0\1\u0a5f\42\0\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\3\264\1\u05a0\2\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\60\0" + "\1\u0a60\75\0\1\u09bf\4\0\1\u09c1\63\0\1\u09c2\72\0" + "\1\u0a61\75\0\1\250\12\0\6\264\1\0\3\264\2\0" + "\7\264\1\0\1\u01d8\6\264\1\0\1\250\1\264\1\0" + "\4\264\2\0\1\u0a62\3\264\7\0\2\250\16\264\4\0" + "\21\264\106\0\1\u0a63\54\0\1\u0a64\114\0\1\250\12\0" + "\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8\3\264" + "\1\u0a65\2\264\1\0\1\250\1\264\1\0\4\264\2\0" + "\4\264\7\0\2\250\16\264\4\0\21\264\42\0\1\u0a66" - + "\135\0\1\u0a59\210\0\1\u08f2\41\0\1\u0a67\2\0\1\u0a68" + "\4\0\1\u0a69\63\0\1\u0a6a\134\0\1\u09c5\145\0\1\u085c" + + "\135\0\1\u0a59\210\0\1\u08f2\41\0\1\u0a67\2\0\1\u0a68" + + "\4\0\1\u0a69\63\0\1\u0a6a\134\0\1\u09c5\145\0\1\u085c" + "\107\0\1\u085c\154\0\1\u0a6b\142\0\1\u0a6c\35\0\1\250" + "\12\0\6\264\1\0\3\264\2\0\7\264\1\0\1\u01d8" + "\1\264\1\u06b4\4\264\1\0\1\250\1\264\1\0\4\264" + "\2\0\4\264\7\0\2\250\16\264\4\0\21\264\40\0" + "\1\u0a6d\160\0\1\u0a6e\56\0\1\250\12\0\6\264\1\0" + "\3\264\2\0\7\264\1\0\1\u01d8\6\264\1\0\1\250" + "\1\264\1\0\4\264\2\0\4\264\7\0\2\250\16\264" + "\4\0\2\264\1\u065a\16\264\55\0\1\u0a6f\166\0\1\u0a70" - + "\76\0\1\u0a71\171\0\1\u0a72\137\0\1\u0a73\104\0\1\u0a74" + "\172\0\1\u0a75\104\0\1\u0a76\173\0\1\u0a77\143\0\1\u0a78" - + "\117\0\1\u0a79\117\0\1\u0a7a\140\0\1\u0a7b\134\0\1\u0a7c" + "\156\0\1\u0a7d\123\0\1\u0a7e\155\0\1\u0a7f\153\0\1\u0a80" - + "\122\0\1\u0a81\161\0\1\u0a82\50\0\1\u0a67\227\0\1\u0a7a" + "\107\0\1\u0a83\104\0\1\u0a84\246\0\1\u0a85\63\0\1\u0a86" - + "\124\0\1\u0a87\161\0\1\u0a88\117\0\1\u0a89\157\0\1\u0a8a" + "\153\0\1\u0a8b\122\0\1\u0a8c\140\0\1\u0a8d\117\0\1\u0a8e" - + "\176\0\1\u085c\116\0\1\u0a8f\137\0\1\u0a7a\163\0\1\u08f2" + "\76\0\1\u0a90\154\0\1\u04ec\134\0\1\u0a91\123\0\1\u0a92" - + "\177\0\1\u0a93\133\0\1\u0a94\123\0\1\u0a95\140\0\1\u0939" + "\116\0\1\u0a96\140\0\1\u0a97\203\0\1\u085c\126\0\1\u0972" - + "\42\0"; - + + "\76\0\1\u0a71\171\0\1\u0a72\137\0\1\u0a73\104\0\1\u0a74" + + "\172\0\1\u0a75\104\0\1\u0a76\173\0\1\u0a77\143\0\1\u0a78" + + "\117\0\1\u0a79\117\0\1\u0a7a\140\0\1\u0a7b\134\0\1\u0a7c" + + "\156\0\1\u0a7d\123\0\1\u0a7e\155\0\1\u0a7f\153\0\1\u0a80" + + "\122\0\1\u0a81\161\0\1\u0a82\50\0\1\u0a67\227\0\1\u0a7a" + + "\107\0\1\u0a83\104\0\1\u0a84\246\0\1\u0a85\63\0\1\u0a86" + + "\124\0\1\u0a87\161\0\1\u0a88\117\0\1\u0a89\157\0\1\u0a8a" + + "\153\0\1\u0a8b\122\0\1\u0a8c\140\0\1\u0a8d\117\0\1\u0a8e" + + "\176\0\1\u085c\116\0\1\u0a8f\137\0\1\u0a7a\163\0\1\u08f2" + + "\76\0\1\u0a90\154\0\1\u04ec\134\0\1\u0a91\123\0\1\u0a92" + + "\177\0\1\u0a93\133\0\1\u0a94\123\0\1\u0a95\140\0\1\u0939" + + "\116\0\1\u0a96\140\0\1\u0a97\203\0\1\u085c\126\0\1\u0972" + "\42\0"; + private static int[] zzUnpackTrans() { int[] result = new int[246048]; int offset = 0; @@ -3471,7 +3651,7 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { offset = zzUnpackTrans(ZZ_TRANS_PACKED_2, 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 */ @@ -3486,7 +3666,7 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -3498,29 +3678,36 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\14\0\1\1" + "\5\0\2\1\1\11\4\1\1\11\5\1\1\11\2\1" - + "\2\11\2\1\4\11\1\1\1\11\1\1\1\11\26\1" + "\1\11\2\1\2\11\1\1\5\11\1\1\1\11\2\1" + "\1\11\2\1\1\11\1\1\2\11\14\1\1\11\7\1" - + "\1\11\1\1\1\11\11\1\2\11\2\1\2\11\2\1" + "\1\11\6\1\1\11\4\1\1\11\2\1\1\11\10\1" + "\1\11\57\1\1\11\5\1\2\11\4\1\2\11\1\1" - + "\2\11\5\1\3\11\4\1\4\11\1\1\1\11\6\1" + "\4\11\1\1\3\11\2\1\1\11\2\1\1\11\1\1" + "\1\11\1\1\1\11\5\1\2\11\5\0\1\11\105\1" - + "\1\11\2\0\1\1\1\0\1\1\1\11\1\0\76\1" + "\1\11\2\1\3\0\1\11\12\0\1\11\2\0\1\11" + "\16\0\1\1\1\11\2\1\1\0\1\11\52\1\1\11" - + "\130\1\2\11\3\1\1\0\1\11\1\1\15\0\1\1" + "\1\0\1\11\5\0\1\1\4\11\3\1\1\11\1\0" + "\1\11\1\0\1\11\4\0\101\1\1\11\1\0\1\1" - + "\1\0\3\1\1\0\72\1\44\0\1\11\1\1\1\0" + "\3\1\1\0\242\1\25\0\2\1\2\11\2\0\44\1" + "\1\0\1\11\47\1\1\0\1\11\3\0\1\1\3\0" - + "\1\1\1\11\11\0\1\11\11\0\1\1\5\0\212\1" + "\1\0\17\1\23\0\2\1\2\0\24\1\1\0\30\1" + "\37\0\205\1\1\0\15\1\16\0\14\1\1\0\21\1" - + "\24\0\172\1\1\0\13\1\12\0\4\1\1\0\10\1" + "\4\0\1\1\6\0\66\1\1\0\3\1\1\0\22\1" + "\1\0\45\1\1\0\13\1\6\0\1\1\1\0\3\1" - + "\13\0\70\1\2\0\2\1\4\0\16\1\2\0\37\1" + "\1\0\12\1\1\11\4\0\1\1\1\11\1\1\2\11" + "\5\0\14\1\1\0\45\1\2\0\1\1\4\0\15\1" - + "\1\0\35\1\1\11\11\1\10\0\21\1\1\0\31\1" + "\6\0\10\1\1\0\2\1\1\0\35\1\3\0\1\11" + "\2\0\15\1\2\0\25\1\6\0\11\1\1\0\34\1" - + "\1\0\4\1\2\0\21\1\5\0\6\1\1\0\1\1" + "\1\0\27\1\2\0\3\1\2\0\16\1\4\0\6\1" + "\2\0\25\1\2\0\2\1\2\0\15\1\3\0\4\1" - + "\2\0\22\1\5\0\1\1\3\0\10\1\1\0\1\1" + "\3\0\4\1\2\0\15\1\4\0\1\1\2\0\10\1" + "\1\0\1\1\3\0\3\1\2\0\7\1\6\0\5\1" - + "\1\0\1\1\3\0\2\1\2\0\6\1\6\0\3\1" + "\5\0\2\1\2\0\2\1\1\0\3\1\5\0\2\1" + "\3\0\1\1\2\0\2\1\2\0\1\1\5\0\1\1" + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\14\0\1\1" + + "\5\0\2\1\1\11\4\1\1\11\5\1\1\11\2\1" + "\2\11\2\1\4\11\1\1\1\11\1\1\1\11\26\1" + + "\1\11\2\1\2\11\1\1\5\11\1\1\1\11\2\1" + "\1\11\2\1\1\11\1\1\2\11\14\1\1\11\7\1" + + "\1\11\1\1\1\11\11\1\2\11\2\1\2\11\2\1" + "\1\11\6\1\1\11\4\1\1\11\2\1\1\11\10\1" + + "\1\11\57\1\1\11\5\1\2\11\4\1\2\11\1\1" + "\2\11\5\1\3\11\4\1\4\11\1\1\1\11\6\1" + + "\4\11\1\1\3\11\2\1\1\11\2\1\1\11\1\1" + "\1\11\1\1\1\11\5\1\2\11\5\0\1\11\105\1" + + "\1\11\2\0\1\1\1\0\1\1\1\11\1\0\76\1" + "\1\11\2\1\3\0\1\11\12\0\1\11\2\0\1\11" + + "\16\0\1\1\1\11\2\1\1\0\1\11\52\1\1\11" + "\130\1\2\11\3\1\1\0\1\11\1\1\15\0\1\1" + + "\1\0\1\11\5\0\1\1\4\11\3\1\1\11\1\0" + "\1\11\1\0\1\11\4\0\101\1\1\11\1\0\1\1" + + "\1\0\3\1\1\0\72\1\44\0\1\11\1\1\1\0" + "\3\1\1\0\242\1\25\0\2\1\2\11\2\0\44\1" + + "\1\0\1\11\47\1\1\0\1\11\3\0\1\1\3\0" + "\1\1\1\11\11\0\1\11\11\0\1\1\5\0\212\1" + + "\1\0\17\1\23\0\2\1\2\0\24\1\1\0\30\1" + "\37\0\205\1\1\0\15\1\16\0\14\1\1\0\21\1" + + "\24\0\172\1\1\0\13\1\12\0\4\1\1\0\10\1" + "\4\0\1\1\6\0\66\1\1\0\3\1\1\0\22\1" + + "\1\0\45\1\1\0\13\1\6\0\1\1\1\0\3\1" + "\13\0\70\1\2\0\2\1\4\0\16\1\2\0\37\1" + + "\1\0\12\1\1\11\4\0\1\1\1\11\1\1\2\11" + "\5\0\14\1\1\0\45\1\2\0\1\1\4\0\15\1" + + "\1\0\35\1\1\11\11\1\10\0\21\1\1\0\31\1" + "\6\0\10\1\1\0\2\1\1\0\35\1\3\0\1\11" + + "\2\0\15\1\2\0\25\1\6\0\11\1\1\0\34\1" + "\1\0\4\1\2\0\21\1\5\0\6\1\1\0\1\1" + + "\1\0\27\1\2\0\3\1\2\0\16\1\4\0\6\1" + "\2\0\25\1\2\0\2\1\2\0\15\1\3\0\4\1" + + "\2\0\22\1\5\0\1\1\3\0\10\1\1\0\1\1" + "\3\0\4\1\2\0\15\1\4\0\1\1\2\0\10\1" + + "\1\0\1\1\3\0\3\1\2\0\7\1\6\0\5\1" + "\1\0\1\1\3\0\2\1\2\0\6\1\6\0\3\1" + + "\5\0\2\1\2\0\2\1\1\0\3\1\5\0\2\1" + "\3\0\1\1\2\0\2\1\2\0\1\1\5\0\1\1" + "\3\0\1\1\2\0\1\1\11\0\1\1\2\0\1\1" + "\16\0\1\1\43\0"; - + private static int[] zzUnpackAttribute() { int[] result = new int[2711]; 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 */ @@ -3534,7 +3721,7 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -3542,8 +3729,8 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -3553,8 +3740,7 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ @@ -3571,39 +3757,35 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { */ private static final int INTERNAL_ATTR_SINGLE = -2; /** - * Token type specific to JSPTokenMaker; this signals that the user has - * ended a line with an unclosed HTML tag; thus a new line is beginning - * still inside of the tag. + * Token type specific to JSPTokenMaker; this signals that the user has ended a + * line with an unclosed HTML tag; thus a new line is beginning still inside of + * the tag. */ private static final int INTERNAL_INTAG = -3; /** - * Token type specific to JSPTokenMaker; this signals that the user has - * ended a line with an unclosed <script> tag. + * Token type specific to JSPTokenMaker; this signals that the user has ended a + * line with an unclosed <script> tag. */ private static final int INTERNAL_INTAG_SCRIPT = -4; /** - * Token type specifying we're in a double-qouted attribute in a - * script tag. + * Token type specifying we're in a double-qouted attribute in a script tag. */ private static final int INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT = -5; /** - * Token type specifying we're in a single-qouted attribute in a - * script tag. + * Token type specifying we're in a single-qouted attribute in a script tag. */ private static final int INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT = -6; /** - * Token type specifying that the user has - * ended a line with an unclosed <style> tag. + * Token type specifying that the user has ended a line with an unclosed + * <style> tag. */ private static final int INTERNAL_INTAG_STYLE = -7; /** - * Token type specifying we're in a double-qouted attribute in a - * style tag. + * Token type specifying we're in a double-qouted attribute in a style tag. */ private static final int INTERNAL_ATTR_DOUBLE_QUOTE_STYLE = -8; /** - * Token type specifying we're in a single-qouted attribute in a - * style tag. + * Token type specifying we're in a single-qouted attribute in a style tag. */ private static final int INTERNAL_ATTR_SINGLE_QUOTE_STYLE = -9; /** @@ -3611,8 +3793,8 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { */ private static final int INTERNAL_IN_HIDDEN_COMMENT = -10; /** - * Token type specifying we're in a JSP directive (either include, page - * or taglib). + * Token type specifying we're in a JSP directive (either include, page or + * taglib). */ private static final int INTERNAL_IN_JSP_DIRECTIVE = -11; /** @@ -3632,13 +3814,11 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { */ private static final int INTERNAL_IN_JS_STRING_VALID = -15; /** - * Token type specifying we're in an invalid multi-line JS single-quoted - * string. + * Token type specifying we're in an invalid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_INVALID = -16; /** - * Token type specifying we're in a valid multi-line JS single-quoted - * string. + * Token type specifying we're in a valid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_VALID = -17; /** @@ -3662,18 +3842,18 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { */ private static final int INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID = -24; /** - * Internal type denoting line ending in a CSS double-quote string. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS double-quote string. The state to + * return to is embedded in the actual end token type. */ private static final int INTERNAL_CSS_STRING = -(1 << 11); /** - * Internal type denoting line ending in a CSS single-quote string. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS single-quote string. The state to + * return to is embedded in the actual end token type. */ private static final int INTERNAL_CSS_CHAR = -(2 << 11); /** - * Internal type denoting line ending in a CSS multi-line comment. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS multi-line comment. The state to + * return to is embedded in the actual end token type. */ private static final int INTERNAL_CSS_MLC = -(3 << 11); /** @@ -3718,80 +3898,70 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { */ private static final int LANG_INDEX_CSS = 2; private Stack varDepths; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public JSPTokenMaker() { super(); } - + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -3799,11 +3969,10 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { protected OccurrenceMarker createOccurrenceMarker() { return new HtmlOccurrenceMarker(); } - + /** - * Sets whether markup close tags should be completed. You might not want - * this to be the case, since some tags in standard HTML aren't usually - * closed. + * Sets whether markup close tags should be completed. You might not want this + * to be the case, since some tags in standard HTML aren't usually closed. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) @@ -3812,27 +3981,27 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { public boolean getCompleteCloseTags() { return completeCloseTags; } - + @Override public boolean getCurlyBracesDenoteCodeBlocks(int languageIndex) { return languageIndex == LANG_INDEX_CSS || languageIndex == LANG_INDEX_JS; } - + /** * {@inheritDoc} */ @Override public String[] getLineCommentStartAndEnd(int languageIndex) { switch (languageIndex) { - case LANG_INDEX_JS: - return new String[] { "//", null }; - case LANG_INDEX_CSS: - return new String[] { "/*", "*/" }; - default: - return new String[] { "" }; + case LANG_INDEX_JS: + return new String[] { "//", null }; + case LANG_INDEX_CSS: + return new String[] { "/*", "*/" }; + default: + return new String[] { "" }; } } - + /** * {@inheritDoc} */ @@ -3840,10 +4009,9 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.FUNCTION || type == Token.VARIABLE || type == Token.MARKUP_TAG_NAME; } - + /** - * Overridden to handle newlines in JS and CSS differently than those in - * markup. + * Overridden to handle newlines in JS and CSS differently than those in markup. */ @Override public boolean getShouldIndentNextLineAfter(Token token) { @@ -3856,21 +4024,18 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { } return false; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -3882,137 +4047,137 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.MARKUP_COMMENT: - state = COMMENT; - break; - case Token.PREPROCESSOR: - state = PI; - break; - case Token.VARIABLE: - state = DTD; - break; - case INTERNAL_INTAG: - state = INTAG; - break; - case INTERNAL_INTAG_SCRIPT: - state = INTAG_SCRIPT; - break; - case INTERNAL_INTAG_STYLE: - state = INTAG_STYLE; - break; - case INTERNAL_ATTR_DOUBLE: - state = INATTR_DOUBLE; - break; - case INTERNAL_ATTR_SINGLE: - state = INATTR_SINGLE; - break; - case INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT: - state = INATTR_DOUBLE_SCRIPT; - break; - case INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT: - state = INATTR_SINGLE_SCRIPT; - break; - case INTERNAL_ATTR_DOUBLE_QUOTE_STYLE: - state = INATTR_DOUBLE_STYLE; - break; - case INTERNAL_ATTR_SINGLE_QUOTE_STYLE: - state = INATTR_SINGLE_STYLE; - break; - case INTERNAL_IN_HIDDEN_COMMENT: - state = HIDDEN_COMMENT; - break; - case INTERNAL_IN_JSP_DIRECTIVE: - state = JSP_DIRECTIVE; - break; - case INTERNAL_IN_JS: - state = JAVASCRIPT; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_IN_JS_MLC: - state = JS_MLC; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_IN_JS_STRING_INVALID: - state = JS_STRING; - languageIndex = LANG_INDEX_JS; - validJSString = false; - break; - case INTERNAL_IN_JS_STRING_VALID: - state = JS_STRING; - languageIndex = LANG_INDEX_JS; - validJSString = true; - break; - case INTERNAL_IN_JS_CHAR_INVALID: - state = JS_CHAR; - languageIndex = LANG_INDEX_JS; - validJSString = false; - break; - case INTERNAL_IN_JS_CHAR_VALID: - state = JS_CHAR; - languageIndex = LANG_INDEX_JS; - validJSString = true; - break; - case INTERNAL_CSS: - state = CSS; - languageIndex = LANG_INDEX_CSS; - break; - case INTERNAL_CSS_PROPERTY: - state = CSS_PROPERTY; - languageIndex = LANG_INDEX_CSS; - break; - case INTERNAL_CSS_VALUE: - state = CSS_VALUE; - languageIndex = LANG_INDEX_CSS; - break; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: - state = JS_TEMPLATE_LITERAL; - languageIndex = LANG_INDEX_JS; - validJSString = true; - break; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: - state = JS_TEMPLATE_LITERAL; - languageIndex = LANG_INDEX_JS; - validJSString = false; - break; - default: - if (initialTokenType < -1024) { - // INTERNAL_IN_JAVAxxx - jspInState or - // INTERNAL_IN_CSSxxx - cssPrevState - int main = -(-initialTokenType & 0xffffff00); - switch (main) { - default: // Should never happen - case INTERNAL_IN_JAVA_DOCCOMMENT: - state = JAVA_DOCCOMMENT; - jspInState = -initialTokenType & 0xff; - break; - case INTERNAL_IN_JAVA_EXPRESSION: - state = JAVA_EXPRESSION; - jspInState = -initialTokenType & 0xff; - break; - case INTERNAL_IN_JAVA_MLC: - state = JAVA_MLC; - jspInState = -initialTokenType & 0xff; - break; - case INTERNAL_CSS_STRING: - state = CSS_STRING; - languageIndex = LANG_INDEX_CSS; - cssPrevState = -initialTokenType & 0xff; - break; - case INTERNAL_CSS_CHAR: - state = CSS_CHAR_LITERAL; - languageIndex = LANG_INDEX_CSS; - cssPrevState = -initialTokenType & 0xff; - break; - case INTERNAL_CSS_MLC: - state = CSS_C_STYLE_COMMENT; - languageIndex = LANG_INDEX_CSS; - cssPrevState = -initialTokenType & 0xff; - break; - } - } else { - state = Token.NULL; + case Token.MARKUP_COMMENT: + state = COMMENT; + break; + case Token.PREPROCESSOR: + state = PI; + break; + case Token.VARIABLE: + state = DTD; + break; + case INTERNAL_INTAG: + state = INTAG; + break; + case INTERNAL_INTAG_SCRIPT: + state = INTAG_SCRIPT; + break; + case INTERNAL_INTAG_STYLE: + state = INTAG_STYLE; + break; + case INTERNAL_ATTR_DOUBLE: + state = INATTR_DOUBLE; + break; + case INTERNAL_ATTR_SINGLE: + state = INATTR_SINGLE; + break; + case INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT: + state = INATTR_DOUBLE_SCRIPT; + break; + case INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT: + state = INATTR_SINGLE_SCRIPT; + break; + case INTERNAL_ATTR_DOUBLE_QUOTE_STYLE: + state = INATTR_DOUBLE_STYLE; + break; + case INTERNAL_ATTR_SINGLE_QUOTE_STYLE: + state = INATTR_SINGLE_STYLE; + break; + case INTERNAL_IN_HIDDEN_COMMENT: + state = HIDDEN_COMMENT; + break; + case INTERNAL_IN_JSP_DIRECTIVE: + state = JSP_DIRECTIVE; + break; + case INTERNAL_IN_JS: + state = JAVASCRIPT; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_IN_JS_MLC: + state = JS_MLC; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_IN_JS_STRING_INVALID: + state = JS_STRING; + languageIndex = LANG_INDEX_JS; + validJSString = false; + break; + case INTERNAL_IN_JS_STRING_VALID: + state = JS_STRING; + languageIndex = LANG_INDEX_JS; + validJSString = true; + break; + case INTERNAL_IN_JS_CHAR_INVALID: + state = JS_CHAR; + languageIndex = LANG_INDEX_JS; + validJSString = false; + break; + case INTERNAL_IN_JS_CHAR_VALID: + state = JS_CHAR; + languageIndex = LANG_INDEX_JS; + validJSString = true; + break; + case INTERNAL_CSS: + state = CSS; + languageIndex = LANG_INDEX_CSS; + break; + case INTERNAL_CSS_PROPERTY: + state = CSS_PROPERTY; + languageIndex = LANG_INDEX_CSS; + break; + case INTERNAL_CSS_VALUE: + state = CSS_VALUE; + languageIndex = LANG_INDEX_CSS; + break; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: + state = JS_TEMPLATE_LITERAL; + languageIndex = LANG_INDEX_JS; + validJSString = true; + break; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: + state = JS_TEMPLATE_LITERAL; + languageIndex = LANG_INDEX_JS; + validJSString = false; + break; + default: + if (initialTokenType < -1024) { + // INTERNAL_IN_JAVAxxx - jspInState or + // INTERNAL_IN_CSSxxx - cssPrevState + int main = -(-initialTokenType & 0xffffff00); + switch (main) { + default: // Should never happen + case INTERNAL_IN_JAVA_DOCCOMMENT: + state = JAVA_DOCCOMMENT; + jspInState = -initialTokenType & 0xff; + break; + case INTERNAL_IN_JAVA_EXPRESSION: + state = JAVA_EXPRESSION; + jspInState = -initialTokenType & 0xff; + break; + case INTERNAL_IN_JAVA_MLC: + state = JAVA_MLC; + jspInState = -initialTokenType & 0xff; + break; + case INTERNAL_CSS_STRING: + state = CSS_STRING; + languageIndex = LANG_INDEX_CSS; + cssPrevState = -initialTokenType & 0xff; + break; + case INTERNAL_CSS_CHAR: + state = CSS_CHAR_LITERAL; + languageIndex = LANG_INDEX_CSS; + cssPrevState = -initialTokenType & 0xff; + break; + case INTERNAL_CSS_MLC: + state = CSS_C_STYLE_COMMENT; + languageIndex = LANG_INDEX_CSS; + cssPrevState = -initialTokenType & 0xff; + break; } - break; + } else { + state = Token.NULL; + } + break; } setLanguageIndex(languageIndex); start = text.offset; @@ -4026,49 +4191,45 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { return new TokenImpl(); } } - + /** - * Sets whether markup close tags should be completed. You might not want - * this to be the case, since some tags in standard HTML aren't usually - * closed. + * Sets whether markup close tags should be completed. You might not want this + * to be the case, since some tags in standard HTML aren't usually closed. * - * @param complete - * Whether closing markup tags are completed. + * @param complete Whether closing markup tags are completed. * @see #getCompleteCloseTags() */ public static void setCompleteCloseTags(boolean complete) { completeCloseTags = complete; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -4078,34 +4239,31 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public JSPTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public JSPTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -4121,7 +4279,7 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -4131,69 +4289,64 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -4204,29 +4357,27 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -4245,8 +4396,7 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -4286,1148 +4436,1147 @@ public class JSPTokenMaker extends AbstractMarkupTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 66: { - addToken(Token.OPERATOR); - yybegin(CSS_VALUE); - } - case 139: - break; - case 93: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 140: - break; - case 75: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - addEndToken(INTERNAL_CSS_CHAR - cssPrevState); - return firstToken; - } - case 141: - break; - case 23: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE_SCRIPT); - } - case 142: - break; - case 10: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.MARKUP_DTD); - } - case 143: - break; - case 62: { - addToken(Token.SEPARATOR); - yybegin(CSS_PROPERTY); - } - case 144: - break; - case 121: { - start = zzMarkedPos - 4; - yybegin(HIDDEN_COMMENT); - } - case 145: - break; - case 4: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(INTAG); - } - case 146: - break; - case 133: { - addToken(Token.RESERVED_WORD_2); - } - case 147: - break; - case 111: { - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - yybegin(cssPrevState); - } - case 148: - break; - case 108: { - start = zzMarkedPos - 2; - cssPrevState = zzLexicalState; - yybegin(CSS_C_STYLE_COMMENT); - } - case 149: - break; - case 42: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_INVALID); - } - return firstToken; - } - case 150: - break; - case 5: { - addToken(Token.WHITESPACE); - } - case 151: - break; - case 134: { - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 6, zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - start = zzMarkedPos; - yybegin(INTAG_SCRIPT); - } - case 152: - break; - case 110: { - addToken(Token.REGEX); - } - case 153: - break; - case 43: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 154: - break; - case 138: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 155: - break; - case 120: { - addToken(Token.FUNCTION); - } - case 156: - break; - case 100: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_MARKUP); - start = zzMarkedPos; - } - case 157: - break; - case 8: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 158: - break; - case 37: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 159: - break; - case 58: { - start = zzMarkedPos - 1; - cssPrevState = zzLexicalState; - yybegin(CSS_STRING); - } - case 160: - break; - case 112: { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - start = zzMarkedPos - 2; - if (varDepths == null) { - varDepths = new Stack(); - } else { - varDepths.clear(); - } - varDepths.push(Boolean.TRUE); - yybegin(JS_TEMPLATE_LITERAL_EXPR); - } - case 161: - break; - case 83: { - if (!varDepths.empty()) { - varDepths.pop(); - if (varDepths.empty()) { - addToken(start, zzStartRead, Token.VARIABLE); - start = zzMarkedPos; - yybegin(JS_TEMPLATE_LITERAL); - } - } - } - case 162: - break; - case 78: { - if (validJSString) { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 163: - break; - case 53: { - addToken(Token.ERROR_CHAR); - } - case 164: - break; - case 80: { /* - * Skip valid '$' that is not part of template - * literal expression start - */ - } - case 165: - break; - case 20: { /* Allowing JSP expressions, etc. */ - } - case 166: - break; - case 26: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE_STYLE); - } - case 167: - break; - case 36: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_TEMPLATE_LITERAL); - } - case 168: - break; - case 129: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 3, Token.MARKUP_COMMENT); - } - case 169: - break; - case 96: { /* Skip all escaped chars. */ - } - case 170: - break; - case 90: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(YYINITIAL); - } - case 171: - break; - case 29: { - yybegin(INTAG_STYLE); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 172: - break; - case 126: { - if (JavaScriptTokenMaker.isJavaScriptCompatible("1.6")) { - addToken(Token.RESERVED_WORD); - } else { - addToken(Token.IDENTIFIER); - } - } - case 173: - break; - case 118: { - if (JavaScriptTokenMaker.isJavaScriptCompatible("1.7")) { - addToken(Token.RESERVED_WORD); - } else { - addToken(Token.IDENTIFIER); - } - } - case 174: - break; - case 67: { - /* System.out.println("css_value: " + yytext()); */ addToken(Token.IDENTIFIER); - } - case 175: - break; - case 17: { - /* A non-recognized HTML tag name */ yypushback(yylength()); - yybegin(INTAG); - } - case 176: - break; - case 28: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(CSS, LANG_INDEX_CSS); - } - case 177: - break; - case 76: { + case 66: { + addToken(Token.OPERATOR); + yybegin(CSS_VALUE); + } + case 139: + break; + case 93: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 140: + break; + case 75: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + addEndToken(INTERNAL_CSS_CHAR - cssPrevState); + return firstToken; + } + case 141: + break; + case 23: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE_SCRIPT); + } + case 142: + break; + case 10: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.MARKUP_DTD); + } + case 143: + break; + case 62: { + addToken(Token.SEPARATOR); + yybegin(CSS_PROPERTY); + } + case 144: + break; + case 121: { + start = zzMarkedPos - 4; + yybegin(HIDDEN_COMMENT); + } + case 145: + break; + case 4: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(INTAG); + } + case 146: + break; + case 133: { + addToken(Token.RESERVED_WORD_2); + } + case 147: + break; + case 111: { + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + yybegin(cssPrevState); + } + case 148: + break; + case 108: { + start = zzMarkedPos - 2; + cssPrevState = zzLexicalState; + yybegin(CSS_C_STYLE_COMMENT); + } + case 149: + break; + case 42: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { addToken(start, zzStartRead, Token.LITERAL_CHAR); - yybegin(cssPrevState); + addEndToken(INTERNAL_IN_JS_CHAR_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS_CHAR_INVALID); } - case 178: - break; - case 113: { - varDepths.push(Boolean.TRUE); + return firstToken; + } + case 150: + break; + case 5: { + addToken(Token.WHITESPACE); + } + case 151: + break; + case 134: { + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 6, zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + start = zzMarkedPos; + yybegin(INTAG_SCRIPT); + } + case 152: + break; + case 110: { + addToken(Token.REGEX); + } + case 153: + break; + case 43: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 154: + break; + case 138: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 155: + break; + case 120: { + addToken(Token.FUNCTION); + } + case 156: + break; + case 100: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_MARKUP); + start = zzMarkedPos; + } + case 157: + break; + case 8: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 158: + break; + case 37: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 159: + break; + case 58: { + start = zzMarkedPos - 1; + cssPrevState = zzLexicalState; + yybegin(CSS_STRING); + } + case 160: + break; + case 112: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + start = zzMarkedPos - 2; + if (varDepths == null) { + varDepths = new Stack(); + } else { + varDepths.clear(); } - case 179: - break; - case 27: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE_STYLE); + varDepths.push(Boolean.TRUE); + yybegin(JS_TEMPLATE_LITERAL_EXPR); + } + case 161: + break; + case 83: { + if (!varDepths.empty()) { + varDepths.pop(); + if (varDepths.empty()) { + addToken(start, zzStartRead, Token.VARIABLE); + start = zzMarkedPos; + yybegin(JS_TEMPLATE_LITERAL); + } } - case 180: - break; - case 55: { - addToken(Token.IDENTIFIER); /* - * Needed as InTagIdentifier - * ignores it. - */ + } + case 162: + break; + case 78: { + if (validJSString) { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } - case 181: - break; - case 7: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - return firstToken; - } - case 182: - break; - case 98: { - /* Invalid latin-1 character \xXX */ validJSString = false; - } - case 183: - break; - case 25: { - yybegin(INTAG_SCRIPT); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 184: - break; - case 38: { - int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; - addToken(start, zzStartRead, type); - yybegin(JAVASCRIPT); - } - case 185: - break; - case 124: { - addToken(Token.COMMENT_MULTILINE); - } - case 186: - break; - case 48: { - addToken(Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); - return firstToken; - } - case 187: - break; - case 119: { - start = zzMarkedPos - 3; - yybegin(JAVA_DOCCOMMENT); - } - case 188: - break; - case 87: { - start = zzMarkedPos - 2; - yybegin(PI); - } - case 189: - break; - case 135: { - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 6, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 190: - break; - case 63: { - /* System.out.println("css_property: " + yytext()); */ addToken(Token.IDENTIFIER); - } - case 191: - break; - case 9: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - return firstToken; - } - case 192: - break; - case 84: { - int count = yylength(); - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - zzMarkedPos -= (count - 1); // yypushback(count-1); - yybegin(INTAG_CHECK_TAG_NAME); - } - case 193: - break; - case 74: { /* Skip escaped chars. */ - } - case 194: - break; - case 97: { - /* Invalid Unicode character \\uXXXX */ validJSString = false; - } - case 195: - break; - case 132: { - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 5, zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - start = zzMarkedPos; - cssPrevState = zzLexicalState; - yybegin(INTAG_STYLE); - } - case 196: - break; - case 101: { - yybegin(JAVA_EXPRESSION); - addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); - } - case 197: - break; - case 88: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.MARKUP_PROCESSING_INSTRUCTION); - } - case 198: - break; - case 99: { - yybegin(JAVASCRIPT); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 199: - break; - case 85: { - addToken(Token.MARKUP_TAG_DELIMITER); - jspInState = zzLexicalState; - yybegin(JAVA_EXPRESSION); - } - case 200: - break; - case 31: { - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 201: - break; - case 40: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 202: - break; - case 45: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addEndToken(INTERNAL_IN_HIDDEN_COMMENT); - return firstToken; - } - case 203: - break; - case 12: { - addToken(Token.OPERATOR); - } - case 204: - break; - case 69: { - addToken(Token.OPERATOR); - yybegin(CSS_PROPERTY); - } - case 205: - break; - case 49: { - addToken(Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); - return firstToken; - } - case 206: - break; - case 122: { - start = zzMarkedPos - 4; - yybegin(COMMENT); - } - case 207: - break; - case 116: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); - } - case 208: - break; - case 109: { - addToken(Token.VARIABLE); - } - case 209: - break; - case 56: { - /* System.out.println("CSS: " + yytext()); */ addToken(Token.IDENTIFIER); - } - case 210: - break; - case 104: { - start = zzMarkedPos - 2; - yybegin(JAVA_MLC); - } - case 211: - break; - case 81: { - int type = validJSString ? Token.LITERAL_BACKQUOTE : Token.ERROR_STRING_DOUBLE; - addToken(start, zzStartRead, type); - yybegin(JAVASCRIPT); - } - case 212: - break; - case 2: { + return firstToken; + } + case 163: + break; + case 53: { + addToken(Token.ERROR_CHAR); + } + case 164: + break; + case 80: { /* + * Skip valid '$' that is not part of template literal expression start + */ + } + case 165: + break; + case 20: { /* Allowing JSP expressions, etc. */ + } + case 166: + break; + case 26: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE_STYLE); + } + case 167: + break; + case 36: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_TEMPLATE_LITERAL); + } + case 168: + break; + case 129: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 3, Token.MARKUP_COMMENT); + } + case 169: + break; + case 96: { /* Skip all escaped chars. */ + } + case 170: + break; + case 90: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(YYINITIAL); + } + case 171: + break; + case 29: { + yybegin(INTAG_STYLE); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 172: + break; + case 126: { + if (JavaScriptTokenMaker.isJavaScriptCompatible("1.6")) { + addToken(Token.RESERVED_WORD); + } else { addToken(Token.IDENTIFIER); } - case 213: - break; - case 127: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 214: - break; - case 24: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(JAVASCRIPT, LANG_INDEX_JS); - } - case 215: - break; - case 103: { - addToken(Token.COMMENT_EOL); - addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); - return firstToken; - } - case 216: - break; - case 128: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 217: - break; - case 65: { - addToken(Token.SEPARATOR); - yybegin(CSS); - } - case 218: - break; - case 137: { - yybegin(YYINITIAL); - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 219: - break; - case 32: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_STRING); - } - case 220: - break; - case 46: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addEndToken(INTERNAL_IN_JAVA_DOCCOMMENT - jspInState); - return firstToken; - } - case 221: - break; - case 73: { - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - yybegin(cssPrevState); - } - case 222: - break; - case 79: { - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 223: - break; - case 64: { - addEndToken(INTERNAL_CSS_PROPERTY); - return firstToken; - } - case 224: - break; - case 52: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 225: - break; - case 41: { - int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; - addToken(start, zzStartRead, type); - yybegin(JAVASCRIPT); - } - case 226: - break; - case 115: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(JSP_DIRECTIVE); - } - case 227: - break; - case 33: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_CHAR); - } - case 228: - break; - case 131: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); - start = zzMarkedPos; - } - case 229: - break; - case 92: { - start = zzMarkedPos - 2; - yybegin(JS_MLC); - } - case 230: - break; - case 95: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 231: - break; - case 71: { - int temp = zzMarkedPos - 2; - addToken(zzStartRead, temp, Token.FUNCTION); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); - zzStartRead = zzCurrentPos = zzMarkedPos; - } - case 232: - break; - case 106: { - yybegin(JAVA_EXPRESSION); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 233: - break; - case 51: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JAVA_MLC - jspInState); - return firstToken; - } - case 234: - break; - case 50: { - addToken(Token.ANNOTATION); - } - case 235: - break; - case 30: { - addToken(Token.ERROR_IDENTIFIER); - } - case 236: - break; - case 68: { - addEndToken(INTERNAL_CSS_VALUE); - return firstToken; - } - case 237: - break; - case 123: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); - start = zzMarkedPos; - } - case 238: - break; - case 6: { - addToken(Token.MARKUP_ENTITY_REFERENCE); - } - case 239: - break; - case 125: { - addToken(Token.LITERAL_BOOLEAN); - } - case 240: - break; - case 18: { - /* Shouldn't happen */ yypushback(1); - yybegin(INTAG); - } - case 241: - break; - case 3: { - addNullToken(); - return firstToken; - } - case 242: - break; - case 57: { - addEndToken(INTERNAL_CSS); - return firstToken; - } - case 243: - break; - case 136: { - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 244: - break; - case 59: { - start = zzMarkedPos - 1; - cssPrevState = zzLexicalState; - yybegin(CSS_CHAR_LITERAL); - } - case 245: - break; - case 54: { + } + case 173: + break; + case 118: { + if (JavaScriptTokenMaker.isJavaScriptCompatible("1.7")) { addToken(Token.RESERVED_WORD); + } else { + addToken(Token.IDENTIFIER); } - case 246: - break; - case 105: { - addToken(Token.MARKUP_TAG_DELIMITER); - start = zzMarkedPos; - yybegin(jspInState); + } + case 174: + break; + case 67: { + /* System.out.println("css_value: " + yytext()); */ addToken(Token.IDENTIFIER); + } + case 175: + break; + case 17: { + /* A non-recognized HTML tag name */ yypushback(yylength()); + yybegin(INTAG); + } + case 176: + break; + case 28: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(CSS, LANG_INDEX_CSS); + } + case 177: + break; + case 76: { + addToken(start, zzStartRead, Token.LITERAL_CHAR); + yybegin(cssPrevState); + } + case 178: + break; + case 113: { + varDepths.push(Boolean.TRUE); + } + case 179: + break; + case 27: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE_STYLE); + } + case 180: + break; + case 55: { + addToken(Token.IDENTIFIER); /* + * Needed as InTagIdentifier ignores it. + */ + } + case 181: + break; + case 7: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + return firstToken; + } + case 182: + break; + case 98: { + /* Invalid latin-1 character \xXX */ validJSString = false; + } + case 183: + break; + case 25: { + yybegin(INTAG_SCRIPT); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 184: + break; + case 38: { + int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; + addToken(start, zzStartRead, type); + yybegin(JAVASCRIPT); + } + case 185: + break; + case 124: { + addToken(Token.COMMENT_MULTILINE); + } + case 186: + break; + case 48: { + addToken(Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); + return firstToken; + } + case 187: + break; + case 119: { + start = zzMarkedPos - 3; + yybegin(JAVA_DOCCOMMENT); + } + case 188: + break; + case 87: { + start = zzMarkedPos - 2; + yybegin(PI); + } + case 189: + break; + case 135: { + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 6, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 190: + break; + case 63: { + /* System.out.println("css_property: " + yytext()); */ addToken(Token.IDENTIFIER); + } + case 191: + break; + case 9: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + return firstToken; + } + case 192: + break; + case 84: { + int count = yylength(); + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + zzMarkedPos -= (count - 1); // yypushback(count-1); + yybegin(INTAG_CHECK_TAG_NAME); + } + case 193: + break; + case 74: { /* Skip escaped chars. */ + } + case 194: + break; + case 97: { + /* Invalid Unicode character \\uXXXX */ validJSString = false; + } + case 195: + break; + case 132: { + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 5, zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + start = zzMarkedPos; + cssPrevState = zzLexicalState; + yybegin(INTAG_STYLE); + } + case 196: + break; + case 101: { + yybegin(JAVA_EXPRESSION); + addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); + } + case 197: + break; + case 88: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.MARKUP_PROCESSING_INSTRUCTION); + } + case 198: + break; + case 99: { + yybegin(JAVASCRIPT); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 199: + break; + case 85: { + addToken(Token.MARKUP_TAG_DELIMITER); + jspInState = zzLexicalState; + yybegin(JAVA_EXPRESSION); + } + case 200: + break; + case 31: { + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 201: + break; + case 40: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 202: + break; + case 45: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addEndToken(INTERNAL_IN_HIDDEN_COMMENT); + return firstToken; + } + case 203: + break; + case 12: { + addToken(Token.OPERATOR); + } + case 204: + break; + case 69: { + addToken(Token.OPERATOR); + yybegin(CSS_PROPERTY); + } + case 205: + break; + case 49: { + addToken(Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); + return firstToken; + } + case 206: + break; + case 122: { + start = zzMarkedPos - 4; + yybegin(COMMENT); + } + case 207: + break; + case 116: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); + } + case 208: + break; + case 109: { + addToken(Token.VARIABLE); + } + case 209: + break; + case 56: { + /* System.out.println("CSS: " + yytext()); */ addToken(Token.IDENTIFIER); + } + case 210: + break; + case 104: { + start = zzMarkedPos - 2; + yybegin(JAVA_MLC); + } + case 211: + break; + case 81: { + int type = validJSString ? Token.LITERAL_BACKQUOTE : Token.ERROR_STRING_DOUBLE; + addToken(start, zzStartRead, type); + yybegin(JAVASCRIPT); + } + case 212: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 213: + break; + case 127: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 214: + break; + case 24: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(JAVASCRIPT, LANG_INDEX_JS); + } + case 215: + break; + case 103: { + addToken(Token.COMMENT_EOL); + addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); + return firstToken; + } + case 216: + break; + case 128: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 217: + break; + case 65: { + addToken(Token.SEPARATOR); + yybegin(CSS); + } + case 218: + break; + case 137: { + yybegin(YYINITIAL); + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 219: + break; + case 32: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_STRING); + } + case 220: + break; + case 46: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addEndToken(INTERNAL_IN_JAVA_DOCCOMMENT - jspInState); + return firstToken; + } + case 221: + break; + case 73: { + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + yybegin(cssPrevState); + } + case 222: + break; + case 79: { + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } - case 247: - break; - case 13: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE); + return firstToken; + } + case 223: + break; + case 64: { + addEndToken(INTERNAL_CSS_PROPERTY); + return firstToken; + } + case 224: + break; + case 52: { + addToken(Token.ERROR_STRING_DOUBLE); + } + case 225: + break; + case 41: { + int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; + addToken(start, zzStartRead, type); + yybegin(JAVASCRIPT); + } + case 226: + break; + case 115: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(JSP_DIRECTIVE); + } + case 227: + break; + case 33: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_CHAR); + } + case 228: + break; + case 131: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); + start = zzMarkedPos; + } + case 229: + break; + case 92: { + start = zzMarkedPos - 2; + yybegin(JS_MLC); + } + case 230: + break; + case 95: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 231: + break; + case 71: { + int temp = zzMarkedPos - 2; + addToken(zzStartRead, temp, Token.FUNCTION); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); + zzStartRead = zzCurrentPos = zzMarkedPos; + } + case 232: + break; + case 106: { + yybegin(JAVA_EXPRESSION); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 233: + break; + case 51: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JAVA_MLC - jspInState); + return firstToken; + } + case 234: + break; + case 50: { + addToken(Token.ANNOTATION); + } + case 235: + break; + case 30: { + addToken(Token.ERROR_IDENTIFIER); + } + case 236: + break; + case 68: { + addEndToken(INTERNAL_CSS_VALUE); + return firstToken; + } + case 237: + break; + case 123: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); + start = zzMarkedPos; + } + case 238: + break; + case 6: { + addToken(Token.MARKUP_ENTITY_REFERENCE); + } + case 239: + break; + case 125: { + addToken(Token.LITERAL_BOOLEAN); + } + case 240: + break; + case 18: { + /* Shouldn't happen */ yypushback(1); + yybegin(INTAG); + } + case 241: + break; + case 3: { + addNullToken(); + return firstToken; + } + case 242: + break; + case 57: { + addEndToken(INTERNAL_CSS); + return firstToken; + } + case 243: + break; + case 136: { + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 244: + break; + case 59: { + start = zzMarkedPos - 1; + cssPrevState = zzLexicalState; + yybegin(CSS_CHAR_LITERAL); + } + case 245: + break; + case 54: { + addToken(Token.RESERVED_WORD); + } + case 246: + break; + case 105: { + addToken(Token.MARKUP_TAG_DELIMITER); + start = zzMarkedPos; + yybegin(jspInState); + } + case 247: + break; + case 13: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE); + } + case 248: + break; + case 107: { + addToken(Token.LITERAL_CHAR); + } + case 249: + break; + case 16: { + yybegin(YYINITIAL); + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 250: + break; + case 60: { + addToken(Token.DATA_TYPE); + } + case 251: + break; + case 47: { + addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); + return firstToken; + } + case 252: + break; + case 35: { + addToken(Token.SEPARATOR); + } + case 253: + break; + case 114: { + int count = yylength(); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + zzMarkedPos -= (count - 2); // yypushback(count-2); + yybegin(INTAG_CHECK_TAG_NAME); + } + case 254: + break; + case 72: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_CSS_STRING - cssPrevState); + return firstToken; + } + case 255: + break; + case 70: { + /* End of a function */ addToken(Token.SEPARATOR); + } + case 256: + break; + case 19: { + addToken(Token.MARKUP_TAG_NAME); + } + case 257: + break; + case 11: { + addToken(Token.MARKUP_TAG_ATTRIBUTE); + } + case 258: + break; + case 130: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_KEYWORD); + start = zzMarkedPos; + } + case 259: + break; + case 91: { + start = zzMarkedPos - 2; + yybegin(JS_EOL_COMMENT); + } + case 260: + break; + case 39: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_IN_JS_STRING_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_STRING_INVALID); } - case 248: - break; - case 107: { - addToken(Token.LITERAL_CHAR); - } - case 249: - break; - case 16: { - yybegin(YYINITIAL); - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 250: - break; - case 60: { - addToken(Token.DATA_TYPE); - } - case 251: - break; - case 47: { - addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); - return firstToken; - } - case 252: - break; - case 35: { - addToken(Token.SEPARATOR); - } - case 253: - break; - case 114: { - int count = yylength(); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - zzMarkedPos -= (count - 2); // yypushback(count-2); - yybegin(INTAG_CHECK_TAG_NAME); - } - case 254: - break; - case 72: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_CSS_STRING - cssPrevState); - return firstToken; - } - case 255: - break; - case 70: { - /* End of a function */ addToken(Token.SEPARATOR); - } - case 256: - break; - case 19: { - addToken(Token.MARKUP_TAG_NAME); - } - case 257: - break; - case 11: { - addToken(Token.MARKUP_TAG_ATTRIBUTE); - } - case 258: - break; - case 130: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_KEYWORD); - start = zzMarkedPos; - } - case 259: - break; - case 91: { - start = zzMarkedPos - 2; - yybegin(JS_EOL_COMMENT); - } - case 260: - break; - case 39: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_IN_JS_STRING_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_STRING_INVALID); - } - return firstToken; - } - case 261: - break; - case 94: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 262: - break; - case 14: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE); - } - case 263: - break; - case 117: { - boolean highlightedAsRegex = false; - if (firstToken == null) { + return firstToken; + } + case 261: + break; + case 94: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 262: + break; + case 14: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE); + } + case 263: + break; + case 117: { + boolean highlightedAsRegex = false; + if (firstToken == null) { + addToken(Token.REGEX); + highlightedAsRegex = true; + } else { + // If this is *likely* to be a regex, based on + // the previous token, highlight it as such. + Token t = firstToken.getLastNonCommentNonWhitespaceToken(); + if (RSyntaxUtilities.regexCanFollowInJavaScript(t)) { addToken(Token.REGEX); highlightedAsRegex = true; - } else { - // If this is *likely* to be a regex, based on - // the previous token, highlight it as such. - Token t = firstToken.getLastNonCommentNonWhitespaceToken(); - if (RSyntaxUtilities.regexCanFollowInJavaScript(t)) { - addToken(Token.REGEX); - highlightedAsRegex = true; - } - } - // If it doesn't *appear* to be a regex, highlight it as - // individual tokens. - if (!highlightedAsRegex) { - int temp = zzStartRead + 1; - addToken(zzStartRead, zzStartRead, Token.OPERATOR); - zzStartRead = zzCurrentPos = zzMarkedPos = temp; } } - case 264: - break; - case 102: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + // If it doesn't *appear* to be a regex, highlight it as + // individual tokens. + if (!highlightedAsRegex) { + int temp = zzStartRead + 1; + addToken(zzStartRead, zzStartRead, Token.OPERATOR); + zzStartRead = zzCurrentPos = zzMarkedPos = temp; } - case 265: - break; - case 77: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_CSS_MLC - cssPrevState); - return firstToken; - } - case 266: - break; - case 15: { - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 267: - break; - case 34: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 268: - break; - case 86: { - start = zzMarkedPos - 2; - yybegin(DTD); - } - case 269: - break; - case 89: { - int temp = zzStartRead; - if (zzStartRead > start) + } + case 264: + break; + case 102: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 265: + break; + case 77: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_CSS_MLC - cssPrevState); + return firstToken; + } + case 266: + break; + case 15: { + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 267: + break; + case 34: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 268: + break; + case 86: { + start = zzMarkedPos - 2; + yybegin(DTD); + } + case 269: + break; + case 89: { + int temp = zzStartRead; + if (zzStartRead > start) + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addToken(temp, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + jspInState = zzLexicalState; + yybegin(JAVA_EXPRESSION); + } + case 270: + break; + case 21: { + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + yybegin(INTAG); + } + case 271: + break; + case 22: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE_SCRIPT); + } + case 272: + break; + case 44: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 273: + break; + case 82: { // TODO: This isn't right. The expression and its + // depth should continue to the next line. + addToken(start, zzStartRead - 1, Token.VARIABLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + return firstToken; + } + case 274: + break; + case 61: { + /* Unknown pseudo class */ addToken(Token.DATA_TYPE); + } + case 275: + break; + case 1: { + } + case 276: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case INATTR_SINGLE_SCRIPT: { addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addToken(temp, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - jspInState = zzLexicalState; - yybegin(JAVA_EXPRESSION); - } - case 270: - break; - case 21: { - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - yybegin(INTAG); - } - case 271: - break; - case 22: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE_SCRIPT); - } - case 272: - break; - case 44: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 273: - break; - case 82: { // TODO: This isn't right. The expression and its - // depth should continue to the next line. - addToken(start, zzStartRead - 1, Token.VARIABLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - return firstToken; - } - case 274: - break; - case 61: { - /* Unknown pseudo class */ addToken(Token.DATA_TYPE); - } - case 275: - break; - case 1: {} - case 276: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case INATTR_SINGLE_SCRIPT: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); - return firstToken; - } - case 2712: - break; - case JS_CHAR: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 2713: - break; - case JAVA_EXPRESSION: { - addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); - return firstToken; - } - case 2714: - break; - case CSS_STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_CSS_STRING - cssPrevState); - return firstToken; - } - case 2715: - break; - case HIDDEN_COMMENT: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addEndToken(INTERNAL_IN_HIDDEN_COMMENT); - return firstToken; - } - case 2716: - break; - case JS_MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 2717: - break; - case CSS_CHAR_LITERAL: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - addEndToken(INTERNAL_CSS_CHAR - cssPrevState); - return firstToken; - } - case 2718: - break; - case JAVA_DOCCOMMENT: { - yybegin(JAVA_EXPRESSION); - addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); - addEndToken(INTERNAL_IN_JAVA_DOCCOMMENT - jspInState); - return firstToken; - } - case 2719: - break; - case INTAG_SCRIPT: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_SCRIPT); - return firstToken; - } - case 2720: - break; - case JS_TEMPLATE_LITERAL_EXPR: { - // TODO: This isn't right. The expression and - // its depth should continue to the next line. - addToken(start, zzStartRead - 1, Token.VARIABLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - return firstToken; - } - case 2721: - break; - case CSS_PROPERTY: { - addEndToken(INTERNAL_CSS_PROPERTY); - return firstToken; - } - case 2722: - break; - case CSS_C_STYLE_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_CSS_MLC - cssPrevState); - return firstToken; - } - case 2723: - break; - case CSS: { - addEndToken(INTERNAL_CSS); - return firstToken; - } - case 2724: - break; - case CSS_VALUE: { - addEndToken(INTERNAL_CSS_VALUE); - return firstToken; - } - case 2725: - break; - case JSP_DIRECTIVE: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_IN_JSP_DIRECTIVE); - return firstToken; - } - case 2726: - break; - case COMMENT: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - return firstToken; - } - case 2727: - break; - case INATTR_DOUBLE_SCRIPT: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); - return firstToken; - } - case 2728: - break; - case PI: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 2729: - break; - case JAVASCRIPT: { - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 2730: - break; - case INTAG: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); - return firstToken; - } - case 2731: - break; - case INTAG_CHECK_TAG_NAME: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); - return firstToken; - } - case 2732: - break; - case INATTR_SINGLE_STYLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); - return firstToken; - } - case 2733: - break; - case DTD: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - return firstToken; - } - case 2734: - break; - case JS_EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 2735: - break; - case INATTR_DOUBLE_STYLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); - return firstToken; - } - case 2736: - break; - case INATTR_SINGLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE); - return firstToken; - } - case 2737: - break; - case JS_TEMPLATE_LITERAL: { - if (validJSString) { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 2738: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 2739: - break; - case INATTR_DOUBLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE); - return firstToken; - } - case 2740: - break; - case JS_STRING: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 2741: - break; - case JAVA_MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JAVA_MLC - jspInState); - return firstToken; - } - case 2742: - break; - case INTAG_STYLE: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_STYLE); - return firstToken; - } - case 2743: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); + return firstToken; } + case 2712: + break; + case JS_CHAR: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 2713: + break; + case JAVA_EXPRESSION: { + addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); + return firstToken; + } + case 2714: + break; + case CSS_STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_CSS_STRING - cssPrevState); + return firstToken; + } + case 2715: + break; + case HIDDEN_COMMENT: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addEndToken(INTERNAL_IN_HIDDEN_COMMENT); + return firstToken; + } + case 2716: + break; + case JS_MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 2717: + break; + case CSS_CHAR_LITERAL: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + addEndToken(INTERNAL_CSS_CHAR - cssPrevState); + return firstToken; + } + case 2718: + break; + case JAVA_DOCCOMMENT: { + yybegin(JAVA_EXPRESSION); + addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); + addEndToken(INTERNAL_IN_JAVA_DOCCOMMENT - jspInState); + return firstToken; + } + case 2719: + break; + case INTAG_SCRIPT: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_SCRIPT); + return firstToken; + } + case 2720: + break; + case JS_TEMPLATE_LITERAL_EXPR: { + // TODO: This isn't right. The expression and + // its depth should continue to the next line. + addToken(start, zzStartRead - 1, Token.VARIABLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + return firstToken; + } + case 2721: + break; + case CSS_PROPERTY: { + addEndToken(INTERNAL_CSS_PROPERTY); + return firstToken; + } + case 2722: + break; + case CSS_C_STYLE_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_CSS_MLC - cssPrevState); + return firstToken; + } + case 2723: + break; + case CSS: { + addEndToken(INTERNAL_CSS); + return firstToken; + } + case 2724: + break; + case CSS_VALUE: { + addEndToken(INTERNAL_CSS_VALUE); + return firstToken; + } + case 2725: + break; + case JSP_DIRECTIVE: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_IN_JSP_DIRECTIVE); + return firstToken; + } + case 2726: + break; + case COMMENT: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + return firstToken; + } + case 2727: + break; + case INATTR_DOUBLE_SCRIPT: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); + return firstToken; + } + case 2728: + break; + case PI: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 2729: + break; + case JAVASCRIPT: { + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 2730: + break; + case INTAG: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); + return firstToken; + } + case 2731: + break; + case INTAG_CHECK_TAG_NAME: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); + return firstToken; + } + case 2732: + break; + case INATTR_SINGLE_STYLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); + return firstToken; + } + case 2733: + break; + case DTD: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + return firstToken; + } + case 2734: + break; + case JS_EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 2735: + break; + case INATTR_DOUBLE_STYLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); + return firstToken; + } + case 2736: + break; + case INATTR_SINGLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE); + return firstToken; + } + case 2737: + break; + case JS_TEMPLATE_LITERAL: { + if (validJSString) { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + } + return firstToken; + } + case 2738: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 2739: + break; + case INATTR_DOUBLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE); + return firstToken; + } + case 2740: + break; + case JS_STRING: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 2741: + break; + case JAVA_MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JAVA_MLC - jspInState); + return firstToken; + } + case 2742: + break; + case INTAG_STYLE: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_STYLE); + return firstToken; + } + case 2743: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/JavaScriptTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/JavaScriptTokenMaker.java index 5bc72b6..7103ad5 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/JavaScriptTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/JavaScriptTokenMaker.java @@ -19,24 +19,22 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; import org.fife.ui.rsyntaxtextarea.TokenTypes; /** - * Scanner for JavaScript files. Its states could be simplified, but are - * kept the way they are to keep a degree of similarity (i.e. copy/paste) - * between it and HTML/JSP/PHPTokenMaker. This should cause no difference in - * performance. + * Scanner for JavaScript files. Its states could be simplified, but are kept + * the way they are to keep a degree of similarity (i.e. copy/paste) between it + * and HTML/JSP/PHPTokenMaker. This should cause no difference in performance. *

      * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -46,24 +44,23 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated JavaScriptTokenMaker.java file will contain - * two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * two definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell * @version 0.9 */ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -88,9 +85,11 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\75\1\2\1\0\1\1\1\11\22\0\1\75\1\36\1\77" + "\1\12\1\15\1\35\1\40\1\107\2\106\1\17\1\30\1\27\1\24" + "\1\25\1\16\1\5\7\7\2\4\1\41\1\76\1\31\1\32\1\34" - + "\1\37\1\45\1\103\1\6\1\101\1\102\1\23\1\22\2\3\1\112" + "\2\3\1\21\1\3\1\111\5\3\1\104\3\3\1\20\2\3\1\100" - + "\1\13\1\105\1\33\1\14\1\113\1\46\1\47\1\53\1\65\1\54" + "\1\70\1\57\1\61\1\56\1\3\1\64\1\55\1\44\1\60\1\62" - + "\1\66\1\73\1\52\1\50\1\51\1\10\1\71\1\63\1\72\1\67" + "\1\110\1\74\1\43\1\26\1\42\uff81\0"; + + "\1\37\1\45\1\103\1\6\1\101\1\102\1\23\1\22\2\3\1\112" + + "\2\3\1\21\1\3\1\111\5\3\1\104\3\3\1\20\2\3\1\100" + + "\1\13\1\105\1\33\1\14\1\113\1\46\1\47\1\53\1\65\1\54" + + "\1\70\1\57\1\61\1\56\1\3\1\64\1\55\1\44\1\60\1\62" + "\1\66\1\73\1\52\1\50\1\51\1\10\1\71\1\63\1\72\1\67" + + "\1\110\1\74\1\43\1\26\1\42\uff81\0"; /** * Translates characters to character classes */ @@ -99,23 +98,26 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\13\0\2\1\3\0\1\2\1\3\1\4\1\5\2\6" + "\1\5\1\2\3\7\1\5\1\10\1\5\6\7\2\2" - + "\20\5\1\11\1\12\2\5\1\13\1\1\1\14\1\15" + "\1\16\1\1\1\17\1\20\1\21\1\1\1\22\5\1" + "\1\23\10\1\1\24\3\1\2\5\1\25\1\26\1\27" - + "\1\30\1\1\1\31\5\1\1\32\2\1\1\33\1\1" + "\1\34\1\35\1\36\2\37\1\40\1\41\1\42\1\43" + "\1\1\1\44\4\1\1\45\1\46\1\47\1\50\1\1" - + "\1\51\1\1\1\52\1\2\1\53\1\6\1\54\1\53" + "\1\54\1\53\1\55\1\53\1\5\2\0\1\56\1\57" + "\2\7\2\0\1\60\1\7\1\61\33\5\2\62\7\5" - + "\1\62\13\5\1\63\1\64\1\65\1\66\4\0\1\67" + "\2\0\1\70\32\0\1\71\1\26\1\72\1\73\1\27" + "\5\0\1\74\2\0\1\75\1\76\1\2\1\54\1\0" - + "\2\55\1\5\1\77\1\100\32\5\1\101\5\5\1\102" + "\25\5\64\0\1\103\2\0\1\104\5\0\1\105\1\2" - + "\1\106\3\5\1\102\3\5\1\107\6\5\1\110\1\5" + "\1\111\24\5\1\0\1\1\1\0\1\112\15\0\1\113" - + "\45\0\1\114\4\0\1\115\1\0\1\116\2\0\1\117" + "\1\0\1\120\1\2\5\5\1\62\17\5\1\62\1\5" - + "\15\0\1\113\20\0\1\113\20\0\1\2\4\5\1\121" + "\13\5\33\0\10\5\1\113\4\0\1\113\12\0\3\5" + "\6\0\1\5\2\0\1\122\1\0"; - + private static final String ZZ_ACTION_PACKED_0 = "\13\0\2\1\3\0\1\2\1\3\1\4\1\5\2\6" + + "\1\5\1\2\3\7\1\5\1\10\1\5\6\7\2\2" + "\20\5\1\11\1\12\2\5\1\13\1\1\1\14\1\15" + + "\1\16\1\1\1\17\1\20\1\21\1\1\1\22\5\1" + "\1\23\10\1\1\24\3\1\2\5\1\25\1\26\1\27" + + "\1\30\1\1\1\31\5\1\1\32\2\1\1\33\1\1" + "\1\34\1\35\1\36\2\37\1\40\1\41\1\42\1\43" + + "\1\1\1\44\4\1\1\45\1\46\1\47\1\50\1\1" + "\1\51\1\1\1\52\1\2\1\53\1\6\1\54\1\53" + + "\1\54\1\53\1\55\1\53\1\5\2\0\1\56\1\57" + "\2\7\2\0\1\60\1\7\1\61\33\5\2\62\7\5" + + "\1\62\13\5\1\63\1\64\1\65\1\66\4\0\1\67" + "\2\0\1\70\32\0\1\71\1\26\1\72\1\73\1\27" + + "\5\0\1\74\2\0\1\75\1\76\1\2\1\54\1\0" + "\2\55\1\5\1\77\1\100\32\5\1\101\5\5\1\102" + + "\25\5\64\0\1\103\2\0\1\104\5\0\1\105\1\2" + "\1\106\3\5\1\102\3\5\1\107\6\5\1\110\1\5" + + "\1\111\24\5\1\0\1\1\1\0\1\112\15\0\1\113" + "\45\0\1\114\4\0\1\115\1\0\1\116\2\0\1\117" + + "\1\0\1\120\1\2\5\5\1\62\17\5\1\62\1\5" + "\15\0\1\113\20\0\1\113\20\0\1\2\4\5\1\121" + + "\13\5\33\0\10\5\1\113\4\0\1\113\12\0\3\5" + "\6\0\1\5\2\0\1\122\1\0"; + private static int[] zzUnpackAction() { int[] result = new int[634]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -129,7 +131,7 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -213,14 +215,14 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\0\ua004\0\u6e70\0\ua050\0\ua09c\0\ua0e8\0\ua134\0\ua180\0\ua1cc" + "\0\ua218\0\ua264\0\ua2b0\0\ua2fc\0\ua348\0\ua394\0\ua3e0\0\ua42c" + "\0\ua478\0\ua4c4\0\ua510\0\ua55c\0\ua5a8\0\ua5f4\0\ua640\0\ua68c" + "\0\u0558\0\ua6d8"; - + private static int[] zzUnpackRowMap() { int[] result = new int[634]; 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 */ @@ -231,164 +233,177 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\21\1\22\1\23\1\24\1\25\1\26\1\24\1\25" + "\1\27\1\30\2\21\2\24\1\31\1\32\4\24\1\33" - + "\1\34\1\35\1\36\1\37\1\40\1\41\1\32\1\42" + "\2\32\1\43\1\44\2\43\1\45\1\24\1\46\1\47" - + "\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57" + "\1\60\1\61\2\24\1\62\1\24\1\63\1\64\1\24" - + "\1\65\1\66\2\24\1\35\1\22\1\36\1\67\1\35" + "\4\24\2\35\1\70\1\24\1\71\1\72\1\73\2\74" - + "\1\75\10\74\1\76\63\74\1\77\14\74\2\100\1\101" + "\10\100\1\102\73\100\1\103\4\100\2\104\1\105\14\104" - + "\1\106\41\104\1\107\1\104\1\110\4\104\1\111\23\104" + "\2\112\1\113\14\112\1\114\11\112\1\115\13\112\1\116" + private static final String ZZ_TRANS_PACKED_0 = "\1\21\1\22\1\23\1\24\1\25\1\26\1\24\1\25" + + "\1\27\1\30\2\21\2\24\1\31\1\32\4\24\1\33" + "\1\34\1\35\1\36\1\37\1\40\1\41\1\32\1\42" + + "\2\32\1\43\1\44\2\43\1\45\1\24\1\46\1\47" + "\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57" + + "\1\60\1\61\2\24\1\62\1\24\1\63\1\64\1\24" + "\1\65\1\66\2\24\1\35\1\22\1\36\1\67\1\35" + + "\4\24\2\35\1\70\1\24\1\71\1\72\1\73\2\74" + "\1\75\10\74\1\76\63\74\1\77\14\74\2\100\1\101" + + "\10\100\1\102\73\100\1\103\4\100\2\104\1\105\14\104" + + "\1\106\41\104\1\107\1\104\1\110\4\104\1\111\23\104" + + "\2\112\1\113\14\112\1\114\11\112\1\115\13\112\1\116" + "\13\112\1\117\1\112\1\120\4\112\1\121\3\112\1\122" + "\17\112\2\123\1\124\56\123\1\125\1\123\1\126\4\123" - + "\1\127\23\123\1\130\1\131\1\132\26\130\1\133\6\130" + "\1\134\34\130\1\22\1\135\15\130\2\136\1\137\21\136" - + "\1\140\34\136\1\141\1\136\1\142\4\136\1\143\23\136" + "\2\144\1\145\34\144\1\146\54\144\2\147\1\150\26\147" + + "\1\127\23\123\1\130\1\131\1\132\26\130\1\133\6\130" + + "\1\134\34\130\1\22\1\135\15\130\2\136\1\137\21\136" + + "\1\140\34\136\1\141\1\136\1\142\4\136\1\143\23\136" + + "\2\144\1\145\34\144\1\146\54\144\2\147\1\150\26\147" + "\1\151\2\147\1\152\43\147\1\153\4\147\1\154\6\147" + "\1\155\1\156\1\0\13\155\1\157\13\155\1\43\1\155" - + "\1\160\40\155\1\22\1\155\1\161\7\155\1\162\4\155" + "\77\163\1\164\14\163\107\165\1\164\4\165\105\166\1\167" - + "\6\166\2\170\1\171\10\170\1\172\1\170\1\173\75\170" + "\1\174\2\175\1\176\12\175\1\177\10\175\1\200\65\175" - + "\1\21\2\0\6\21\1\0\4\21\2\0\4\21\20\0" + "\30\21\5\0\4\21\3\0\3\21\2\0\1\22\73\0" - + "\1\22\132\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\26\24\5\0" - + "\4\24\3\0\3\24\1\0\1\202\2\0\1\202\2\25" + "\1\202\1\25\1\202\1\0\4\202\2\0\1\202\1\203" - + "\1\204\1\205\1\0\1\206\16\0\10\202\1\205\1\203" + "\7\202\1\204\2\202\1\204\3\202\5\0\1\202\1\204" - + "\2\202\3\0\3\202\1\0\1\202\2\0\1\202\1\207" + "\1\210\1\202\1\210\1\202\1\0\4\202\2\0\1\211" - + "\1\203\1\204\1\205\1\0\1\206\16\0\10\202\1\205" + "\1\203\7\202\1\204\2\202\1\204\1\202\1\211\1\202" - + "\5\0\1\202\1\204\2\202\3\0\3\202\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" - + "\20\0\1\24\1\21\12\24\1\212\13\24\5\0\4\24" + "\3\0\3\24\1\0\13\213\1\214\2\213\1\215\1\216" - + "\12\213\1\217\61\213\32\0\1\43\105\0\1\43\5\0" + "\1\43\65\0\2\206\1\0\1\206\134\0\1\43\1\0" - + "\1\220\112\0\1\221\1\43\62\0\1\222\27\0\1\223" + "\1\43\42\0\1\222\50\0\1\43\1\0\1\224\111\0" - + "\1\43\5\0\1\43\105\0\1\43\10\0\1\43\50\0" + "\1\21\2\0\1\225\2\21\1\225\1\21\1\225\1\0" - + "\4\21\2\0\4\225\20\0\1\225\1\21\26\225\5\0" + "\4\225\3\0\3\225\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + "\1\24\1\226\24\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\4\24\1\227\7\24\1\230" - + "\4\24\1\231\4\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\5\24\1\232\1\0\1\21\1\201\2\24" - + "\2\0\4\24\20\0\1\24\1\21\3\24\1\233\7\24" + "\1\234\1\24\1\235\3\24\1\236\4\24\5\0\4\24" - + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\4\24" - + "\1\237\6\24\1\240\5\24\1\241\4\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\6\24" + "\1\242\17\24\5\0\4\24\3\0\3\24\1\0\1\21" - + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\1\243\6\24\1\244\3\24\1\245" - + "\1\246\11\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" - + "\20\0\1\24\1\21\1\247\1\24\1\250\4\24\1\251" + "\2\24\1\252\10\24\1\253\1\254\1\24\5\0\4\24" + + "\1\160\40\155\1\22\1\155\1\161\7\155\1\162\4\155" + + "\77\163\1\164\14\163\107\165\1\164\4\165\105\166\1\167" + + "\6\166\2\170\1\171\10\170\1\172\1\170\1\173\75\170" + + "\1\174\2\175\1\176\12\175\1\177\10\175\1\200\65\175" + "\1\21\2\0\6\21\1\0\4\21\2\0\4\21\20\0" + + "\30\21\5\0\4\21\3\0\3\21\2\0\1\22\73\0" + "\1\22\132\0\1\21\2\0\6\24\1\0\1\21\1\201" + + "\2\24\2\0\4\24\20\0\1\24\1\21\26\24\5\0" + "\4\24\3\0\3\24\1\0\1\202\2\0\1\202\2\25" + + "\1\202\1\25\1\202\1\0\4\202\2\0\1\202\1\203" + "\1\204\1\205\1\0\1\206\16\0\10\202\1\205\1\203" + + "\7\202\1\204\2\202\1\204\3\202\5\0\1\202\1\204" + "\2\202\3\0\3\202\1\0\1\202\2\0\1\202\1\207" + + "\1\210\1\202\1\210\1\202\1\0\4\202\2\0\1\211" + "\1\203\1\204\1\205\1\0\1\206\16\0\10\202\1\205" + + "\1\203\7\202\1\204\2\202\1\204\1\202\1\211\1\202" + "\5\0\1\202\1\204\2\202\3\0\3\202\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\12\24\1\212\13\24\5\0\4\24" + + "\3\0\3\24\1\0\13\213\1\214\2\213\1\215\1\216" + "\12\213\1\217\61\213\32\0\1\43\105\0\1\43\5\0" + + "\1\43\65\0\2\206\1\0\1\206\134\0\1\43\1\0" + "\1\220\112\0\1\221\1\43\62\0\1\222\27\0\1\223" + + "\1\43\42\0\1\222\50\0\1\43\1\0\1\224\111\0" + "\1\43\5\0\1\43\105\0\1\43\10\0\1\43\50\0" + + "\1\21\2\0\1\225\2\21\1\225\1\21\1\225\1\0" + "\4\21\2\0\4\225\20\0\1\225\1\21\26\225\5\0" + + "\4\225\3\0\3\225\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + + "\1\24\1\226\24\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + + "\4\24\20\0\1\24\1\21\4\24\1\227\7\24\1\230" + "\4\24\1\231\4\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\5\24\1\232\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\3\24\1\233\7\24" + + "\1\234\1\24\1\235\3\24\1\236\4\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\4\24" + "\1\237\6\24\1\240\5\24\1\241\4\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\6\24" - + "\1\255\5\24\1\256\11\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" - + "\2\0\4\24\20\0\1\257\1\21\2\24\1\260\7\24" + "\1\261\7\24\1\262\3\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\14\24\1\263\11\24" - + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\5\24" + "\1\264\1\0\1\21\1\201\2\24\2\0\4\24\20\0" - + "\1\24\1\21\1\265\5\24\1\266\17\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\10\24" + "\1\267\2\24\1\270\12\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\6\24\1\271\5\24" - + "\1\272\11\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\5\24\1\273\1\0\1\21\1\201\2\24\2\0" - + "\4\24\20\0\1\24\1\21\1\274\3\24\1\275\21\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\5\24" - + "\1\276\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\1\277\6\24\1\300\1\301\3\24\1\302" + + "\1\242\17\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + + "\20\0\1\24\1\21\1\243\6\24\1\244\3\24\1\245" + "\1\246\11\24\5\0\4\24\3\0\3\24\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\1\247\1\24\1\250\4\24\1\251" + + "\2\24\1\252\10\24\1\253\1\254\1\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\6\24" + "\1\255\5\24\1\256\11\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\257\1\21\2\24\1\260\7\24" + + "\1\261\7\24\1\262\3\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + + "\2\0\4\24\20\0\1\24\1\21\14\24\1\263\11\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\5\24" + + "\1\264\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\1\265\5\24\1\266\17\24\5\0\4\24" + + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\10\24" + + "\1\267\2\24\1\270\12\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + + "\2\0\4\24\20\0\1\24\1\21\6\24\1\271\5\24" + "\1\272\11\24\5\0\4\24\3\0\3\24\1\0\1\21" + + "\2\0\5\24\1\273\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\1\274\3\24\1\275\21\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\5\24" + "\1\276\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + + "\1\24\1\21\1\277\6\24\1\300\1\301\3\24\1\302" + "\11\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\1\302\13\24\1\303\11\24\5\0\4\24" + + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\1\304" + + "\25\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + + "\1\24\1\21\12\24\1\305\13\24\5\0\4\24\3\0" + "\3\24\1\0\2\74\1\0\10\74\1\0\63\74\1\0" + + "\14\74\2\306\1\0\5\306\1\307\61\306\1\310\21\306" + "\2\100\1\0\10\100\1\0\73\100\1\0\4\100\2\104" + + "\1\0\14\104\1\0\41\104\1\0\1\104\1\0\4\104" + "\1\0\23\104\16\0\1\311\146\0\1\312\125\0\1\313" + + "\101\0\1\314\4\0\1\315\35\0\2\112\1\0\14\112" + "\1\0\11\112\1\0\13\112\1\0\13\112\1\0\1\112" + + "\1\0\4\112\1\0\3\112\1\0\17\112\16\0\1\316" + "\100\0\1\317\2\0\1\317\1\0\1\317\5\0\1\320" + + "\1\0\4\317\10\0\1\321\7\0\1\317\1\0\26\317" + "\5\0\4\317\3\0\3\317\45\0\1\322\1\0\1\323" + + "\1\324\1\325\1\326\1\327\1\330\1\331\1\332\1\333" + "\1\334\1\335\3\0\1\336\1\337\1\340\1\0\1\341" + + "\1\342\73\0\1\343\125\0\1\344\101\0\1\345\4\0" + "\1\346\102\0\1\347\46\0\2\123\1\0\56\123\1\0" + + "\1\123\1\0\4\123\1\0\23\123\51\0\1\350\125\0" + "\1\351\101\0\1\352\4\0\1\353\35\0\2\130\1\0" + + "\26\130\1\0\6\130\1\0\34\130\2\0\16\130\1\131" + "\1\0\26\130\1\0\6\130\1\0\34\130\1\22\1\0" + + "\15\130\3\0\1\354\2\0\1\354\1\0\1\354\3\0" + "\1\354\1\0\1\355\1\0\4\354\12\0\1\356\1\357" + + "\1\0\1\354\2\0\1\354\1\0\26\354\5\0\4\354" + "\3\0\3\354\1\0\75\134\1\0\1\360\15\134\2\136" + + "\1\0\21\136\1\0\34\136\1\0\1\136\1\0\4\136" + "\1\0\23\136\24\0\1\361\140\0\1\362\125\0\1\363" + + "\101\0\1\364\4\0\1\365\35\0\2\144\1\0\34\144" + "\1\0\54\144\34\0\1\366\57\0\2\147\1\0\26\147" + + "\1\0\2\147\1\0\43\147\1\0\4\147\1\0\6\147" + "\36\0\1\367\55\0\2\155\1\0\13\155\1\0\13\155" + + "\1\0\1\155\1\0\40\155\1\0\1\155\1\0\7\155" + "\1\0\5\155\1\156\1\0\13\155\1\0\13\155\1\0" + + "\1\155\1\0\40\155\1\22\1\155\1\0\7\155\1\0" + "\4\155\34\0\1\160\57\0\77\163\1\0\14\163\107\165" + + "\1\0\4\165\105\166\1\0\6\166\105\0\1\370\6\0" + "\2\170\1\0\10\170\1\0\1\170\1\0\75\170\75\0" + + "\1\371\17\0\2\175\1\0\12\175\1\0\10\175\1\0" + "\65\175\74\0\1\372\17\0\1\21\2\0\5\21\1\373" + + "\1\0\4\21\2\0\4\21\20\0\30\21\5\0\4\21" + "\3\0\3\21\1\0\1\202\2\0\6\202\1\0\4\202" + + "\2\0\4\202\20\0\30\202\5\0\4\202\3\0\3\202" + "\1\0\1\202\2\0\1\202\2\374\1\202\1\374\1\202" + + "\1\0\4\202\2\0\4\202\1\375\3\0\1\375\13\0" + "\30\202\5\0\4\202\3\0\3\202\1\0\1\202\2\0" + + "\1\202\2\206\1\202\1\206\1\202\1\0\4\202\2\0" + "\2\202\1\204\1\205\20\0\10\202\1\205\10\202\1\204" + + "\2\202\1\204\3\202\5\0\1\202\1\204\2\202\3\0" + "\3\202\1\0\1\202\2\0\1\202\2\207\1\202\1\207" + + "\1\202\1\0\4\202\2\0\2\202\1\204\1\205\1\0" + "\1\206\16\0\10\202\1\205\10\202\1\204\2\202\1\204" + + "\3\202\5\0\1\202\1\204\2\202\3\0\3\202\1\0" + "\1\202\2\0\1\202\1\207\1\210\1\202\1\210\1\202" + + "\1\0\4\202\2\0\1\202\1\376\1\204\1\205\1\0" + "\1\206\16\0\10\202\1\205\1\376\7\202\1\204\2\202" + + "\1\204\3\202\5\0\1\202\1\204\2\202\3\0\3\202" + "\1\0\1\202\2\0\1\202\4\377\1\202\1\0\4\202" + + "\2\0\2\202\2\377\20\0\2\202\2\377\3\202\2\377" + "\10\202\1\377\2\202\1\377\3\202\5\0\3\377\1\202" + + "\3\0\3\202\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\6\24" + + "\1\u0100\17\24\5\0\4\24\3\0\3\24\1\0\13\213" + "\1\214\2\213\1\u0101\77\213\1\0\111\213\17\0\1\u0102" + + "\75\0\1\222\27\0\1\223\43\0\1\222\50\0\1\43" + "\1\0\1\32\57\0\1\21\2\0\6\225\1\0\4\21" + + "\2\0\4\225\20\0\1\225\1\21\26\225\5\0\4\225" + "\3\0\3\225\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\2\24" + "\1\u0103\23\24\5\0\4\24\3\0\3\24\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\6\24\1\u0104\17\24\5\0\4\24" + + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\14\24" + + "\1\u0105\11\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + + "\20\0\1\24\1\21\3\24\1\u0106\22\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\20\24" + "\1\u0107\5\24\5\0\4\24\3\0\3\24\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\1\u0108\25\24\5\0\4\24\3\0" + + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\14\24\1\u0109" + "\11\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" - + "\1\24\1\21\1\302\13\24\1\303\11\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\1\304" + "\25\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" - + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\12\24\1\305\13\24\5\0\4\24\3\0" - + "\3\24\1\0\2\74\1\0\10\74\1\0\63\74\1\0" + "\14\74\2\306\1\0\5\306\1\307\61\306\1\310\21\306" - + "\2\100\1\0\10\100\1\0\73\100\1\0\4\100\2\104" + "\1\0\14\104\1\0\41\104\1\0\1\104\1\0\4\104" - + "\1\0\23\104\16\0\1\311\146\0\1\312\125\0\1\313" + "\101\0\1\314\4\0\1\315\35\0\2\112\1\0\14\112" - + "\1\0\11\112\1\0\13\112\1\0\13\112\1\0\1\112" + "\1\0\4\112\1\0\3\112\1\0\17\112\16\0\1\316" - + "\100\0\1\317\2\0\1\317\1\0\1\317\5\0\1\320" + "\1\0\4\317\10\0\1\321\7\0\1\317\1\0\26\317" - + "\5\0\4\317\3\0\3\317\45\0\1\322\1\0\1\323" + "\1\324\1\325\1\326\1\327\1\330\1\331\1\332\1\333" - + "\1\334\1\335\3\0\1\336\1\337\1\340\1\0\1\341" + "\1\342\73\0\1\343\125\0\1\344\101\0\1\345\4\0" - + "\1\346\102\0\1\347\46\0\2\123\1\0\56\123\1\0" + "\1\123\1\0\4\123\1\0\23\123\51\0\1\350\125\0" - + "\1\351\101\0\1\352\4\0\1\353\35\0\2\130\1\0" + "\26\130\1\0\6\130\1\0\34\130\2\0\16\130\1\131" - + "\1\0\26\130\1\0\6\130\1\0\34\130\1\22\1\0" + "\15\130\3\0\1\354\2\0\1\354\1\0\1\354\3\0" - + "\1\354\1\0\1\355\1\0\4\354\12\0\1\356\1\357" + "\1\0\1\354\2\0\1\354\1\0\26\354\5\0\4\354" - + "\3\0\3\354\1\0\75\134\1\0\1\360\15\134\2\136" + "\1\0\21\136\1\0\34\136\1\0\1\136\1\0\4\136" - + "\1\0\23\136\24\0\1\361\140\0\1\362\125\0\1\363" + "\101\0\1\364\4\0\1\365\35\0\2\144\1\0\34\144" - + "\1\0\54\144\34\0\1\366\57\0\2\147\1\0\26\147" + "\1\0\2\147\1\0\43\147\1\0\4\147\1\0\6\147" - + "\36\0\1\367\55\0\2\155\1\0\13\155\1\0\13\155" + "\1\0\1\155\1\0\40\155\1\0\1\155\1\0\7\155" - + "\1\0\5\155\1\156\1\0\13\155\1\0\13\155\1\0" + "\1\155\1\0\40\155\1\22\1\155\1\0\7\155\1\0" - + "\4\155\34\0\1\160\57\0\77\163\1\0\14\163\107\165" + "\1\0\4\165\105\166\1\0\6\166\105\0\1\370\6\0" - + "\2\170\1\0\10\170\1\0\1\170\1\0\75\170\75\0" + "\1\371\17\0\2\175\1\0\12\175\1\0\10\175\1\0" - + "\65\175\74\0\1\372\17\0\1\21\2\0\5\21\1\373" + "\1\0\4\21\2\0\4\21\20\0\30\21\5\0\4\21" - + "\3\0\3\21\1\0\1\202\2\0\6\202\1\0\4\202" + "\2\0\4\202\20\0\30\202\5\0\4\202\3\0\3\202" - + "\1\0\1\202\2\0\1\202\2\374\1\202\1\374\1\202" + "\1\0\4\202\2\0\4\202\1\375\3\0\1\375\13\0" - + "\30\202\5\0\4\202\3\0\3\202\1\0\1\202\2\0" + "\1\202\2\206\1\202\1\206\1\202\1\0\4\202\2\0" - + "\2\202\1\204\1\205\20\0\10\202\1\205\10\202\1\204" + "\2\202\1\204\3\202\5\0\1\202\1\204\2\202\3\0" - + "\3\202\1\0\1\202\2\0\1\202\2\207\1\202\1\207" + "\1\202\1\0\4\202\2\0\2\202\1\204\1\205\1\0" - + "\1\206\16\0\10\202\1\205\10\202\1\204\2\202\1\204" + "\3\202\5\0\1\202\1\204\2\202\3\0\3\202\1\0" - + "\1\202\2\0\1\202\1\207\1\210\1\202\1\210\1\202" + "\1\0\4\202\2\0\1\202\1\376\1\204\1\205\1\0" - + "\1\206\16\0\10\202\1\205\1\376\7\202\1\204\2\202" + "\1\204\3\202\5\0\1\202\1\204\2\202\3\0\3\202" - + "\1\0\1\202\2\0\1\202\4\377\1\202\1\0\4\202" + "\2\0\2\202\2\377\20\0\2\202\2\377\3\202\2\377" - + "\10\202\1\377\2\202\1\377\3\202\5\0\3\377\1\202" + "\3\0\3\202\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\6\24" + "\1\u0100\17\24\5\0\4\24\3\0\3\24\1\0\13\213" - + "\1\214\2\213\1\u0101\77\213\1\0\111\213\17\0\1\u0102" + "\75\0\1\222\27\0\1\223\43\0\1\222\50\0\1\43" - + "\1\0\1\32\57\0\1\21\2\0\6\225\1\0\4\21" + "\2\0\4\225\20\0\1\225\1\21\26\225\5\0\4\225" - + "\3\0\3\225\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\2\24" - + "\1\u0103\23\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" - + "\20\0\1\24\1\21\6\24\1\u0104\17\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\14\24" + "\1\u0105\11\24\5\0\4\24\3\0\3\24\1\0\1\21" - + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\3\24\1\u0106\22\24\5\0\4\24" - + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\20\24" - + "\1\u0107\5\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" - + "\20\0\1\24\1\21\1\u0108\25\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" - + "\2\24\2\0\4\24\20\0\1\24\1\21\14\24\1\u0109" + "\11\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" - + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\10\24\1\u010a\15\24\5\0\4\24\3\0" - + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\12\24\1\u010b" - + "\13\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\5\24\1\u010c\1\0\1\21\1\201\2\24\2\0\4\24" - + "\20\0\1\24\1\21\1\u010d\20\24\1\262\4\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + "\4\24\1\u010e\3\24\1\u010f\15\24\5\0\4\24\3\0" - + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\20\24\1\u0110" - + "\5\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" - + "\1\24\1\21\3\24\1\u0111\22\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" - + "\2\24\2\0\4\24\20\0\1\24\1\21\2\24\1\u0112" + "\1\u0113\22\24\5\0\4\24\3\0\3\24\1\0\1\21" - + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\1\u0114\25\24\5\0\4\24\3\0" - + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\1\u0115\25\24" - + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" - + "\1\21\12\24\1\u0116\13\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" - + "\2\0\4\24\20\0\1\24\1\21\5\24\1\u0117\20\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" + "\1\21\5\24\1\u0118\20\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\2\24\1\u0112\23\24" - + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\5\24" + "\1\u0119\1\0\1\21\1\201\2\24\2\0\4\24\20\0" - + "\1\24\1\21\26\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" - + "\4\24\20\0\1\24\1\21\1\u011a\25\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\3\24" + "\1\u011b\14\24\1\u011c\5\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\3\24\1\u011d\22\24" - + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" - + "\1\21\12\24\1\u011e\13\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" - + "\2\0\4\24\20\0\1\24\1\21\20\24\1\u011f\5\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\201\2\24\2\0\2\24\1\u0120\1\24" + "\20\0\1\24\1\21\26\24\5\0\4\24\3\0\1\24" - + "\1\u0121\1\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\2\24" - + "\1\u0122\1\u0123\22\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" - + "\4\24\20\0\1\24\1\21\3\24\1\u0124\22\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + "\7\24\1\u0125\16\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\3\24\1\u0126\22\24\5\0" + + "\1\24\1\21\10\24\1\u010a\15\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + + "\2\24\2\0\4\24\20\0\1\24\1\21\12\24\1\u010b" + "\13\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\5\24\1\u010c\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\1\u010d\20\24\1\262\4\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" - + "\15\24\1\262\10\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" - + "\4\24\20\0\1\24\1\21\3\24\1\u0127\22\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + "\10\24\1\u0128\15\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\1\24\1\u0129\5\24\1\u012a" - + "\12\24\1\u012b\3\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\5\24\1\u012c\1\0\1\21\1\201\2\24" - + "\2\0\4\24\20\0\1\24\1\21\26\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\1\24" + "\1\u012d\24\24\5\0\4\24\3\0\3\24\1\0\1\21" - + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\4\24\1\u012e\1\u012f\20\24\5\0" + + "\4\24\1\u010e\3\24\1\u010f\15\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + + "\2\24\2\0\4\24\20\0\1\24\1\21\20\24\1\u0110" + "\5\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\3\24\1\u0111\22\24\5\0\4\24\3\0" + + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\2\24\1\u0112" + + "\1\u0113\22\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + + "\20\0\1\24\1\21\1\u0114\25\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + + "\2\24\2\0\4\24\20\0\1\24\1\21\1\u0115\25\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" + "\1\21\12\24\1\u0116\13\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\5\24\1\u0117\20\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" + + "\1\21\5\24\1\u0118\20\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + + "\2\0\4\24\20\0\1\24\1\21\2\24\1\u0112\23\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\5\24" + + "\1\u0119\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\26\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\1\u011a\25\24\5\0\4\24" + + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\3\24" + + "\1\u011b\14\24\1\u011c\5\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + + "\2\0\4\24\20\0\1\24\1\21\3\24\1\u011d\22\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" + "\1\21\12\24\1\u011e\13\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\20\24\1\u011f\5\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\201\2\24\2\0\2\24\1\u0120\1\24" + + "\20\0\1\24\1\21\26\24\5\0\4\24\3\0\1\24" + "\1\u0121\1\24\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\2\24" + "\1\u0122\1\u0123\22\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\3\24\1\u0124\22\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" - + "\10\24\1\u0130\3\24\1\u0131\11\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" - + "\2\24\2\0\4\24\20\0\1\24\1\21\12\24\1\u0132" + "\13\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" - + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\7\24\1\u0133\16\24\5\0\4\24\3\0" - + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\14\24\1\u0134" - + "\11\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" - + "\1\24\1\21\12\24\1\u0135\13\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" - + "\2\24\2\0\4\24\20\0\1\24\1\21\4\24\1\262" + "\21\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" - + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\7\24\1\u0136\1\u0137\15\24\5\0\4\24" - + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\26\24" - + "\5\0\4\24\3\0\1\24\1\262\1\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" - + "\20\0\1\24\1\21\22\24\1\u0138\3\24\5\0\4\24" + "\3\0\3\24\5\0\4\u0139\12\0\2\u0139\22\0\2\u0139" - + "\3\0\2\u0139\10\0\1\u0139\2\0\1\u0139\10\0\3\u0139" + "\14\0\4\u013a\12\0\2\u013a\22\0\2\u013a\3\0\2\u013a" - + "\10\0\1\u013a\2\0\1\u013a\10\0\3\u013a\61\0\1\u013b" + "\125\0\1\u013c\116\0\1\u013d\102\0\1\u013e\36\0\34\317" - + "\1\321\57\317\3\0\1\317\2\0\1\317\1\0\1\317" + "\7\0\4\317\10\0\1\321\7\0\1\317\1\0\26\317" - + "\5\0\4\317\3\0\3\317\55\0\1\u013f\1\0\1\u0140" + "\3\0\1\u0141\41\0\1\u0142\36\0\1\u0143\3\0\1\u0144" - + "\1\0\1\u0145\120\0\1\u0146\41\0\1\u0147\40\0\1\u0148" + "\2\0\1\u0149\1\0\1\u014a\116\0\1\u014b\1\u014c\4\0" - + "\1\u014d\100\0\1\u014e\105\0\1\u014f\6\0\1\u0150\4\0" + "\1\u0151\111\0\1\u0152\10\0\1\u0153\1\u0154\75\0\1\u0155" - + "\1\0\1\u0156\114\0\1\u0157\1\u0158\110\0\1\u0159\104\0" + "\1\u015a\123\0\1\u015b\111\0\1\u015c\47\0\1\u015d\35\0" - + "\1\u015e\3\0\1\u015f\117\0\1\u0160\103\0\1\u0161\5\0" + "\1\u0162\110\0\1\u0163\125\0\1\u0164\116\0\1\u0165\102\0" - + "\1\u0166\107\0\1\u0167\3\0\1\u0168\107\0\1\u0169\125\0" + "\1\u016a\116\0\1\u016b\102\0\1\u016c\41\0\6\354\3\0" - + "\1\354\3\0\6\354\13\0\1\354\2\0\1\354\1\0" + "\26\354\5\0\4\354\3\0\3\354\4\0\1\u016d\2\0" - + "\1\u016d\1\0\1\u016d\3\0\1\u016d\3\0\4\u016d\15\0" + "\1\u016d\2\0\1\u016d\1\0\26\u016d\5\0\4\u016d\3\0" - + "\3\u016d\25\0\1\u016e\53\0\1\u016f\47\0\1\u0170\130\0" + "\1\u0171\125\0\1\u0172\116\0\1\u0173\102\0\1\u0174\62\0" + + "\7\24\1\u0125\16\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + + "\4\24\20\0\1\24\1\21\3\24\1\u0126\22\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + "\15\24\1\262\10\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\3\24\1\u0127\22\24\5\0" + + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + + "\10\24\1\u0128\15\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + + "\4\24\20\0\1\24\1\21\1\24\1\u0129\5\24\1\u012a" + "\12\24\1\u012b\3\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\5\24\1\u012c\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\26\24\5\0\4\24" + + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\1\24" + + "\1\u012d\24\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + + "\20\0\1\24\1\21\4\24\1\u012e\1\u012f\20\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + "\10\24\1\u0130\3\24\1\u0131\11\24\5\0\4\24\3\0" + + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\12\24\1\u0132" + + "\13\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + + "\1\24\1\21\7\24\1\u0133\16\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + + "\2\24\2\0\4\24\20\0\1\24\1\21\14\24\1\u0134" + "\11\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\12\24\1\u0135\13\24\5\0\4\24\3\0" + + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\4\24\1\262" + + "\21\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + + "\1\24\1\21\7\24\1\u0136\1\u0137\15\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\26\24" + "\5\0\4\24\3\0\1\24\1\262\1\24\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\22\24\1\u0138\3\24\5\0\4\24" + + "\3\0\3\24\5\0\4\u0139\12\0\2\u0139\22\0\2\u0139" + "\3\0\2\u0139\10\0\1\u0139\2\0\1\u0139\10\0\3\u0139" + + "\14\0\4\u013a\12\0\2\u013a\22\0\2\u013a\3\0\2\u013a" + + "\10\0\1\u013a\2\0\1\u013a\10\0\3\u013a\61\0\1\u013b" + + "\125\0\1\u013c\116\0\1\u013d\102\0\1\u013e\36\0\34\317" + "\1\321\57\317\3\0\1\317\2\0\1\317\1\0\1\317" + + "\7\0\4\317\10\0\1\321\7\0\1\317\1\0\26\317" + "\5\0\4\317\3\0\3\317\55\0\1\u013f\1\0\1\u0140" + + "\3\0\1\u0141\41\0\1\u0142\36\0\1\u0143\3\0\1\u0144" + + "\1\0\1\u0145\120\0\1\u0146\41\0\1\u0147\40\0\1\u0148" + + "\2\0\1\u0149\1\0\1\u014a\116\0\1\u014b\1\u014c\4\0" + + "\1\u014d\100\0\1\u014e\105\0\1\u014f\6\0\1\u0150\4\0" + + "\1\u0151\111\0\1\u0152\10\0\1\u0153\1\u0154\75\0\1\u0155" + + "\1\0\1\u0156\114\0\1\u0157\1\u0158\110\0\1\u0159\104\0" + + "\1\u015a\123\0\1\u015b\111\0\1\u015c\47\0\1\u015d\35\0" + + "\1\u015e\3\0\1\u015f\117\0\1\u0160\103\0\1\u0161\5\0" + + "\1\u0162\110\0\1\u0163\125\0\1\u0164\116\0\1\u0165\102\0" + + "\1\u0166\107\0\1\u0167\3\0\1\u0168\107\0\1\u0169\125\0" + + "\1\u016a\116\0\1\u016b\102\0\1\u016c\41\0\6\354\3\0" + "\1\354\3\0\6\354\13\0\1\354\2\0\1\354\1\0" + + "\26\354\5\0\4\354\3\0\3\354\4\0\1\u016d\2\0" + "\1\u016d\1\0\1\u016d\3\0\1\u016d\3\0\4\u016d\15\0" + + "\1\u016d\2\0\1\u016d\1\0\26\u016d\5\0\4\u016d\3\0" + + "\3\u016d\25\0\1\u016e\53\0\1\u016f\47\0\1\u0170\130\0" + + "\1\u0171\125\0\1\u0172\116\0\1\u0173\102\0\1\u0174\62\0" + "\1\u0175\123\0\1\u0176\57\0\1\21\2\0\1\21\4\u0177" + "\1\21\1\0\4\21\2\0\2\21\2\u0177\20\0\2\21" + "\2\u0177\3\21\2\u0177\10\21\1\u0177\2\21\1\u0177\3\21" + "\5\0\3\u0177\1\21\3\0\3\21\1\0\1\202\2\0" + "\1\202\2\374\1\202\1\374\1\202\1\0\4\202\2\0" + "\2\202\1\204\1\202\20\0\21\202\1\204\2\202\1\204" @@ -462,17 +477,27 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\25\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\17\24\1\262\6\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\10\24\1\u019d" + "\15\24\5\0\4\24\3\0\3\24\5\0\4\u019e\12\0" - + "\2\u019e\22\0\2\u019e\3\0\2\u019e\10\0\1\u019e\2\0" + "\1\u019e\10\0\3\u019e\14\0\4\u019f\12\0\2\u019f\22\0" - + "\2\u019f\3\0\2\u019f\10\0\1\u019f\2\0\1\u019f\10\0" + "\3\u019f\76\0\1\u01a0\52\0\1\u01a1\127\0\1\u01a2\126\0" - + "\1\u013d\103\0\1\u01a3\4\0\1\u01a4\134\0\1\u01a5\106\0" + "\1\u01a6\77\0\1\u01a7\5\0\1\u01a8\104\0\1\u01a9\116\0" - + "\1\u01aa\116\0\1\u01ab\107\0\1\u01ac\105\0\1\u01ad\115\0" + "\1\u01ae\121\0\1\u01af\117\0\1\u01b0\105\0\1\u01b1\3\0" - + "\1\u01b2\122\0\1\u01b3\114\0\1\u01b4\73\0\1\u01b5\2\0" + "\1\u01b6\21\0\1\u01b7\75\0\1\u01b8\104\0\1\u01b9\125\0" - + "\1\u01ba\5\0\1\u01bb\35\0\1\u01bc\157\0\1\u01bd\105\0" + "\1\u01be\2\0\1\u01bf\14\0\1\u01c0\105\0\1\u01c1\106\0" - + "\1\u01c2\4\0\1\u01c3\113\0\1\u01c4\103\0\1\u01c5\7\0" + "\1\u01c6\115\0\1\u01c7\75\0\1\u01c8\127\0\1\u01c9\103\0" - + "\1\u01ca\15\0\1\u01cb\1\0\1\u01cc\72\0\1\u01cd\116\0" + "\1\u01ce\117\0\1\u01cf\3\0\1\u01d0\103\0\1\u01d1\2\0" - + "\1\u0149\110\0\1\u01d2\113\0\1\u01d3\127\0\1\u01d4\52\0" + "\1\u01d5\127\0\1\u01d6\126\0\1\u0165\47\0\1\u01d7\161\0" - + "\1\u01d8\123\0\1\u01d9\52\0\1\u01da\127\0\1\u01db\126\0" + "\1\u016b\42\0\6\u016d\3\0\1\u016d\3\0\6\u016d\13\0" - + "\1\u016d\2\0\1\u016d\1\0\26\u016d\5\0\4\u016d\3\0" + "\3\u016d\25\0\1\u01dc\170\0\1\u01dd\100\0\1\u01de\52\0" + + "\2\u019e\22\0\2\u019e\3\0\2\u019e\10\0\1\u019e\2\0" + + "\1\u019e\10\0\3\u019e\14\0\4\u019f\12\0\2\u019f\22\0" + + "\2\u019f\3\0\2\u019f\10\0\1\u019f\2\0\1\u019f\10\0" + + "\3\u019f\76\0\1\u01a0\52\0\1\u01a1\127\0\1\u01a2\126\0" + + "\1\u013d\103\0\1\u01a3\4\0\1\u01a4\134\0\1\u01a5\106\0" + + "\1\u01a6\77\0\1\u01a7\5\0\1\u01a8\104\0\1\u01a9\116\0" + + "\1\u01aa\116\0\1\u01ab\107\0\1\u01ac\105\0\1\u01ad\115\0" + + "\1\u01ae\121\0\1\u01af\117\0\1\u01b0\105\0\1\u01b1\3\0" + + "\1\u01b2\122\0\1\u01b3\114\0\1\u01b4\73\0\1\u01b5\2\0" + + "\1\u01b6\21\0\1\u01b7\75\0\1\u01b8\104\0\1\u01b9\125\0" + + "\1\u01ba\5\0\1\u01bb\35\0\1\u01bc\157\0\1\u01bd\105\0" + + "\1\u01be\2\0\1\u01bf\14\0\1\u01c0\105\0\1\u01c1\106\0" + + "\1\u01c2\4\0\1\u01c3\113\0\1\u01c4\103\0\1\u01c5\7\0" + + "\1\u01c6\115\0\1\u01c7\75\0\1\u01c8\127\0\1\u01c9\103\0" + + "\1\u01ca\15\0\1\u01cb\1\0\1\u01cc\72\0\1\u01cd\116\0" + + "\1\u01ce\117\0\1\u01cf\3\0\1\u01d0\103\0\1\u01d1\2\0" + + "\1\u0149\110\0\1\u01d2\113\0\1\u01d3\127\0\1\u01d4\52\0" + + "\1\u01d5\127\0\1\u01d6\126\0\1\u0165\47\0\1\u01d7\161\0" + + "\1\u01d8\123\0\1\u01d9\52\0\1\u01da\127\0\1\u01db\126\0" + + "\1\u016b\42\0\6\u016d\3\0\1\u016d\3\0\6\u016d\13\0" + "\1\u016d\2\0\1\u016d\1\0\26\u016d\5\0\4\u016d\3\0" + + "\3\u016d\25\0\1\u01dc\170\0\1\u01dd\100\0\1\u01de\52\0" + "\1\u01df\127\0\1\u01e0\126\0\1\u0173\63\0\1\u01e1\67\0" + "\1\21\2\0\1\21\4\u01e2\1\21\1\0\4\21\2\0" + "\2\21\2\u01e2\20\0\2\21\2\u01e2\3\21\2\u01e2\10\21" + "\1\u01e2\2\21\1\u01e2\3\21\5\0\3\u01e2\1\21\3\0" + "\3\21\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\4\24\1\u01e3" @@ -516,55 +541,75 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\1\24\1\21\7\24\1\u01f8\16\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\3\24\1\270" + "\22\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\12\24\1\u01f9\13\24\5\0\4\24\3\0" - + "\3\24\42\0\1\u01a2\6\0\1\u013d\46\0\6\u01a1\1\0" + "\1\u01fa\1\0\1\u01fa\2\u01a1\1\u01fa\4\u01a1\2\u01fa\1\0" - + "\2\u01fa\1\0\1\u01fa\2\0\6\u01fa\1\0\1\u01a1\1\u01fa" + "\26\u01a1\2\0\1\u01fa\1\0\1\u01fa\4\u01a1\3\u01fa\3\u01a1" - + "\17\0\1\u01fb\144\0\1\u01fc\125\0\1\u01fd\106\0\1\u01b2" + "\1\0\1\u01fe\45\0\1\u01ff\164\0\1\u0200\76\0\1\u0201" - + "\120\0\1\u0202\116\0\1\u0203\105\0\1\u01b2\117\0\1\u01b1" + "\105\0\1\u0204\120\0\1\u0205\115\0\1\u0149\122\0\1\u0206" - + "\101\0\1\u01af\125\0\1\u01af\105\0\1\u0207\124\0\1\u0208" + "\36\0\1\u0209\113\0\1\u020a\160\0\1\u020b\106\0\1\u020c" - + "\113\0\1\u020d\132\0\1\u020e\70\0\1\u01af\127\0\1\u020f" + "\77\0\1\u0210\123\0\1\u0211\121\0\1\u0212\116\0\1\u01b2" - + "\102\0\1\u0213\123\0\1\u01af\111\0\1\u0214\102\0\1\u0215" + "\116\0\1\u0216\106\0\1\u0217\120\0\1\u0218\124\0\1\u01af" - + "\101\0\1\u01af\112\0\1\u0219\107\0\1\u021a\122\0\1\u0205" + "\104\0\1\u01bc\136\0\1\u021b\73\0\1\u021c\14\0\1\u021d" - + "\101\0\1\u01b2\115\0\1\u021e\105\0\1\u021f\104\0\1\u01d6" + "\6\0\1\u0165\46\0\6\u01d5\1\0\1\u0220\1\0\1\u0220" - + "\2\u01d5\1\u0220\4\u01d5\2\u0220\1\0\2\u0220\1\0\1\u0220" + "\2\0\6\u0220\1\0\1\u01d5\1\u0220\26\u01d5\2\0\1\u0220" - + "\1\0\1\u0220\4\u01d5\3\u0220\3\u01d5\17\0\1\u0221\146\0" + "\1\u0222\122\0\1\u0223\74\0\1\u01db\6\0\1\u016b\46\0" - + "\6\u01da\1\0\1\u0224\1\0\1\u0224\2\u01da\1\u0224\4\u01da" + "\2\u0224\1\0\2\u0224\1\0\1\u0224\2\0\6\u0224\1\0" - + "\1\u01da\1\u0224\26\u01da\2\0\1\u0224\1\0\1\u0224\4\u01da" + "\3\u0224\3\u01da\17\0\1\u0225\177\0\1\u0226\52\0\1\u01e0" - + "\6\0\1\u0173\46\0\6\u01df\1\0\1\u0227\1\0\1\u0227" + "\2\u01df\1\u0227\4\u01df\2\u0227\1\0\2\u0227\1\0\1\u0227" - + "\2\0\6\u0227\1\0\1\u01df\1\u0227\26\u01df\2\0\1\u0227" + "\1\0\1\u0227\4\u01df\3\u0227\3\u01df\17\0\1\u0228\75\0" - + "\1\21\2\0\1\21\4\u0229\1\21\1\0\4\21\2\0" + "\2\21\2\u0229\20\0\2\21\2\u0229\3\21\2\u0229\10\21" - + "\1\u0229\2\21\1\u0229\3\21\5\0\3\u0229\1\21\3\0" + "\3\21\1\0\1\21\2\0\6\24\1\0\1\21\1\201" - + "\2\24\2\0\4\24\20\0\1\24\1\21\1\u022a\25\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" + "\1\21\1\u022b\25\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\5\24\1\262\20\24\5\0" + + "\3\24\42\0\1\u01a2\6\0\1\u013d\46\0\6\u01a1\1\0" + + "\1\u01fa\1\0\1\u01fa\2\u01a1\1\u01fa\4\u01a1\2\u01fa\1\0" + + "\2\u01fa\1\0\1\u01fa\2\0\6\u01fa\1\0\1\u01a1\1\u01fa" + + "\26\u01a1\2\0\1\u01fa\1\0\1\u01fa\4\u01a1\3\u01fa\3\u01a1" + + "\17\0\1\u01fb\144\0\1\u01fc\125\0\1\u01fd\106\0\1\u01b2" + + "\1\0\1\u01fe\45\0\1\u01ff\164\0\1\u0200\76\0\1\u0201" + + "\120\0\1\u0202\116\0\1\u0203\105\0\1\u01b2\117\0\1\u01b1" + + "\105\0\1\u0204\120\0\1\u0205\115\0\1\u0149\122\0\1\u0206" + + "\101\0\1\u01af\125\0\1\u01af\105\0\1\u0207\124\0\1\u0208" + + "\36\0\1\u0209\113\0\1\u020a\160\0\1\u020b\106\0\1\u020c" + + "\113\0\1\u020d\132\0\1\u020e\70\0\1\u01af\127\0\1\u020f" + + "\77\0\1\u0210\123\0\1\u0211\121\0\1\u0212\116\0\1\u01b2" + + "\102\0\1\u0213\123\0\1\u01af\111\0\1\u0214\102\0\1\u0215" + + "\116\0\1\u0216\106\0\1\u0217\120\0\1\u0218\124\0\1\u01af" + + "\101\0\1\u01af\112\0\1\u0219\107\0\1\u021a\122\0\1\u0205" + + "\104\0\1\u01bc\136\0\1\u021b\73\0\1\u021c\14\0\1\u021d" + + "\101\0\1\u01b2\115\0\1\u021e\105\0\1\u021f\104\0\1\u01d6" + + "\6\0\1\u0165\46\0\6\u01d5\1\0\1\u0220\1\0\1\u0220" + + "\2\u01d5\1\u0220\4\u01d5\2\u0220\1\0\2\u0220\1\0\1\u0220" + + "\2\0\6\u0220\1\0\1\u01d5\1\u0220\26\u01d5\2\0\1\u0220" + + "\1\0\1\u0220\4\u01d5\3\u0220\3\u01d5\17\0\1\u0221\146\0" + + "\1\u0222\122\0\1\u0223\74\0\1\u01db\6\0\1\u016b\46\0" + + "\6\u01da\1\0\1\u0224\1\0\1\u0224\2\u01da\1\u0224\4\u01da" + + "\2\u0224\1\0\2\u0224\1\0\1\u0224\2\0\6\u0224\1\0" + + "\1\u01da\1\u0224\26\u01da\2\0\1\u0224\1\0\1\u0224\4\u01da" + + "\3\u0224\3\u01da\17\0\1\u0225\177\0\1\u0226\52\0\1\u01e0" + + "\6\0\1\u0173\46\0\6\u01df\1\0\1\u0227\1\0\1\u0227" + + "\2\u01df\1\u0227\4\u01df\2\u0227\1\0\2\u0227\1\0\1\u0227" + + "\2\0\6\u0227\1\0\1\u01df\1\u0227\26\u01df\2\0\1\u0227" + + "\1\0\1\u0227\4\u01df\3\u0227\3\u01df\17\0\1\u0228\75\0" + "\1\21\2\0\1\21\4\u0229\1\21\1\0\4\21\2\0" + + "\2\21\2\u0229\20\0\2\21\2\u0229\3\21\2\u0229\10\21" + "\1\u0229\2\21\1\u0229\3\21\5\0\3\u0229\1\21\3\0" + + "\3\21\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\1\u022a\25\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" + + "\1\21\1\u022b\25\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + + "\4\24\20\0\1\24\1\21\5\24\1\262\20\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + "\4\24\1\u022c\21\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\10\24\1\u022d\15\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" - + "\4\24\1\u022c\21\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" - + "\4\24\20\0\1\24\1\21\10\24\1\u022d\15\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + "\22\24\1\262\3\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\12\24\1\u022e\13\24\5\0" + + "\22\24\1\262\3\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + + "\4\24\20\0\1\24\1\21\12\24\1\u022e\13\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + "\12\24\1\u022f\13\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\24\1\21\6\24\1\u0189\17\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" - + "\12\24\1\u022f\13\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" - + "\4\24\20\0\1\24\1\21\6\24\1\u0189\17\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\201\2\24\2\0\4\24\20\0\1\24\1\21" + "\17\24\1\u010f\6\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + "\4\24\20\0\1\u0230\1\21\26\24\5\0\4\24\3\0" - + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\10\24\1\u0231" - + "\15\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" - + "\1\24\1\21\12\24\1\u0232\13\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" - + "\2\24\2\0\4\24\20\0\1\24\1\21\22\24\1\u0233" + "\3\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" - + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\11\24\1\u0107\14\24\5\0\4\24\3\0" - + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\7\24\1\u0185" - + "\16\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\2\24\1\u0234" - + "\1\24\20\0\1\24\1\21\26\24\5\0\4\24\3\0" + "\2\24\1\u0235\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\11\24" + "\1\u0112\14\24\5\0\4\24\3\0\3\24\1\0\1\21" - + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\5\24\1\u0236\20\24\5\0\4\24" + + "\17\24\1\u010f\6\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" + + "\4\24\20\0\1\u0230\1\21\26\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + + "\2\24\2\0\4\24\20\0\1\24\1\21\10\24\1\u0231" + "\15\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + "\1\24\1\21\12\24\1\u0232\13\24\5\0\4\24\3\0" + + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + "\2\24\2\0\4\24\20\0\1\24\1\21\22\24\1\u0233" + + "\3\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\201\2\24\2\0\4\24\20\0" + + "\1\24\1\21\11\24\1\u0107\14\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\201" + + "\2\24\2\0\4\24\20\0\1\24\1\21\7\24\1\u0185" + "\16\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\6\24\1\0\1\21\1\201\2\24\2\0\2\24\1\u0234" + "\1\24\20\0\1\24\1\21\26\24\5\0\4\24\3\0" + + "\2\24\1\u0235\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\11\24" + + "\1\u0112\14\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + + "\20\0\1\24\1\21\5\24\1\u0236\20\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\10\24" + "\1\u0237\15\24\5\0\4\24\3\0\3\24\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\7\24\1\u0238\16\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\10\24" - + "\1\u0237\15\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" - + "\20\0\1\24\1\21\7\24\1\u0238\16\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\10\24" + "\1\u0239\15\24\5\0\4\24\3\0\3\24\17\0\1\u01a1" - + "\151\0\1\u023a\121\0\1\u01c9\111\0\1\u01af\110\0\1\u0149" + "\120\0\1\u0216\105\0\1\u023b\111\0\1\u023c\111\0\1\u01b2" - + "\111\0\1\u023d\123\0\1\u01ca\120\0\1\u01b2\115\0\1\u023e" + "\110\0\1\u023f\103\0\1\u0240\117\0\1\u0241\104\0\1\u0242" - + "\114\0\1\u0243\114\0\1\u0244\114\0\1\u0245\112\0\1\u01af" + "\130\0\1\u01ff\77\0\1\u0246\113\0\1\u0247\121\0\1\u0248" - + "\105\0\1\u0149\107\0\1\u014a\117\0\1\u01af\107\0\1\u0249" + "\115\0\1\u024a\117\0\1\u024b\47\0\1\u024c\151\0\1\u024d" - + "\121\0\1\u024e\113\0\1\u024f\105\0\1\u0250\123\0\1\u0251" + "\53\0\1\u01d5\157\0\1\u0252\115\0\1\u0253\45\0\1\u01da" + + "\1\u0239\15\24\5\0\4\24\3\0\3\24\17\0\1\u01a1" + + "\151\0\1\u023a\121\0\1\u01c9\111\0\1\u01af\110\0\1\u0149" + + "\120\0\1\u0216\105\0\1\u023b\111\0\1\u023c\111\0\1\u01b2" + + "\111\0\1\u023d\123\0\1\u01ca\120\0\1\u01b2\115\0\1\u023e" + + "\110\0\1\u023f\103\0\1\u0240\117\0\1\u0241\104\0\1\u0242" + + "\114\0\1\u0243\114\0\1\u0244\114\0\1\u0245\112\0\1\u01af" + + "\130\0\1\u01ff\77\0\1\u0246\113\0\1\u0247\121\0\1\u0248" + + "\105\0\1\u0149\107\0\1\u014a\117\0\1\u01af\107\0\1\u0249" + + "\115\0\1\u024a\117\0\1\u024b\47\0\1\u024c\151\0\1\u024d" + + "\121\0\1\u024e\113\0\1\u024f\105\0\1\u0250\123\0\1\u0251" + + "\53\0\1\u01d5\157\0\1\u0252\115\0\1\u0253\45\0\1\u01da" + "\200\0\1\u0254\26\0\1\u01df\75\0\1\21\2\0\1\21" + "\4\24\1\21\1\0\4\21\2\0\2\21\2\24\20\0" + "\2\21\2\24\3\21\2\24\10\21\1\24\2\21\1\24" + "\3\21\5\0\3\24\1\21\3\0\3\21\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\5\24\1\u0185\20\24\5\0\4\24" @@ -586,9 +631,12 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\21\24\1\262\4\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" + "\1\21\3\24\1\u0238\22\24\5\0\4\24\3\0\3\24" + "\53\0\1\u025d\121\0\1\u0247\101\0\1\u025e\117\0\1\u025f" - + "\115\0\1\u0260\117\0\1\u0261\113\0\1\u0262\105\0\1\u01d1" + "\107\0\1\u0263\132\0\1\u0264\74\0\1\u01bd\3\0\1\u0265" - + "\117\0\1\u0266\115\0\1\u0217\104\0\1\u01b2\112\0\1\u0149" + "\120\0\1\u01af\124\0\1\u0267\100\0\1\u0268\115\0\1\u020f" - + "\107\0\1\u0149\115\0\1\u0269\112\0\1\u026a\112\0\1\u021f" + "\124\0\1\u01fe\103\0\1\u026b\41\0\26\u0253\1\u01af\65\u0253" + + "\115\0\1\u0260\117\0\1\u0261\113\0\1\u0262\105\0\1\u01d1" + + "\107\0\1\u0263\132\0\1\u0264\74\0\1\u01bd\3\0\1\u0265" + + "\117\0\1\u0266\115\0\1\u0217\104\0\1\u01b2\112\0\1\u0149" + + "\120\0\1\u01af\124\0\1\u0267\100\0\1\u0268\115\0\1\u020f" + + "\107\0\1\u0149\115\0\1\u0269\112\0\1\u026a\112\0\1\u021f" + + "\124\0\1\u01fe\103\0\1\u026b\41\0\26\u0253\1\u01af\65\u0253" + "\104\0\1\u026c\7\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\12\24" + "\1\u026d\13\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\12\24\1\u0185\13\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" @@ -599,22 +647,25 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\20\0\1\24\1\21\3\24\1\u0189\22\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\201\2\24\2\0\4\24\20\0\1\24\1\21\6\24" + "\1\u0137\17\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\201\2\24\2\0\4\24" + "\20\0\1\24\1\21\12\24\1\262\13\24\5\0\4\24" - + "\3\0\3\24\63\0\1\u0260\104\0\1\u020f\127\0\1\u01af" + "\114\0\1\u01af\100\0\1\u025f\111\0\1\u01c3\114\0\1\u0270" - + "\47\0\1\u0271\162\0\1\u0272\102\0\1\u01b0\113\0\1\u0269" + "\116\0\1\u0273\113\0\1\u025f\120\0\1\u0274\140\0\1\u0275" - + "\10\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\10\24\1\u0276\15\24" - + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" - + "\1\21\3\24\1\u010f\22\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" - + "\2\0\4\24\20\0\1\24\1\21\1\u025a\25\24\5\0" + "\4\24\3\0\3\24\51\0\1\u01ca\116\0\1\u0277\121\0" + + "\3\0\3\24\63\0\1\u0260\104\0\1\u020f\127\0\1\u01af" + + "\114\0\1\u01af\100\0\1\u025f\111\0\1\u01c3\114\0\1\u0270" + + "\47\0\1\u0271\162\0\1\u0272\102\0\1\u01b0\113\0\1\u0269" + + "\116\0\1\u0273\113\0\1\u025f\120\0\1\u0274\140\0\1\u0275" + "\10\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + + "\2\0\4\24\20\0\1\24\1\21\10\24\1\u0276\15\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\201\2\24\2\0\4\24\20\0\1\24" + "\1\21\3\24\1\u010f\22\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\201\2\24" + "\2\0\4\24\20\0\1\24\1\21\1\u025a\25\24\5\0" + + "\4\24\3\0\3\24\51\0\1\u01ca\116\0\1\u0277\121\0" + "\1\u020f\106\0\1\u01c9\105\0\1\u0278\145\0\1\u0279\13\0" + "\1\21\2\0\6\24\1\0\1\21\1\201\2\24\2\0" - + "\4\24\20\0\1\24\1\21\26\24\5\0\4\24\3\0" + "\1\u025b\2\24\52\0\1\u027a\117\0\1\u0253\106\0\1\u01af" + "\11\0\1\u0216\31\0"; - + + "\4\24\20\0\1\24\1\21\26\24\5\0\4\24\3\0" + "\1\u025b\2\24\52\0\1\u027a\117\0\1\u0253\106\0\1\u01af" + + "\11\0\1\u0216\31\0"; + private static int[] zzUnpackTrans() { int[] result = new int[42788]; 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 */ @@ -629,7 +680,7 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -641,20 +692,22 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { * 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\2\1\3\0\2\1\1\11\4\1\1\11\4\1" + "\2\11\4\1\1\11\23\1\2\11\2\1\1\11\1\1" - + "\1\11\1\1\1\11\1\1\1\11\1\1\1\11\1\1" + "\1\11\5\1\1\11\10\1\1\11\5\1\1\11\2\1" + "\1\11\1\1\1\11\5\1\1\11\2\1\1\11\1\1" - + "\3\11\3\1\3\11\1\1\1\11\4\1\1\11\2\1" + "\1\11\1\1\1\11\1\1\1\11\12\1\2\0\1\11" + "\3\1\2\0\1\11\62\1\1\11\2\1\1\11\4\0" - + "\1\11\2\0\1\11\32\0\3\1\2\11\5\0\1\11" + "\2\0\2\11\2\1\1\0\73\1\64\0\1\1\2\0" + "\1\11\5\0\1\11\1\1\1\11\45\1\1\0\1\11" - + "\1\0\1\1\15\0\1\11\45\0\1\1\4\0\1\1" + "\1\0\1\11\2\0\1\1\1\0\1\11\30\1\15\0" + "\1\1\20\0\1\1\20\0\21\1\33\0\11\1\4\0" - + "\1\1\12\0\3\1\6\0\1\1\2\0\1\11\1\0"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\13\0\2\1\3\0\2\1\1\11\4\1\1\11\4\1" + + "\2\11\4\1\1\11\23\1\2\11\2\1\1\11\1\1" + "\1\11\1\1\1\11\1\1\1\11\1\1\1\11\1\1" + + "\1\11\5\1\1\11\10\1\1\11\5\1\1\11\2\1" + "\1\11\1\1\1\11\5\1\1\11\2\1\1\11\1\1" + + "\3\11\3\1\3\11\1\1\1\11\4\1\1\11\2\1" + "\1\11\1\1\1\11\1\1\1\11\12\1\2\0\1\11" + + "\3\1\2\0\1\11\62\1\1\11\2\1\1\11\4\0" + "\1\11\2\0\1\11\32\0\3\1\2\11\5\0\1\11" + + "\2\0\2\11\2\1\1\0\73\1\64\0\1\1\2\0" + "\1\11\5\0\1\11\1\1\1\11\45\1\1\0\1\11" + + "\1\0\1\1\15\0\1\11\45\0\1\1\4\0\1\1" + "\1\0\1\11\2\0\1\1\1\0\1\11\30\1\15\0" + + "\1\1\20\0\1\1\20\0\21\1\33\0\11\1\4\0" + "\1\1\12\0\3\1\6\0\1\1\2\0\1\11\1\0"; + private static int[] zzUnpackAttribute() { int[] result = new int[634]; 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 */ @@ -668,7 +721,7 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -676,8 +729,8 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -687,8 +740,7 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ @@ -711,13 +763,11 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { */ private static final int INTERNAL_IN_JS_STRING_VALID = -11; /** - * Token type specifying we're in an invalid multi-line JS single-quoted - * string. + * Token type specifying we're in an invalid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_INVALID = -12; /** - * Token type specifying we're in a valid multi-line JS single-quoted - * string. + * Token type specifying we're in a valid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_VALID = -13; private static final int INTERNAL_E4X = -14; @@ -766,85 +816,75 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { */ private static final int LANG_INDEX_E4X = 1; private Stack varDepths; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public JavaScriptTokenMaker() { super(); } - + static { jsVersion = "1.7"; // Many folks using JS tend to be bleeding edge e4xSupported = true; } - + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * Returns the closest {@link TokenTypes} "standard" token type for a given * "internal" token type (e.g. one whose value is < 0). @@ -852,23 +892,23 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { @Override public int getClosestStandardTokenTypeForInternalType(int type) { switch (type) { - case INTERNAL_IN_JS_MLC: - return TokenTypes.COMMENT_MULTILINE; - case INTERNAL_IN_JS_COMMENT_DOCUMENTATION: - return TokenTypes.COMMENT_DOCUMENTATION; - case INTERNAL_IN_JS_STRING_INVALID: - case INTERNAL_IN_JS_STRING_VALID: - case INTERNAL_IN_JS_CHAR_INVALID: - case INTERNAL_IN_JS_CHAR_VALID: - return TokenTypes.LITERAL_STRING_DOUBLE_QUOTE; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: - return TokenTypes.LITERAL_BACKQUOTE; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: - return TokenTypes.ERROR_STRING_DOUBLE; + case INTERNAL_IN_JS_MLC: + return TokenTypes.COMMENT_MULTILINE; + case INTERNAL_IN_JS_COMMENT_DOCUMENTATION: + return TokenTypes.COMMENT_DOCUMENTATION; + case INTERNAL_IN_JS_STRING_INVALID: + case INTERNAL_IN_JS_STRING_VALID: + case INTERNAL_IN_JS_CHAR_INVALID: + case INTERNAL_IN_JS_CHAR_VALID: + return TokenTypes.LITERAL_STRING_DOUBLE_QUOTE; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: + return TokenTypes.LITERAL_BACKQUOTE; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: + return TokenTypes.ERROR_STRING_DOUBLE; } return type; } - + /** * Returns the JavaScript version being highlighted. * @@ -878,7 +918,7 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { public static String getJavaScriptVersion() { return jsVersion; } - + /** * {@inheritDoc} */ @@ -886,21 +926,18 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -913,83 +950,83 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case INTERNAL_IN_JS_MLC: - state = JS_MLC; - break; - case INTERNAL_IN_JS_COMMENT_DOCUMENTATION: - state = JS_DOCCOMMENT; - start = text.offset; - break; - case INTERNAL_IN_JS_STRING_INVALID: - state = JS_STRING; - validJSString = false; - break; - case INTERNAL_IN_JS_STRING_VALID: - state = JS_STRING; - break; - case INTERNAL_IN_JS_CHAR_INVALID: - state = JS_CHAR; - validJSString = false; - break; - case INTERNAL_IN_JS_CHAR_VALID: - state = JS_CHAR; - break; - case INTERNAL_E4X: - state = E4X; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_INTAG: - state = E4X_INTAG; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION: - state = E4X_PI; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_DTD: - state = E4X_DTD; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_DTD_INTERNAL: - state = E4X_DTD; - e4x_inInternalDtd = true; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_ATTR_SINGLE: - state = E4X_INATTR_SINGLE; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_ATTR_DOUBLE: - state = E4X_INATTR_DOUBLE; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_MARKUP_CDATA: - state = E4X_CDATA; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: - state = JS_TEMPLATE_LITERAL; - validJSString = true; - break; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: - state = JS_TEMPLATE_LITERAL; - validJSString = false; - break; - default: - if (initialTokenType < -1024) { // INTERNAL_IN_E4X_COMMENT - - // prevState - int main = -(-initialTokenType & 0xffffff00); - switch (main) { - default: // Should never happen - case INTERNAL_IN_E4X_COMMENT: - state = E4X_COMMENT; - break; - } - e4x_prevState = -initialTokenType & 0xff; - languageIndex = LANG_INDEX_E4X; - } else { // Shouldn't happen - state = Token.NULL; + case INTERNAL_IN_JS_MLC: + state = JS_MLC; + break; + case INTERNAL_IN_JS_COMMENT_DOCUMENTATION: + state = JS_DOCCOMMENT; + start = text.offset; + break; + case INTERNAL_IN_JS_STRING_INVALID: + state = JS_STRING; + validJSString = false; + break; + case INTERNAL_IN_JS_STRING_VALID: + state = JS_STRING; + break; + case INTERNAL_IN_JS_CHAR_INVALID: + state = JS_CHAR; + validJSString = false; + break; + case INTERNAL_IN_JS_CHAR_VALID: + state = JS_CHAR; + break; + case INTERNAL_E4X: + state = E4X; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_INTAG: + state = E4X_INTAG; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION: + state = E4X_PI; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_DTD: + state = E4X_DTD; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_DTD_INTERNAL: + state = E4X_DTD; + e4x_inInternalDtd = true; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_ATTR_SINGLE: + state = E4X_INATTR_SINGLE; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_ATTR_DOUBLE: + state = E4X_INATTR_DOUBLE; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_MARKUP_CDATA: + state = E4X_CDATA; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: + state = JS_TEMPLATE_LITERAL; + validJSString = true; + break; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: + state = JS_TEMPLATE_LITERAL; + validJSString = false; + break; + default: + if (initialTokenType < -1024) { // INTERNAL_IN_E4X_COMMENT - + // prevState + int main = -(-initialTokenType & 0xffffff00); + switch (main) { + default: // Should never happen + case INTERNAL_IN_E4X_COMMENT: + state = E4X_COMMENT; + break; } + e4x_prevState = -initialTokenType & 0xff; + languageIndex = LANG_INDEX_E4X; + } else { // Shouldn't happen + state = Token.NULL; + } } setLanguageIndex(languageIndex); start = text.offset; @@ -1003,7 +1040,7 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Returns whether e4x is being highlighted. * @@ -1013,76 +1050,71 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { public static boolean isE4xSupported() { return e4xSupported; } - + /** - * Returns whether features for a specific JS version should be honored - * while highlighting. + * Returns whether features for a specific JS version should be honored while + * highlighting. * - * @param version - * JavaScript version required - * @return Whether the JavaScript version is the same or greater than - * version required. + * @param version JavaScript version required + * @return Whether the JavaScript version is the same or greater than version + * required. */ public static boolean isJavaScriptCompatible(String version) { return jsVersion.compareTo(version) >= 0; } - + /** - * Sets whether e4x should be highlighted. A repaint should be forced on - * all RSyntaxTextAreas editing JavaScript if this property - * is changed to see the difference. + * Sets whether e4x should be highlighted. A repaint should be forced on all + * RSyntaxTextAreas editing JavaScript if this property is changed + * to see the difference. * - * @param supported - * Whether e4x should be highlighted. + * @param supported Whether e4x should be highlighted. * @see #isE4xSupported() */ public static void setE4xSupported(boolean supported) { e4xSupported = supported; } - + /** - * Set the supported JavaScript version because some keywords were - * introduced on or after this version. + * Set the supported JavaScript version because some keywords were introduced on + * or after this version. * - * @param javaScriptVersion - * The version of JavaScript to support, such as - * "1.5" or "1.6". + * @param javaScriptVersion The version of JavaScript to support, such as + * "1.5" or "1.6". * @see #isJavaScriptCompatible(String) * @see #getJavaScriptVersion() */ public static void setJavaScriptVersion(String javaScriptVersion) { jsVersion = javaScriptVersion; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -1092,34 +1124,31 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public JavaScriptTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public JavaScriptTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -1135,7 +1164,7 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1145,69 +1174,64 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1218,29 +1242,27 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1259,8 +1281,7 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1300,723 +1321,721 @@ public class JavaScriptTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 35: { - start = zzMarkedPos - 1; - yybegin(E4X_INATTR_SINGLE); + case 35: { + start = zzMarkedPos - 1; + yybegin(E4X_INATTR_SINGLE); + } + case 83: + break; + case 34: { + start = zzMarkedPos - 1; + yybegin(E4X_INATTR_DOUBLE); + } + case 84: + break; + case 43: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 85: + break; + case 81: { + addToken(Token.RESERVED_WORD_2); + } + case 86: + break; + case 27: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + addEndToken(e4x_inInternalDtd ? INTERNAL_E4X_DTD_INTERNAL : INTERNAL_E4X_DTD); + return firstToken; + } + case 87: + break; + case 40: { + int type = validJSString ? Token.LITERAL_BACKQUOTE : Token.ERROR_STRING_DOUBLE; + addToken(start, zzStartRead, type); + yybegin(YYINITIAL); + } + case 88: + break; + case 16: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_CHAR); + addEndToken(INTERNAL_IN_JS_CHAR_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS_CHAR_INVALID); } - case 83: - break; - case 34: { - start = zzMarkedPos - 1; - yybegin(E4X_INATTR_DOUBLE); + return firstToken; + } + case 89: + break; + case 3: { + addToken(Token.WHITESPACE); + } + case 90: + break; + case 18: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 91: + break; + case 48: { + int start = zzStartRead; + int operatorLen = yycharat(0) == '+' ? 2 : 1; + int yylen = yylength(); // Cache before first addToken() + // invalidates it + // System.out.println("'" + yytext() + "': " + yylength() + + // ", " + (operatorLen+1)); + addToken(zzStartRead, zzStartRead + operatorLen - 1, Token.OPERATOR); + if (yylen > operatorLen + 1) { + // System.out.println((start+operatorLen) + ", " + + // (zzMarkedPos-2)); + addToken(start + operatorLen, zzMarkedPos - 2, Token.WHITESPACE); } - case 84: - break; - case 43: { - addToken(Token.ERROR_NUMBER_FORMAT); + zzStartRead = zzCurrentPos = zzMarkedPos = zzMarkedPos - 1; + if (isE4xSupported()) { + // Scanning will continue with "<" as markup tag start + yybegin(E4X, LANG_INDEX_E4X); } - case 85: - break; - case 81: { - addToken(Token.RESERVED_WORD_2); + // Found e4x (or syntax error) but option not enabled; + // Scanning will continue at "<" as operator + } + case 92: + break; + case 73: { + addToken(Token.FUNCTION); + } + case 93: + break; + case 56: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_MARKUP); + start = zzMarkedPos; + } + case 94: + break; + case 61: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + start = zzMarkedPos - 2; + if (varDepths == null) { + varDepths = new Stack(); + } else { + varDepths.clear(); } - case 86: - break; - case 27: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - addEndToken(e4x_inInternalDtd ? INTERNAL_E4X_DTD_INTERNAL : INTERNAL_E4X_DTD); - return firstToken; - } - case 87: - break; - case 40: { - int type = validJSString ? Token.LITERAL_BACKQUOTE : Token.ERROR_STRING_DOUBLE; - addToken(start, zzStartRead, type); - yybegin(YYINITIAL); - } - case 88: - break; - case 16: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_INVALID); - } - return firstToken; - } - case 89: - break; - case 3: { - addToken(Token.WHITESPACE); - } - case 90: - break; - case 18: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 91: - break; - case 48: { - int start = zzStartRead; - int operatorLen = yycharat(0) == '+' ? 2 : 1; - int yylen = yylength(); // Cache before first addToken() - // invalidates it - // System.out.println("'" + yytext() + "': " + yylength() + - // ", " + (operatorLen+1)); - addToken(zzStartRead, zzStartRead + operatorLen - 1, Token.OPERATOR); - if (yylen > operatorLen + 1) { - // System.out.println((start+operatorLen) + ", " + - // (zzMarkedPos-2)); - addToken(start + operatorLen, zzMarkedPos - 2, Token.WHITESPACE); - } - zzStartRead = zzCurrentPos = zzMarkedPos = zzMarkedPos - 1; - if (isE4xSupported()) { - // Scanning will continue with "<" as markup tag start - yybegin(E4X, LANG_INDEX_E4X); - } - // Found e4x (or syntax error) but option not enabled; - // Scanning will continue at "<" as operator - } - case 92: - break; - case 73: { - addToken(Token.FUNCTION); - } - case 93: - break; - case 56: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_MARKUP); - start = zzMarkedPos; - } - case 94: - break; - case 61: { + varDepths.push(Boolean.TRUE); + yybegin(JS_TEMPLATE_LITERAL_EXPR); + } + case 95: + break; + case 37: { + if (validJSString) { addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - start = zzMarkedPos - 2; - if (varDepths == null) { - varDepths = new Stack(); - } else { - varDepths.clear(); - } - varDepths.push(Boolean.TRUE); - yybegin(JS_TEMPLATE_LITERAL_EXPR); - } - case 95: - break; - case 37: { - if (validJSString) { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 96: - break; - case 39: { /* - * Skip valid '$' that is not part of template - * literal expression start - */ - } - case 97: - break; - case 11: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_TEMPLATE_LITERAL); - } - case 98: - break; - case 51: { /* Skip all escaped chars. */ - } - case 99: - break; - case 12: { + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } - case 100: - break; - case 78: { - start = zzStartRead; - e4x_prevState = zzLexicalState; - yybegin(E4X_COMMENT); - } - case 101: - break; - case 69: { - int temp = zzStartRead; - yybegin(E4X); - addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); - addToken(temp, zzMarkedPos - 1, Token.MARKUP_CDATA_DELIMITER); - } - case 102: - break; - case 62: { - varDepths.push(Boolean.TRUE); - } - case 103: - break; - case 67: { - int count = yylength(); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - (count - 2), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - yybegin(E4X_INTAG); - } - case 104: - break; - case 53: { - /* Invalid latin-1 character \xXX */ validJSString = false; - } - case 105: - break; - case 70: { - addToken(Token.COMMENT_MULTILINE); - } - case 106: - break; - case 59: { - start = zzMarkedPos - 2; - yybegin(E4X_PI); - } - case 107: - break; - case 36: { - yybegin(E4X_INTAG); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 108: - break; - case 14: { - int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; - addToken(start, zzStartRead, type); - yybegin(YYINITIAL); - } - case 109: - break; - case 20: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 110: - break; - case 24: { - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - addToken(Token.IDENTIFIER); - } - case 111: - break; - case 52: { - /* Invalid Unicode character \\uXXXX */ validJSString = false; - } - case 112: - break; - case 80: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - start = temp; - e4x_prevState = zzLexicalState; - yybegin(E4X_COMMENT); - } - case 113: - break; - case 72: { - if (e4xSupported) { - addToken(Token.RESERVED_WORD); - } else { - addToken(Token.IDENTIFIER); - } - } - case 114: - break; - case 68: { - int temp = zzMarkedPos; - addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); - start = temp; - yybegin(e4x_prevState); - } - case 115: - break; - case 7: { - addToken(Token.OPERATOR); - } - case 116: - break; - case 60: { - yybegin(E4X); - addToken(start, zzStartRead + 1, Token.MARKUP_PROCESSING_INSTRUCTION); - } - case 117: - break; - case 55: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); - } - case 118: - break; - case 19: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); - return firstToken; - } - case 119: - break; - case 26: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - addEndToken(INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 120: - break; - case 5: { - addToken(Token.IDENTIFIER); - } - case 121: - break; - case 74: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 122: - break; - case 49: { - addToken(isE4xSupported() ? Token.MARKUP_TAG_ATTRIBUTE : Token.ERROR_IDENTIFIER); - } - case 123: - break; - case 77: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 124: - break; - case 64: { - start = zzMarkedPos - 3; - yybegin(JS_DOCCOMMENT); - } - case 125: - break; - case 9: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_STRING); - } - case 126: - break; - case 58: { - start = zzMarkedPos - 2; - e4x_inInternalDtd = false; - yybegin(E4X_DTD); - } - case 127: - break; - case 38: { - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 128: - break; - case 25: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addEndToken(INTERNAL_IN_E4X_COMMENT - e4x_prevState); - return firstToken; - } - case 129: - break; - case 10: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_CHAR); - } - case 130: - break; - case 29: { - e4x_inInternalDtd = true; - } - case 131: - break; - case 76: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); - start = zzMarkedPos; - } - case 132: - break; - case 47: { - start = zzMarkedPos - 2; - yybegin(JS_MLC); - } - case 133: - break; - case 45: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 134: - break; - case 82: { - addToken(Token.MARKUP_CDATA_DELIMITER); - start = zzMarkedPos; - yybegin(E4X_CDATA); - } - case 135: - break; - case 32: { - addToken(Token.MARKUP_TAG_DELIMITER); /* - * Not valid but - * we'll still - * accept it - */ - } - case 136: - break; - case 2: { - addToken(Token.ERROR_IDENTIFIER); - } - case 137: - break; - case 79: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); - start = zzMarkedPos; - } - case 138: - break; - case 33: { - yybegin(E4X); - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 139: - break; - case 23: { - addToken(Token.MARKUP_ENTITY_REFERENCE); - } - case 140: - break; - case 65: { - if (isJavaScriptCompatible("1.7")) { - addToken(Token.RESERVED_WORD); - } else { - addToken(Token.IDENTIFIER); - } - } - case 141: - break; - case 71: { - addToken(Token.LITERAL_BOOLEAN); - } - case 142: - break; - case 42: { - if (!varDepths.empty()) { - varDepths.pop(); - if (varDepths.empty()) { - addToken(start, zzStartRead, Token.VARIABLE); - start = zzMarkedPos; - yybegin(JS_TEMPLATE_LITERAL); - } - } - } - case 143: - break; - case 4: { - addNullToken(); - return firstToken; - } - case 144: - break; - case 50: { + return firstToken; + } + case 96: + break; + case 39: { /* + * Skip valid '$' that is not part of template literal expression start + */ + } + case 97: + break; + case 11: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_TEMPLATE_LITERAL); + } + case 98: + break; + case 51: { /* Skip all escaped chars. */ + } + case 99: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 100: + break; + case 78: { + start = zzStartRead; + e4x_prevState = zzLexicalState; + yybegin(E4X_COMMENT); + } + case 101: + break; + case 69: { + int temp = zzStartRead; + yybegin(E4X); + addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); + addToken(temp, zzMarkedPos - 1, Token.MARKUP_CDATA_DELIMITER); + } + case 102: + break; + case 62: { + varDepths.push(Boolean.TRUE); + } + case 103: + break; + case 67: { + int count = yylength(); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - (count - 2), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + yybegin(E4X_INTAG); + } + case 104: + break; + case 53: { + /* Invalid latin-1 character \xXX */ validJSString = false; + } + case 105: + break; + case 70: { + addToken(Token.COMMENT_MULTILINE); + } + case 106: + break; + case 59: { + start = zzMarkedPos - 2; + yybegin(E4X_PI); + } + case 107: + break; + case 36: { + yybegin(E4X_INTAG); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 108: + break; + case 14: { + int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; + addToken(start, zzStartRead, type); + yybegin(YYINITIAL); + } + case 109: + break; + case 20: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 110: + break; + case 24: { + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + addToken(Token.IDENTIFIER); + } + case 111: + break; + case 52: { + /* Invalid Unicode character \\uXXXX */ validJSString = false; + } + case 112: + break; + case 80: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + start = temp; + e4x_prevState = zzLexicalState; + yybegin(E4X_COMMENT); + } + case 113: + break; + case 72: { + if (e4xSupported) { addToken(Token.RESERVED_WORD); + } else { + addToken(Token.IDENTIFIER); } - case 145: - break; - case 54: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 114: + break; + case 68: { + int temp = zzMarkedPos; + addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); + start = temp; + yybegin(e4x_prevState); + } + case 115: + break; + case 7: { + addToken(Token.OPERATOR); + } + case 116: + break; + case 60: { + yybegin(E4X); + addToken(start, zzStartRead + 1, Token.MARKUP_PROCESSING_INSTRUCTION); + } + case 117: + break; + case 55: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); + } + case 118: + break; + case 19: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); + return firstToken; + } + case 119: + break; + case 26: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + addEndToken(INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 120: + break; + case 5: { + addToken(Token.IDENTIFIER); + } + case 121: + break; + case 74: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 122: + break; + case 49: { + addToken(isE4xSupported() ? Token.MARKUP_TAG_ATTRIBUTE : Token.ERROR_IDENTIFIER); + } + case 123: + break; + case 77: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 124: + break; + case 64: { + start = zzMarkedPos - 3; + yybegin(JS_DOCCOMMENT); + } + case 125: + break; + case 9: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_STRING); + } + case 126: + break; + case 58: { + start = zzMarkedPos - 2; + e4x_inInternalDtd = false; + yybegin(E4X_DTD); + } + case 127: + break; + case 38: { + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } - case 146: - break; - case 66: { - addToken(Token.DATA_TYPE); + return firstToken; + } + case 128: + break; + case 25: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addEndToken(INTERNAL_IN_E4X_COMMENT - e4x_prevState); + return firstToken; + } + case 129: + break; + case 10: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_CHAR); + } + case 130: + break; + case 29: { + e4x_inInternalDtd = true; + } + case 131: + break; + case 76: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); + start = zzMarkedPos; + } + case 132: + break; + case 47: { + start = zzMarkedPos - 2; + yybegin(JS_MLC); + } + case 133: + break; + case 45: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 134: + break; + case 82: { + addToken(Token.MARKUP_CDATA_DELIMITER); + start = zzMarkedPos; + yybegin(E4X_CDATA); + } + case 135: + break; + case 32: { + addToken(Token.MARKUP_TAG_DELIMITER); /* + * Not valid but we'll still accept it + */ + } + case 136: + break; + case 2: { + addToken(Token.ERROR_IDENTIFIER); + } + case 137: + break; + case 79: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); + start = zzMarkedPos; + } + case 138: + break; + case 33: { + yybegin(E4X); + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 139: + break; + case 23: { + addToken(Token.MARKUP_ENTITY_REFERENCE); + } + case 140: + break; + case 65: { + if (isJavaScriptCompatible("1.7")) { + addToken(Token.RESERVED_WORD); + } else { + addToken(Token.IDENTIFIER); } - case 147: - break; - case 22: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(E4X_INTAG); - } - case 148: - break; - case 8: { - addToken(Token.SEPARATOR); - } - case 149: - break; - case 31: { - addToken(Token.MARKUP_TAG_ATTRIBUTE); - } - case 150: - break; - case 75: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_KEYWORD); - start = zzMarkedPos; - } - case 151: - break; - case 17: { - int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; - addToken(start, zzStartRead, type); - yybegin(YYINITIAL); - } - case 152: - break; - case 46: { - start = zzMarkedPos - 2; - yybegin(JS_EOL_COMMENT); - } - case 153: - break; - case 21: { - addEndToken(INTERNAL_E4X); - return firstToken; - } - case 154: - break; - case 13: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_IN_JS_STRING_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_STRING_INVALID); + } + case 141: + break; + case 71: { + addToken(Token.LITERAL_BOOLEAN); + } + case 142: + break; + case 42: { + if (!varDepths.empty()) { + varDepths.pop(); + if (varDepths.empty()) { + addToken(start, zzStartRead, Token.VARIABLE); + start = zzMarkedPos; + yybegin(JS_TEMPLATE_LITERAL); } - return firstToken; } - case 155: - break; - case 44: { - addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 143: + break; + case 4: { + addNullToken(); + return firstToken; + } + case 144: + break; + case 50: { + addToken(Token.RESERVED_WORD); + } + case 145: + break; + case 54: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 146: + break; + case 66: { + addToken(Token.DATA_TYPE); + } + case 147: + break; + case 22: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(E4X_INTAG); + } + case 148: + break; + case 8: { + addToken(Token.SEPARATOR); + } + case 149: + break; + case 31: { + addToken(Token.MARKUP_TAG_ATTRIBUTE); + } + case 150: + break; + case 75: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_KEYWORD); + start = zzMarkedPos; + } + case 151: + break; + case 17: { + int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; + addToken(start, zzStartRead, type); + yybegin(YYINITIAL); + } + case 152: + break; + case 46: { + start = zzMarkedPos - 2; + yybegin(JS_EOL_COMMENT); + } + case 153: + break; + case 21: { + addEndToken(INTERNAL_E4X); + return firstToken; + } + case 154: + break; + case 13: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_IN_JS_STRING_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_STRING_INVALID); } - case 156: - break; - case 57: { - int count = yylength(); - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - (count - 1), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - yybegin(E4X_INTAG); - } - case 157: - break; - case 63: { - boolean highlightedAsRegex = false; - if (firstToken == null) { + return firstToken; + } + case 155: + break; + case 44: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 156: + break; + case 57: { + int count = yylength(); + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - (count - 1), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + yybegin(E4X_INTAG); + } + case 157: + break; + case 63: { + boolean highlightedAsRegex = false; + if (firstToken == null) { + addToken(Token.REGEX); + highlightedAsRegex = true; + } else { + // If this is *likely* to be a regex, based on + // the previous token, highlight it as such. + Token t = firstToken.getLastNonCommentNonWhitespaceToken(); + if (RSyntaxUtilities.regexCanFollowInJavaScript(t)) { addToken(Token.REGEX); highlightedAsRegex = true; - } else { - // If this is *likely* to be a regex, based on - // the previous token, highlight it as such. - Token t = firstToken.getLastNonCommentNonWhitespaceToken(); - if (RSyntaxUtilities.regexCanFollowInJavaScript(t)) { - addToken(Token.REGEX); - highlightedAsRegex = true; + } + } + // If it doesn't *appear* to be a regex, highlight it as + // individual tokens. + if (!highlightedAsRegex) { + int temp = zzStartRead + 1; + addToken(zzStartRead, zzStartRead, Token.OPERATOR); + zzStartRead = zzCurrentPos = zzMarkedPos = temp; + } + } + case 158: + break; + case 28: { + if (!e4x_inInternalDtd) { + yybegin(E4X); + addToken(start, zzStartRead, Token.MARKUP_DTD); + } + } + case 159: + break; + case 6: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 160: + break; + case 30: { + e4x_inInternalDtd = false; + } + case 161: + break; + case 15: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 162: + break; + case 41: { // TODO: This isn't right. The expression and its + // depth should continue to the next line. + addToken(start, zzStartRead - 1, Token.VARIABLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + return firstToken; + } + case 163: + break; + case 1: { + } + case 164: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case JS_STRING: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 635: + break; + case E4X: { + addEndToken(INTERNAL_E4X); + return firstToken; + } + case 636: + break; + case E4X_INTAG: { + addToken(start, zzStartRead - 1, INTERNAL_E4X_INTAG); + return firstToken; + } + case 637: + break; + case E4X_PI: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + addEndToken(INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 638: + break; + case JS_MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 639: + break; + case JS_CHAR: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 640: + break; + case JS_EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 641: + break; + case E4X_COMMENT: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addEndToken(INTERNAL_IN_E4X_COMMENT - e4x_prevState); + return firstToken; + } + case 642: + break; + case JS_DOCCOMMENT: { + yybegin(YYINITIAL); + addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); + addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); + return firstToken; + } + case 643: + break; + case E4X_DTD: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + addEndToken(e4x_inInternalDtd ? INTERNAL_E4X_DTD_INTERNAL : INTERNAL_E4X_DTD); + return firstToken; + } + case 644: + break; + case JS_TEMPLATE_LITERAL: { + if (validJSString) { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } + return firstToken; } - // If it doesn't *appear* to be a regex, highlight it as - // individual tokens. - if (!highlightedAsRegex) { - int temp = zzStartRead + 1; - addToken(zzStartRead, zzStartRead, Token.OPERATOR); - zzStartRead = zzCurrentPos = zzMarkedPos = temp; + case 645: + break; + case E4X_INATTR_SINGLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_E4X_ATTR_SINGLE); + return firstToken; } - } - case 158: - break; - case 28: { - if (!e4x_inInternalDtd) { - yybegin(E4X); - addToken(start, zzStartRead, Token.MARKUP_DTD); + case 646: + break; + case E4X_INATTR_DOUBLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_E4X_ATTR_DOUBLE); + return firstToken; } - } - case 159: - break; - case 6: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 160: - break; - case 30: { - e4x_inInternalDtd = false; - } - case 161: - break; - case 15: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 162: - break; - case 41: { // TODO: This isn't right. The expression and its - // depth should continue to the next line. - addToken(start, zzStartRead - 1, Token.VARIABLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - return firstToken; - } - case 163: - break; - case 1: {} - case 164: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case JS_STRING: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 635: - break; - case E4X: { - addEndToken(INTERNAL_E4X); - return firstToken; - } - case 636: - break; - case E4X_INTAG: { - addToken(start, zzStartRead - 1, INTERNAL_E4X_INTAG); - return firstToken; - } - case 637: - break; - case E4X_PI: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - addEndToken(INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 638: - break; - case JS_MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 639: - break; - case JS_CHAR: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 640: - break; - case JS_EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 641: - break; - case E4X_COMMENT: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addEndToken(INTERNAL_IN_E4X_COMMENT - e4x_prevState); - return firstToken; - } - case 642: - break; - case JS_DOCCOMMENT: { - yybegin(YYINITIAL); - addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); - addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); - return firstToken; - } - case 643: - break; - case E4X_DTD: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - addEndToken(e4x_inInternalDtd ? INTERNAL_E4X_DTD_INTERNAL : INTERNAL_E4X_DTD); - return firstToken; - } - case 644: - break; - case JS_TEMPLATE_LITERAL: { - if (validJSString) { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 645: - break; - case E4X_INATTR_SINGLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_E4X_ATTR_SINGLE); - return firstToken; - } - case 646: - break; - case E4X_INATTR_DOUBLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_E4X_ATTR_DOUBLE); - return firstToken; - } - case 647: - break; - case JS_TEMPLATE_LITERAL_EXPR: { - // TODO: This isn't right. The expression and - // its depth should continue to the next line. - addToken(start, zzStartRead - 1, Token.VARIABLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - return firstToken; - } - case 648: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 649: - break; - case E4X_CDATA: { - addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); - addEndToken(INTERNAL_E4X_MARKUP_CDATA); - return firstToken; - } - case 650: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 647: + break; + case JS_TEMPLATE_LITERAL_EXPR: { + // TODO: This isn't right. The expression and + // its depth should continue to the next line. + addToken(start, zzStartRead - 1, Token.VARIABLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + return firstToken; } + case 648: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 649: + break; + case E4X_CDATA: { + addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); + addEndToken(INTERNAL_E4X_MARKUP_CDATA); + return firstToken; + } + case 650: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/JavaTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/JavaTokenMaker.java index 9da0521..8158e3d 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/JavaTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/JavaTokenMaker.java @@ -57,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -70,9 +70,11 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\23\1\11\1\0\1\23\1\20\22\0\1\23\1\53\1\16" + "\1\21\1\22\1\53\1\55\1\10\2\77\1\25\1\46\1\45\1\34" + "\1\35\1\24\1\4\1\5\2\17\1\122\1\7\1\121\1\7\2\3" - + "\1\56\1\45\1\47\1\50\1\52\1\54\1\76\1\101\1\27\1\6" + "\1\67\1\33\1\32\1\116\1\107\1\104\1\124\1\1\1\26\1\111" - + "\1\112\1\113\1\115\1\120\1\74\1\102\1\105\1\106\1\110\1\117" + "\1\31\1\1\1\123\1\77\1\12\1\77\1\51\1\2\1\0\1\41" - + "\1\30\1\63\1\61\1\40\1\15\1\72\1\57\1\65\1\114\1\75" + "\1\42\1\66\1\14\1\60\1\62\1\103\1\37\1\43\1\36\1\13" + + "\1\56\1\45\1\47\1\50\1\52\1\54\1\76\1\101\1\27\1\6" + + "\1\67\1\33\1\32\1\116\1\107\1\104\1\124\1\1\1\26\1\111" + + "\1\112\1\113\1\115\1\120\1\74\1\102\1\105\1\106\1\110\1\117" + + "\1\31\1\1\1\123\1\77\1\12\1\77\1\51\1\2\1\0\1\41" + "\1\30\1\63\1\61\1\40\1\15\1\72\1\57\1\65\1\114\1\75" + + "\1\42\1\66\1\14\1\60\1\62\1\103\1\37\1\43\1\36\1\13" + "\1\71\1\70\1\64\1\73\1\100\1\125\1\51\1\44\1\54\uff81\0"; /** * Translates characters to character classes @@ -82,31 +84,38 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\4\0\1\1\1\2\2\3\1\2\1\4\1\5\2\2" + "\1\6\1\1\1\7\2\10\5\2\1\10\7\2\1\11" - + "\1\2\5\10\11\2\1\12\16\2\1\13\1\14\5\13" + "\1\15\10\13\1\16\3\13\1\1\2\17\1\20\1\3" - + "\1\17\1\20\2\17\1\21\2\17\5\2\1\4\1\22" + "\1\0\1\4\7\2\2\6\1\23\1\24\1\25\41\2" + "\1\0\1\10\1\2\1\26\10\2\1\26\14\2\1\12" - + "\57\2\2\0\1\27\4\0\1\30\2\0\1\31\22\0" + "\1\1\1\3\1\20\1\0\2\21\1\3\1\21\10\2" + "\1\4\1\32\2\4\1\22\1\4\5\2\1\6\1\33" - + "\1\6\1\34\62\2\1\35\17\2\1\1\10\2\1\36" + "\45\2\1\36\24\2\37\0\1\1\2\17\12\2\1\4" + "\3\2\1\6\1\37\1\36\3\2\1\36\5\2\1\36" - + "\2\2\1\35\4\2\2\36\6\2\1\40\37\2\1\1" + "\56\2\1\0\31\2\2\0\1\41\2\0\1\42\10\0" + "\1\43\17\0\1\44\1\1\2\2\1\36\11\2\1\4" - + "\1\26\1\6\37\2\1\26\27\2\1\1\11\2\1\36" + "\31\2\1\36\11\2\1\0\31\2\35\0\1\1\15\2" + "\1\4\1\2\1\6\1\36\5\2\1\36\27\2\1\45" - + "\16\2\1\36\1\1\11\2\1\36\30\2\1\36\13\2" + "\1\0\2\2\1\36\10\2\1\36\12\2\22\0\15\2" + "\1\0\4\2\1\0\34\2\1\36\2\2\1\1\43\2" - + "\1\0\14\2\1\0\23\2\1\36\6\2\2\0\1\43" + "\6\0\1\36\12\2\4\0\4\2\2\0\75\2\2\0" + "\11\2\1\0\20\2\1\36\12\2\12\0\4\2\1\36" - + "\4\2\4\0\3\2\1\0\3\2\1\36\10\2\1\36" + "\6\2\1\36\45\2\2\0\10\2\1\36\30\2\5\0" + "\4\2\1\0\2\2\1\36\4\0\1\2\1\0\3\2" - + "\1\0\53\2\2\0\33\2\5\0\3\2\2\0\1\2" + "\4\0\3\2\1\0\1\36\11\2\1\36\10\2\1\36" + "\5\2\1\36\12\2\2\0\15\2\1\36\6\2\2\0" - + "\2\2\2\0\1\2\4\0\3\2\1\0\5\2\1\36" + "\3\2\1\0\1\2\1\36\2\2\1\36\2\2\1\0" + "\1\36\15\2\1\0\14\2\1\36\3\2\1\36\5\2" - + "\2\0\1\2\3\0\2\2\1\0\2\2\1\36\6\2" + "\1\0\2\2\2\0\12\2\1\0\23\2\2\0\1\2" + "\2\0\2\2\1\0\4\2\1\36\1\2\1\0\2\2" - + "\2\0\12\2\1\0\15\2\1\36\2\2\2\0\1\2" + "\2\0\2\2\1\0\3\2\1\0\1\2\1\0\1\2" + "\5\0\11\2\1\0\12\2\1\0\2\2\1\0\1\2" - + "\2\0\1\2\1\0\2\2\1\0\1\2\5\0\10\2" + "\1\0\6\2\1\0\1\2\3\0\1\2\1\0\1\2" + "\1\0\1\2\5\0\5\2\1\0\3\2\1\36\1\2" - + "\1\0\1\36\4\0\1\2\1\0\1\2\1\0\1\2" + "\4\0\3\2\1\0\3\2\1\0\1\36\4\0\1\2" + "\1\0\1\2\4\0\2\2\1\0\2\2\6\0\1\2" - + "\1\0\1\2\4\0\1\2\7\0\1\2\1\0\1\2" + "\30\0\1\36\37\0"; - + private static final String ZZ_ACTION_PACKED_0 = "\4\0\1\1\1\2\2\3\1\2\1\4\1\5\2\2" + + "\1\6\1\1\1\7\2\10\5\2\1\10\7\2\1\11" + "\1\2\5\10\11\2\1\12\16\2\1\13\1\14\5\13" + + "\1\15\10\13\1\16\3\13\1\1\2\17\1\20\1\3" + "\1\17\1\20\2\17\1\21\2\17\5\2\1\4\1\22" + + "\1\0\1\4\7\2\2\6\1\23\1\24\1\25\41\2" + "\1\0\1\10\1\2\1\26\10\2\1\26\14\2\1\12" + + "\57\2\2\0\1\27\4\0\1\30\2\0\1\31\22\0" + "\1\1\1\3\1\20\1\0\2\21\1\3\1\21\10\2" + + "\1\4\1\32\2\4\1\22\1\4\5\2\1\6\1\33" + "\1\6\1\34\62\2\1\35\17\2\1\1\10\2\1\36" + + "\45\2\1\36\24\2\37\0\1\1\2\17\12\2\1\4" + "\3\2\1\6\1\37\1\36\3\2\1\36\5\2\1\36" + + "\2\2\1\35\4\2\2\36\6\2\1\40\37\2\1\1" + "\56\2\1\0\31\2\2\0\1\41\2\0\1\42\10\0" + + "\1\43\17\0\1\44\1\1\2\2\1\36\11\2\1\4" + "\1\26\1\6\37\2\1\26\27\2\1\1\11\2\1\36" + + "\31\2\1\36\11\2\1\0\31\2\35\0\1\1\15\2" + "\1\4\1\2\1\6\1\36\5\2\1\36\27\2\1\45" + + "\16\2\1\36\1\1\11\2\1\36\30\2\1\36\13\2" + "\1\0\2\2\1\36\10\2\1\36\12\2\22\0\15\2" + + "\1\0\4\2\1\0\34\2\1\36\2\2\1\1\43\2" + "\1\0\14\2\1\0\23\2\1\36\6\2\2\0\1\43" + + "\6\0\1\36\12\2\4\0\4\2\2\0\75\2\2\0" + "\11\2\1\0\20\2\1\36\12\2\12\0\4\2\1\36" + + "\4\2\4\0\3\2\1\0\3\2\1\36\10\2\1\36" + "\6\2\1\36\45\2\2\0\10\2\1\36\30\2\5\0" + + "\4\2\1\0\2\2\1\36\4\0\1\2\1\0\3\2" + "\1\0\53\2\2\0\33\2\5\0\3\2\2\0\1\2" + + "\4\0\3\2\1\0\1\36\11\2\1\36\10\2\1\36" + "\5\2\1\36\12\2\2\0\15\2\1\36\6\2\2\0" + + "\2\2\2\0\1\2\4\0\3\2\1\0\5\2\1\36" + "\3\2\1\0\1\2\1\36\2\2\1\36\2\2\1\0" + + "\1\36\15\2\1\0\14\2\1\36\3\2\1\36\5\2" + "\2\0\1\2\3\0\2\2\1\0\2\2\1\36\6\2" + + "\1\0\2\2\2\0\12\2\1\0\23\2\2\0\1\2" + "\2\0\2\2\1\0\4\2\1\36\1\2\1\0\2\2" + + "\2\0\12\2\1\0\15\2\1\36\2\2\2\0\1\2" + "\2\0\2\2\1\0\3\2\1\0\1\2\1\0\1\2" + + "\5\0\11\2\1\0\12\2\1\0\2\2\1\0\1\2" + "\2\0\1\2\1\0\2\2\1\0\1\2\5\0\10\2" + + "\1\0\6\2\1\0\1\2\3\0\1\2\1\0\1\2" + "\1\0\1\2\5\0\5\2\1\0\3\2\1\36\1\2" + + "\1\0\1\36\4\0\1\2\1\0\1\2\1\0\1\2" + "\4\0\3\2\1\0\3\2\1\0\1\36\4\0\1\2" + + "\1\0\1\2\4\0\2\2\1\0\2\2\6\0\1\2" + "\1\0\1\2\4\0\1\2\7\0\1\2\1\0\1\2" + "\30\0\1\36\37\0"; + private static int[] zzUnpackAction() { int[] result = new int[1885]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -120,7 +129,7 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -359,15 +368,16 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { + "\2\u6062\2\u60b8\2\u610e\2\u6164\2\u61ba\2\u6210\2\u6266\2\u62bc" + "\2\u6312\2\u6368\2\u63be\2\u6414\2\u646a\2\u64c0\2\u6516\2\u656c" + "\2\u65c2\2\u6618\2\u666e\2\u66c4\2\u671a\2\u6770\2\u67c6\2\u681c" - + "\2\u6872\2\u68c8\2\u691e\2\u6974\2\u69ca\2\u6a20\2\u6a76\2\u6acc" + "\2\u6b22\2\u6b78\2\u6bce\2\u6c24\2\u6c7a"; - + + "\2\u6872\2\u68c8\2\u691e\2\u6974\2\u69ca\2\u6a20\2\u6a76\2\u6acc" + + "\2\u6b22\2\u6b78\2\u6bce\2\u6c24\2\u6c7a"; + private static int[] zzUnpackRowMap() { int[] result = new int[1885]; 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 */ @@ -378,67 +388,88 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\5\2\6\1\7\1\10\1\7\1\11\1\7\1\12" + "\1\13\1\5\1\6\1\14\1\15\1\16\1\7\1\17" - + "\1\5\1\6\1\20\1\21\1\22\1\23\1\24\1\25" + "\1\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\1\43\2\22" + "\1\44\1\22\1\45\1\46\1\45\2\6\1\47\1\50" - + "\1\51\1\6\1\52\1\6\1\53\1\54\1\55\1\56" + "\1\6\1\57\1\6\1\60\1\40\1\6\1\61\1\62" + "\1\6\1\63\1\64\1\65\1\66\1\67\1\70\1\71" + private static final String ZZ_TRANS_PACKED_0 = "\1\5\2\6\1\7\1\10\1\7\1\11\1\7\1\12" + + "\1\13\1\5\1\6\1\14\1\15\1\16\1\7\1\17" + "\1\5\1\6\1\20\1\21\1\22\1\23\1\24\1\25" + + "\1\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\1\43\2\22" + + "\1\44\1\22\1\45\1\46\1\45\2\6\1\47\1\50" + "\1\51\1\6\1\52\1\6\1\53\1\54\1\55\1\56" + + "\1\6\1\57\1\6\1\60\1\40\1\6\1\61\1\62" + "\1\6\1\63\1\64\1\65\1\66\1\67\1\70\1\71" + "\1\72\1\6\1\73\1\74\1\75\1\76\2\7\2\6" + "\1\40\11\77\1\100\3\77\1\101\7\77\1\102\31\77" + "\1\103\10\77\1\104\35\77\11\105\1\106\3\105\1\107" + "\7\105\1\110\21\105\1\111\7\105\1\112\10\105\1\113" + "\5\105\1\114\26\105\1\115\11\116\1\117\3\116\1\120" + "\41\116\1\121\10\116\1\122\35\116\10\5\2\0\4\5" - + "\1\0\1\5\1\0\2\5\3\0\6\5\2\0\6\5" + "\13\0\20\5\1\0\25\5\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\2\124\1\125\3\7\1\124\1\7\2\0\3\124" - + "\1\126\1\0\1\7\1\0\2\124\3\0\1\127\3\124" + "\1\126\1\130\1\0\1\131\2\124\1\130\1\124\1\127" - + "\1\124\13\0\2\124\1\126\5\124\1\126\7\124\1\0" + "\21\124\2\7\2\124\1\0\2\124\1\132\1\133\2\134" - + "\1\124\1\134\2\0\3\124\1\126\1\0\1\134\1\0" + "\2\124\3\0\1\127\2\135\1\136\1\126\1\130\1\0" - + "\1\131\2\124\1\130\1\124\1\127\1\124\13\0\2\124" + "\1\126\2\124\1\136\2\124\1\126\7\124\1\0\21\124" - + "\2\134\2\124\1\0\1\5\7\6\2\0\1\123\1\137" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\140\1\141\1\6\13\0\1\142\1\143" + + "\1\0\1\5\1\0\2\5\3\0\6\5\2\0\6\5" + "\13\0\20\5\1\0\25\5\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\2\124\1\125\3\7\1\124\1\7\2\0\3\124" + "\1\126\1\0\1\7\1\0\2\124\3\0\1\127\3\124" + + "\1\126\1\130\1\0\1\131\2\124\1\130\1\124\1\127" + "\1\124\13\0\2\124\1\126\5\124\1\126\7\124\1\0" + + "\21\124\2\7\2\124\1\0\2\124\1\132\1\133\2\134" + "\1\124\1\134\2\0\3\124\1\126\1\0\1\134\1\0" + + "\2\124\3\0\1\127\2\135\1\136\1\126\1\130\1\0" + "\1\131\2\124\1\130\1\124\1\127\1\124\13\0\2\124" + + "\1\126\2\124\1\136\2\124\1\126\7\124\1\0\21\124" + "\2\134\2\124\1\0\1\5\7\6\2\0\1\123\1\137" + + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\140\1\141\1\6\13\0\1\142\1\143" + "\15\6\1\5\1\0\25\6\1\0\10\144\1\145\1\146" + "\1\147\113\144\126\0\1\5\7\6\2\0\1\123\1\150" - + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\151\1\152\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\153\1\154\1\6\13\0\1\6\1\155\4\6" + "\1\156\10\6\1\5\1\0\25\6\1\0\11\16\1\157" + + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\151\1\152\2\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\153\1\154\1\6\13\0\1\6\1\155\4\6" + "\1\156\10\6\1\5\1\0\25\6\1\0\11\16\1\157" + "\1\160\3\16\1\161\107\16\23\0\1\20\126\0\1\162" + "\1\163\22\0\1\45\125\0\1\45\55\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\164\4\6" + "\1\165\10\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\1\166\2\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\167\2\6\13\0" + "\1\6\1\170\4\6\1\171\5\6\1\172\2\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\173\4\6\13\0\1\6\1\174\12\6\1\175" - + "\2\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\176\1\6\13\0\1\6\1\177" - + "\4\6\1\200\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\201\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\202" - + "\4\6\13\0\5\6\1\203\1\6\1\204\2\6\1\205" + "\4\6\1\5\1\0\13\6\1\206\11\6\35\0\1\45" - + "\13\0\1\45\60\0\3\131\1\0\1\131\7\0\1\131" + "\101\0\2\131\3\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\6\1\207\4\6\13\0\1\210\16\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" - + "\1\211\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\212\1\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" - + "\1\213\1\6\13\0\5\6\1\214\11\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\2\6\1\215\3\6" - + "\2\0\5\6\1\216\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\1\6\1\217\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\220\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\221\5\6\13\0" - + "\1\222\10\6\1\223\2\6\1\224\2\6\1\5\1\0" + "\25\6\47\0\1\45\1\0\1\45\124\0\1\225\1\45" - + "\125\0\1\45\1\0\1\226\123\0\1\45\4\0\1\45" + "\50\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\227" - + "\3\6\13\0\1\6\1\230\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\231\2\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" - + "\1\232\1\6\1\233\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" - + "\1\234\1\235\1\6\13\0\1\236\1\237\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\240\1\241\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\7\6\1\242\7\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\243" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\2\6\1\244\1\245\2\6\13\0\1\6\1\246" + "\4\6\1\247\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\1\250\16\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\1\6\1\251\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\1\6\1\252\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\253\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\254" - + "\1\255\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\2\256\3\5\1\256\1\5\2\0\1\5\3\256" + "\1\0\1\5\1\0\1\5\1\256\3\0\6\256\2\0" - + "\6\256\13\0\17\256\1\5\1\0\21\256\2\5\2\256" + "\1\0\1\5\7\6\2\0\1\123\1\257\2\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\2\6\1\260\3\6" - + "\2\0\1\6\1\261\3\6\1\262\13\0\3\6\1\263" + "\13\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\264\1\6\1\265\3\6\13\0\1\266" + "\1\267\1\6\1\270\1\271\1\6\1\272\5\6\1\273" + "\2\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\1\6\1\274\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\275\3\6\1\276\1\6" + "\13\0\2\6\1\277\14\6\1\5\1\0\13\6\1\300" - + "\11\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\301\4\6\13\0\1\302\1\303\4\6\1\304\5\6" - + "\1\305\2\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\6\1\306\1\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\5\6\1\307\1\310\16\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\311\2\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\312\3\6\13\0\1\6\1\313" - + "\4\6\1\314\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\315\2\6\13\0" - + "\6\6\1\316\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\317\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\320\1\321" - + "\2\6\13\0\1\6\1\322\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\323\2\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\2\6\1\324\3\6" - + "\2\0\6\6\13\0\3\6\1\325\13\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\326\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\6\1\327\1\6\1\330\2\6\13\0\6\6\1\331" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\6\1\332\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\6\1\333\1\334\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\335\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\164\4\6" + + "\1\165\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\166\2\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\167\2\6\13\0" + "\1\6\1\170\4\6\1\171\5\6\1\172\2\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\6\1\173\4\6\13\0\1\6\1\174\12\6\1\175" + "\2\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\176\1\6\13\0\1\6\1\177" + + "\4\6\1\200\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\201\1\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\202" + "\4\6\13\0\5\6\1\203\1\6\1\204\2\6\1\205" + + "\4\6\1\5\1\0\13\6\1\206\11\6\35\0\1\45" + "\13\0\1\45\60\0\3\131\1\0\1\131\7\0\1\131" + + "\101\0\2\131\3\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\6\1\207\4\6\13\0\1\210\16\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\211\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\1\6\1\212\1\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + + "\1\213\1\6\13\0\5\6\1\214\11\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\2\6\1\215\3\6" + "\2\0\5\6\1\216\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\1\6\1\217\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\220\2\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\221\5\6\13\0" + "\1\222\10\6\1\223\2\6\1\224\2\6\1\5\1\0" + + "\25\6\47\0\1\45\1\0\1\45\124\0\1\225\1\45" + "\125\0\1\45\1\0\1\226\123\0\1\45\4\0\1\45" + + "\50\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\227" + + "\3\6\13\0\1\6\1\230\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\231\2\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\232\1\6\1\233\2\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + + "\1\234\1\235\1\6\13\0\1\236\1\237\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + + "\1\240\1\241\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\7\6\1\242\7\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\243" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\244\1\245\2\6\13\0\1\6\1\246" + "\4\6\1\247\10\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\250\16\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\1\6\1\251\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\6\1\252\15\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\1\253\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\254" + + "\1\255\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\2\256\3\5\1\256\1\5\2\0\1\5\3\256" + + "\1\0\1\5\1\0\1\5\1\256\3\0\6\256\2\0" + "\6\256\13\0\17\256\1\5\1\0\21\256\2\5\2\256" + + "\1\0\1\5\7\6\2\0\1\123\1\257\2\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\2\6\1\260\3\6" + + "\2\0\1\6\1\261\3\6\1\262\13\0\3\6\1\263" + "\13\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\264\1\6\1\265\3\6\13\0\1\266" + + "\1\267\1\6\1\270\1\271\1\6\1\272\5\6\1\273" + "\2\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\6\1\274\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\275\3\6\1\276\1\6" + + "\13\0\2\6\1\277\14\6\1\5\1\0\13\6\1\300" + "\11\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\301\4\6\13\0\1\302\1\303\4\6\1\304\5\6" + + "\1\305\2\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\6\1\306\1\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\5\6\1\307\1\310\16\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\311\2\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\2\6\1\312\3\6\13\0\1\6\1\313" + "\4\6\1\314\10\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\315\2\6\13\0" + + "\6\6\1\316\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\317\2\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\2\6\1\320\1\321" + "\2\6\13\0\1\6\1\322\15\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\1\323\2\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\2\6\1\324\3\6" + + "\2\0\6\6\13\0\3\6\1\325\13\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\326\2\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\327\1\6\1\330\2\6\13\0\6\6\1\331" + + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\332\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\333\1\334\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\335\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\11\77" + "\1\0\3\77\1\0\7\77\1\0\31\77\1\0\10\77" + "\1\0\35\77\36\0\1\336\26\0\1\337\64\0\1\340" + "\137\0\1\341\157\0\1\342\35\0\11\105\1\0\3\105" + "\1\0\7\105\1\0\21\105\1\0\7\105\1\0\10\105" + "\1\0\5\105\1\0\26\105\37\0\1\343\26\0\1\344" @@ -446,137 +477,193 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { + "\4\0\17\346\2\0\21\346\2\0\2\346\37\0\1\351" + "\157\0\1\352\73\0\1\353\1\354\1\355\1\356\1\0" + "\1\357\14\0\1\360\1\361\1\362\1\363\1\0\1\364" + "\3\0\1\365\132\0\1\366\27\0\11\116\1\0\3\116" + "\1\0\41\116\1\0\10\116\1\0\35\116\36\0\1\367" + "\26\0\1\370\76\0\1\371\157\0\1\372\35\0\10\5" - + "\2\0\1\5\1\373\2\5\1\0\1\5\1\0\2\5" + "\3\0\6\5\2\0\6\5\13\0\20\5\1\0\25\5" + "\1\0\10\124\2\0\4\124\1\0\1\124\1\0\2\124" - + "\3\0\6\124\2\0\6\124\13\0\20\124\1\0\25\124" + "\1\0\2\124\1\125\3\374\1\124\1\374\2\0\4\124" - + "\1\0\1\374\1\0\2\124\3\0\6\124\2\0\6\124" + "\13\0\20\124\1\0\21\124\2\374\2\124\1\0\3\124" - + "\3\375\1\124\1\375\2\0\4\124\1\0\1\375\1\0" + "\2\124\3\0\6\124\1\376\1\0\6\124\2\0\1\376" - + "\10\0\20\124\1\0\21\124\2\375\2\124\1\0\3\124" + "\3\131\1\124\1\131\2\0\3\124\1\126\1\0\1\131" - + "\1\0\2\124\3\0\4\124\1\126\1\130\2\0\2\124" + "\1\130\3\124\13\0\2\124\1\126\5\124\1\126\7\124" - + "\1\0\21\124\2\131\2\124\1\0\2\124\1\132\1\124" + "\2\377\1\124\1\377\2\0\4\124\1\0\1\377\1\0" - + "\2\124\3\0\6\124\2\0\6\124\13\0\20\124\1\0" + "\21\124\2\377\2\124\1\0\3\124\3\133\1\124\1\133" - + "\2\0\3\124\1\126\1\0\1\133\1\0\2\124\3\0" + "\4\124\1\126\1\130\1\0\1\131\2\124\1\130\3\124" - + "\13\0\2\124\1\126\5\124\1\126\7\124\1\0\21\124" + "\2\133\2\124\1\0\2\124\1\132\1\133\2\134\1\124" - + "\1\134\2\0\3\124\1\126\1\0\1\134\1\0\2\124" + "\3\0\1\u0100\3\124\1\126\1\130\1\0\1\131\2\124" - + "\1\130\1\124\1\u0100\1\124\13\0\2\124\1\126\5\124" + "\1\126\7\124\1\0\21\124\2\134\2\124\1\0\4\124" - + "\2\u0101\2\124\2\0\4\124\1\0\1\124\1\0\2\124" + "\3\0\6\124\2\0\6\124\13\0\20\124\1\0\25\124" - + "\1\0\3\124\5\u0102\2\0\3\124\1\u0102\1\0\1\u0102" + "\1\0\2\124\3\0\1\124\2\u0102\1\124\2\u0102\2\0" - + "\2\124\2\u0102\2\124\13\0\2\124\1\u0102\1\124\1\u0102" + "\3\124\1\u0102\7\124\1\0\1\124\1\u0102\17\124\2\u0102" - + "\2\124\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u0103\4\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u0104\1\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u0105\2\6\13\0\1\6" + "\1\u0106\15\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u0107\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\1\6\1\u0108\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u0109\1\6\13\0\7\6" - + "\1\u010a\7\6\1\5\1\0\25\6\1\0\10\u010b\1\u010c" + "\1\0\114\u010b\10\0\1\u010c\115\0\4\u010b\2\u010d\1\u010b" - + "\1\u010e\1\u010f\1\0\1\144\1\u0110\3\144\1\u010d\10\u010b" + "\1\144\5\u010b\2\144\61\u010b\2\u010e\3\u010b\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u0111\1\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\11\6\1\241\5\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0112" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\4\6\1\u0113\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\1\6\1\u0114\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\6\1\241\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0115\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\12\157" + "\1\u0116\3\157\1\u0117\113\157\2\16\1\157\2\16\1\0" - + "\1\16\1\u0118\4\16\10\157\1\16\5\157\2\16\61\157" + "\2\16\3\157\25\0\1\u0119\100\0\1\5\7\6\2\0" - + "\1\123\1\6\1\u011a\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u011b" + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\1\6\1\u011c\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\5\6\1\u011d\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\2\6\1\u011e\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u011f" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u0120\15\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\1\u0121\5\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0122\5\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u0123\3\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\1\6\1\u0124\15\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0125" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\1\u0126\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + "\1\u0127\15\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u0128\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\4\6\1\u0129\1\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u012a\2\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\6\1\u012b\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\u012c\5\6\13\0\4\6\1\u012d\12\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\3\6\1\u012e\13\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" - + "\1\u012f\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\4\6\1\u0130\1\6\2\0\6\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\u0131\2\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u0132\2\6\13\0" - + "\14\6\1\241\2\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u0133\4\6\13\0" - + "\6\6\1\u0134\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0135\5\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\u0136\2\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0137" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u0138\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u0139\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\5\6\1\u013a\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u013b\1\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\3\6\1\u013c\13\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u013d" - + "\1\6\1\u013e\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\1\6\1\u013f\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u0140" - + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u0141\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\51\0\1\45\1\0\1\22\53\0\1\5" + "\7\6\2\0\1\123\2\6\1\u0142\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\u0143\2\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\2\6\1\u0144\3\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u0145" + "\4\6\1\u0146\10\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u0147" + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u0148\4\6\1\u0137\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u0149\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u014a" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u014b\1\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\u014c\4\6\1\u014d\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\3\6\1\u014e\13\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\3\6\1\u014f\13\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\3\6\1\u0150\21\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u0151\5\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u0152\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u0153" + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u0154\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\4\6\1\u0155\1\6\13\0\6\6\1\u0156\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0157\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\u0158\1\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\3\6\1\u0159\1\6\1\u015a\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u015b\1\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\256\2\0\1\u015c\3\256" + "\1\0\1\256\1\0\1\5\1\256\3\0\6\256\2\0" - + "\6\256\13\0\17\256\1\5\1\0\25\256\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u015d\5\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\5\6\1\u015e\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u015f" + "\4\6\13\0\6\6\1\u0160\10\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0161" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\3\6\1\u0162\13\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u0163\1\6\1\u0164\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\2\0\1\5\1\373\2\5\1\0\1\5\1\0\2\5" + "\3\0\6\5\2\0\6\5\13\0\20\5\1\0\25\5" + + "\1\0\10\124\2\0\4\124\1\0\1\124\1\0\2\124" + "\3\0\6\124\2\0\6\124\13\0\20\124\1\0\25\124" + + "\1\0\2\124\1\125\3\374\1\124\1\374\2\0\4\124" + "\1\0\1\374\1\0\2\124\3\0\6\124\2\0\6\124" + + "\13\0\20\124\1\0\21\124\2\374\2\124\1\0\3\124" + "\3\375\1\124\1\375\2\0\4\124\1\0\1\375\1\0" + + "\2\124\3\0\6\124\1\376\1\0\6\124\2\0\1\376" + "\10\0\20\124\1\0\21\124\2\375\2\124\1\0\3\124" + + "\3\131\1\124\1\131\2\0\3\124\1\126\1\0\1\131" + "\1\0\2\124\3\0\4\124\1\126\1\130\2\0\2\124" + + "\1\130\3\124\13\0\2\124\1\126\5\124\1\126\7\124" + "\1\0\21\124\2\131\2\124\1\0\2\124\1\132\1\124" + + "\2\377\1\124\1\377\2\0\4\124\1\0\1\377\1\0" + "\2\124\3\0\6\124\2\0\6\124\13\0\20\124\1\0" + + "\21\124\2\377\2\124\1\0\3\124\3\133\1\124\1\133" + "\2\0\3\124\1\126\1\0\1\133\1\0\2\124\3\0" + + "\4\124\1\126\1\130\1\0\1\131\2\124\1\130\3\124" + "\13\0\2\124\1\126\5\124\1\126\7\124\1\0\21\124" + + "\2\133\2\124\1\0\2\124\1\132\1\133\2\134\1\124" + "\1\134\2\0\3\124\1\126\1\0\1\134\1\0\2\124" + + "\3\0\1\u0100\3\124\1\126\1\130\1\0\1\131\2\124" + "\1\130\1\124\1\u0100\1\124\13\0\2\124\1\126\5\124" + + "\1\126\7\124\1\0\21\124\2\134\2\124\1\0\4\124" + "\2\u0101\2\124\2\0\4\124\1\0\1\124\1\0\2\124" + + "\3\0\6\124\2\0\6\124\13\0\20\124\1\0\25\124" + "\1\0\3\124\5\u0102\2\0\3\124\1\u0102\1\0\1\u0102" + + "\1\0\2\124\3\0\1\124\2\u0102\1\124\2\u0102\2\0" + "\2\124\2\u0102\2\124\13\0\2\124\1\u0102\1\124\1\u0102" + + "\3\124\1\u0102\7\124\1\0\1\124\1\u0102\17\124\2\u0102" + "\2\124\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u0103\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u0104\1\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\3\6\1\u0105\2\6\13\0\1\6" + "\1\u0106\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u0107\2\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\6\1\u0108\1\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\4\6\1\u0109\1\6\13\0\7\6" + "\1\u010a\7\6\1\5\1\0\25\6\1\0\10\u010b\1\u010c" + + "\1\0\114\u010b\10\0\1\u010c\115\0\4\u010b\2\u010d\1\u010b" + + "\1\u010e\1\u010f\1\0\1\144\1\u0110\3\144\1\u010d\10\u010b" + + "\1\144\5\u010b\2\144\61\u010b\2\u010e\3\u010b\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\4\6\1\u0111\1\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\11\6\1\241\5\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0112" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\4\6\1\u0113\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\6\1\u0114\15\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\6\1\241\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0115\1\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\12\157" + + "\1\u0116\3\157\1\u0117\113\157\2\16\1\157\2\16\1\0" + "\1\16\1\u0118\4\16\10\157\1\16\5\157\2\16\61\157" + + "\2\16\3\157\25\0\1\u0119\100\0\1\5\7\6\2\0" + "\1\123\1\6\1\u011a\1\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u011b" + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\6\1\u011c\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\5\6\1\u011d\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\2\6\1\u011e\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u011f" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u0120\15\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\u0121\5\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0122\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u0123\3\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\1\6\1\u0124\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0125" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\u0126\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + + "\1\u0127\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\6\1\u0128\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\4\6\1\u0129\1\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u012a\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u012b\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u012c\5\6\13\0\4\6\1\u012d\12\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\3\6\1\u012e\13\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u012f\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\4\6\1\u0130\1\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\u0131\2\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\u0132\2\6\13\0" + "\14\6\1\241\2\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u0133\4\6\13\0" + + "\6\6\1\u0134\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\u0135\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\1\u0136\2\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0137" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\u0138\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u0139\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\5\6\1\u013a\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u013b\1\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\3\6\1\u013c\13\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u013d" + + "\1\6\1\u013e\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u013f\15\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u0140" + + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u0141\1\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\51\0\1\45\1\0\1\22\53\0\1\5" + + "\7\6\2\0\1\123\2\6\1\u0142\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\u0143\2\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\2\6\1\u0144\3\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u0145" + + "\4\6\1\u0146\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u0147" + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u0148\4\6\1\u0137\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u0149\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u014a" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\6\1\u014b\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\u014c\4\6\1\u014d\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\3\6\1\u014e\13\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\3\6\1\u014f\13\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\3\6\1\u0150\21\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u0151\5\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u0152\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u0153" + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u0154\10\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\4\6\1\u0155\1\6\13\0\6\6\1\u0156\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0157\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\1\6\1\u0158\1\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\3\6\1\u0159\1\6\1\u015a\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\6\1\u015b\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\256\2\0\1\u015c\3\256" + "\1\0\1\256\1\0\1\5\1\256\3\0\6\256\2\0" + + "\6\256\13\0\17\256\1\5\1\0\25\256\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\u015d\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\5\6\1\u015e\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u015f" + + "\4\6\13\0\6\6\1\u0160\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0161" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\3\6\1\u0162\13\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\6\1\u0163\1\6\1\u0164\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u0165\1\u0166\4\6\13\0\4\6\1\u0167\12\6" - + "\1\5\1\0\3\6\1\u0168\21\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u0169\15\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u016a\4\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + "\1\u016b\1\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u016c\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u016d\7\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\1\6\1\u016e\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\5\6\1\u016f\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\5\1\0\3\6\1\u0168\21\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u0169\15\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u016a\4\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + + "\1\u016b\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u016c\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u016d\7\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\6\1\u016e\1\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\5\6\1\u016f\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0170\4\6\1\u0171\13\0\1\u0172\1\6\1\u0173\1\u0174" - + "\1\u0175\5\6\1\u0176\4\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0177\3\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u0178\1\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0179\3\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\5\6\1\u017a\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u017b\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u017c\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u017d\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\7\6\1\u017e\7\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\3\6\1\u017f" + "\13\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\5\6\1\u0180\13\0\4\6\1\u0181\11\6" + "\1\u0182\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\4\6\1\u0183\1\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\4\6\1\u0184\20\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0185" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u0186\4\6\13\0\4\6" - + "\1\u0187\12\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u0188\10\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u0189\4\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u018a" + "\5\6\13\0\3\6\1\u018b\13\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u018c" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u018d\1\6\13\0\7\6" + "\1\u018e\7\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u018f\3\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\12\6\1\u0190\4\6\1\5\1\0" + "\25\6\1\0\1\5\5\6\1\u0191\1\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u0192\5\6\13\0\17\6\1\5\1\0\2\6" + "\1\u0193\22\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0194\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\5\6\1\u0195\13\0" + "\17\6\1\5\1\0\14\6\1\u0196\10\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\u0197\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\5\6\1\u0198\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\1\6\1\u0199\4\6\1\u019a\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\4\6\1\u019b\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\3\6\1\u019c" - + "\13\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u019d\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u019e\10\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u019f" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\1\u0175\5\6\1\u0176\4\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0177\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u0178\1\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u0179\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\5\6\1\u017a\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u017b\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\u017c\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u017d\15\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\7\6\1\u017e\7\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\3\6\1\u017f" + "\13\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\5\6\1\u0180\13\0\4\6\1\u0181\11\6" + + "\1\u0182\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\4\6\1\u0183\1\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\4\6\1\u0184\20\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0185" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\6\1\u0186\4\6\13\0\4\6" + "\1\u0187\12\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u0188\10\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\6\1\u0189\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u018a" + "\5\6\13\0\3\6\1\u018b\13\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u018c" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\4\6\1\u018d\1\6\13\0\7\6" + "\1\u018e\7\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u018f\3\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\12\6\1\u0190\4\6\1\5\1\0" + "\25\6\1\0\1\5\5\6\1\u0191\1\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u0192\5\6\13\0\17\6\1\5\1\0\2\6" + + "\1\u0193\22\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\u0194\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\5\6\1\u0195\13\0" + "\17\6\1\5\1\0\14\6\1\u0196\10\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0197\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\5\6\1\u0198\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u0199\4\6\1\u019a\10\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\4\6\1\u019b\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\3\6\1\u019c" + "\13\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u019d\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\6\6\1\u019e\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u019f" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u0150\3\6\13\0" - + "\17\6\1\5\1\0\25\6\63\0\1\u01a0\105\0\1\u01a1" + "\121\0\1\u01a2\157\0\1\u01a3\117\0\1\u01a4\105\0\1\u01a5" + + "\17\6\1\5\1\0\25\6\63\0\1\u01a0\105\0\1\u01a1" + + "\121\0\1\u01a2\157\0\1\u01a3\117\0\1\u01a4\105\0\1\u01a5" + "\63\0\52\346\1\350\53\346\1\0\1\346\4\0\1\346" + "\4\0\3\346\10\0\6\346\2\0\6\346\6\0\1\350" + "\4\0\17\346\2\0\21\346\2\0\2\346\37\0\1\u01a6" + "\157\0\1\u01a7\50\0\1\u01a8\43\0\1\u01a9\1\u01aa\105\0" - + "\1\u01ab\151\0\1\u01ac\54\0\1\u01ad\152\0\1\u01ae\24\0" + "\1\u01af\70\0\1\u01b0\135\0\1\u01b1\126\0\1\u01b2\125\0" - + "\1\u01b3\100\0\1\u01b4\151\0\1\u01b5\127\0\1\u01b6\16\0" + "\1\u01b7\1\0\1\u01b8\1\0\1\u01b9\3\0\1\u01ba\116\0" + + "\1\u01ab\151\0\1\u01ac\54\0\1\u01ad\152\0\1\u01ae\24\0" + + "\1\u01af\70\0\1\u01b0\135\0\1\u01b1\126\0\1\u01b2\125\0" + + "\1\u01b3\100\0\1\u01b4\151\0\1\u01b5\127\0\1\u01b6\16\0" + + "\1\u01b7\1\0\1\u01b8\1\0\1\u01b9\3\0\1\u01ba\116\0" + "\1\u01bb\105\0\1\u01bc\121\0\1\u01bd\157\0\1\u01be\35\0" + "\3\5\5\u01bf\2\0\3\5\1\u01bf\1\0\1\u01bf\1\0" + "\2\5\3\0\1\5\2\u01bf\1\5\2\u01bf\2\0\2\5" + "\2\u01bf\2\5\13\0\2\5\1\u01bf\1\5\1\u01bf\3\5" + "\1\u01bf\7\5\1\0\1\5\1\u01bf\17\5\2\u01bf\2\5" + "\1\0\2\124\1\125\3\374\1\124\1\374\2\0\4\124" @@ -587,1248 +674,1837 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { + "\1\0\2\124\3\0\1\u0100\5\124\2\0\4\124\1\u0100" + "\1\124\13\0\20\124\1\0\21\124\2\377\2\124\1\0" + "\2\124\1\u01c0\1\124\2\u0101\2\124\2\0\4\124\1\0" + "\1\124\1\0\2\124\3\0\6\124\2\0\6\124\13\0" + "\20\124\1\0\25\124\1\0\2\124\1\u01c1\5\u0102\2\0" + "\3\124\1\u0102\1\0\1\u0102\1\0\2\124\3\0\1\u0100" - + "\2\u0102\1\124\2\u0102\2\0\2\124\2\u0102\1\u0100\1\124" + "\13\0\2\124\1\u0102\1\124\1\u0102\3\124\1\u0102\7\124" + + "\2\u0102\1\124\2\u0102\2\0\2\124\2\u0102\1\u0100\1\124" + + "\13\0\2\124\1\u0102\1\124\1\u0102\3\124\1\u0102\7\124" + "\1\0\1\124\1\u0102\17\124\2\u0102\2\124\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\6\1\u01c2\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\u01c3\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\5\6\1\u01c4\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\u01c5\1\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" - + "\1\u01c6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u01c7\4\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\5\6\1\u01c8\13\0\4\6\1\u01c9\12\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\4\6\1\u01ca\1\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\3\6\1\u01cb\13\6\1\5\1\0\25\6\1\0" + + "\1\6\3\0\6\6\2\0\1\6\1\u01c2\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u01c3\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\5\6\1\u01c4\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\u01c5\1\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + "\1\u01c6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u01c7\4\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\5\6\1\u01c8\13\0\4\6\1\u01c9\12\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\4\6\1\u01ca\1\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\3\6\1\u01cb\13\6\1\5\1\0\25\6\1\0" + "\10\u010b\1\145\1\0\120\u010b\2\u010e\1\u010b\1\u010e\1\u010c" - + "\1\0\5\u010b\1\u010e\101\u010b\2\u010e\7\u010b\2\144\1\u010b" + "\1\144\1\u010c\1\0\5\u010b\1\144\101\u010b\2\144\6\u010b" + + "\1\0\5\u010b\1\u010e\101\u010b\2\u010e\7\u010b\2\144\1\u010b" + + "\1\144\1\u010c\1\0\5\u010b\1\144\101\u010b\2\144\6\u010b" + "\5\u01cc\1\145\1\0\3\u010b\1\u01cc\1\u010b\1\u01cc\7\u010b" + "\2\u01cc\1\u010b\2\u01cc\4\u010b\2\u01cc\17\u010b\1\u01cc\1\u010b" - + "\1\u01cc\3\u010b\1\u01cc\11\u010b\1\u01cc\17\u010b\2\u01cc\3\u010b" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\4\6\1\241\1\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u01cd\10\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\5\6\1\u0131\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u01ce" - + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u01cf\2\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\11\157\1\0\117\157" + "\5\u01d0\2\157\1\u0116\2\157\1\u01d0\1\u0117\1\u01d0\7\157" - + "\2\u01d0\1\157\2\u01d0\4\157\2\u01d0\17\157\1\u01d0\1\157" + "\1\u01d0\3\157\1\u01d0\11\157\1\u01d0\17\157\2\u01d0\3\157" - + "\24\0\1\u01d1\101\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\13\6\1\u01d2\3\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u01d3" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u01d4\3\6\13\0" + "\16\6\1\u01d5\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u01d6\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\2\6" - + "\1\u01d7\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u01d8\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\1\u01d9\3\6\1\u01da\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\2\6" + "\1\u01db\22\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\2\6\1\u01dc\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u01dd" - + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\4\6\1\u01de\1\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u01df\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u01e0\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u01e1\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u01e2\7\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u01e3\1\6\1\u01e4\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\7\6\1\u01e5\7\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u01e6\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\u01e7\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\u01e8\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\u01e9\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\u01ea\1\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\5\6\1\u01eb\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u01ec\3\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u01ed\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u01ee" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\5\6\1\241\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u01ef\2\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\7\6\1\241" + "\7\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\241\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\2\6\1\u01f0\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u01f1\5\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u01f2\3\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\13\6\1\u01df\3\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\155\3\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u01f3\10\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u01f4\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u01ce\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0148\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u01f5\12\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\3\6\1\u01f6\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\2\6\1\u01f7\3\6" - + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u01f4\1\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u01f8\5\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\12\6\1\u01f9\4\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\16\6\1\u01fa\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u01fb\12\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\5\6\1\u0134\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u01df" + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\u01fc\4\6\1\u01fd\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\u01fe\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\u01ff\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u0200\1\6" - + "\13\0\1\6\1\u01f2\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u0201\1\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\u0202\2\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u0165\1\u0203\2\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\2\6\1\u0204\3\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u0205\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\u0137\1\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u0206\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\2\6\1\241\14\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\241" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u0207\1\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\u0208\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\2\6\1\u0209\14\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\1\6\1\u020a\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" - + "\1\u020b\14\6\1\5\1\0\25\6\1\0\10\5\2\0" + "\1\5\1\u020c\2\5\1\0\1\5\1\0\2\5\3\0" + "\6\5\2\0\6\5\13\0\20\5\1\0\25\5\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + "\1\u020d\15\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u020e\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u020f\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0210\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\2\6\1\u0211\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\2\6\1\u0212\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" - + "\1\u0213\3\6\13\0\6\6\1\u0214\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\4\6\1\u0215\12\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" - + "\1\u0216\3\6\1\u0217\4\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u0218\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\u0219\2\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u01e1\4\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u021a\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u021b\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" - + "\1\u021c\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\3\6\1\u021d\13\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u021e" + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\u021f\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" - + "\1\u0220\3\6\13\0\17\6\1\5\1\0\2\6\1\u0221" + "\22\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0222" - + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u0223\3\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0224\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u0225" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + "\1\u0226\15\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u0227\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u0228\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\2\6\1\u0229" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u022a\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u022b\1\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\6\1\202\4\6\13\0" + "\5\6\1\u022c\11\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\u022d\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\u022e\3\6\13\0\1\6\1\u022f" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\11\6" + "\1\u0230\13\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\2\6\1\u0231\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0232" - + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\u0233\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u0234\2\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\u0235\16\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u0236\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\10\6\1\u0237\6\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\10\6\1\u0165" + "\6\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\u0238\16\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\6\6\1\u0239\10\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\u012b\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\2\6\1\u0165\14\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\u023a\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\u0165" - + "\16\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\1\0\1\u023b\6\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + "\1\u023c\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\4\6\1\u023d\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\2\6\1\u023e\3\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u023f\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u0240\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\4\6\1\u0241\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\1\6" + "\1\u0242\1\u0243\22\6\1\0\1\5\7\6\2\0\1\123" + "\1\u0244\2\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\3\6\1\u0245\13\6\1\5\1\0\13\6\1\u0246\11\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0247" - + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u0248\3\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u0249\10\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\u024a\16\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\3\6" + "\1\u024b\1\u024c\12\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\1\6\1\u024d\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u024e\5\6\1\u024f\7\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\16\6\1\u0250\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u0251\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\13\6\1\u0252\3\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0253" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\u01cc\3\u010b\1\u01cc\11\u010b\1\u01cc\17\u010b\2\u01cc\3\u010b" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\241\1\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u01cd\10\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\5\6\1\u0131\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u01ce" + + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\u01cf\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\11\157\1\0\117\157" + + "\5\u01d0\2\157\1\u0116\2\157\1\u01d0\1\u0117\1\u01d0\7\157" + + "\2\u01d0\1\157\2\u01d0\4\157\2\u01d0\17\157\1\u01d0\1\157" + + "\1\u01d0\3\157\1\u01d0\11\157\1\u01d0\17\157\2\u01d0\3\157" + "\24\0\1\u01d1\101\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\13\6\1\u01d2\3\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u01d3" + + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u01d4\3\6\13\0" + "\16\6\1\u01d5\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u01d6\5\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\2\6" + "\1\u01d7\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u01d8\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u01d9\3\6\1\u01da\1\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\2\6" + "\1\u01db\22\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u01dc\3\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u01dd" + + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\4\6\1\u01de\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u01df\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\5\6\1\u01e0\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u01e1\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u01e2\7\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\u01e3\1\6\1\u01e4\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\7\6\1\u01e5\7\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\1\6\1\u01e6\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u01e7\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u01e8\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\u01e9\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\u01ea\1\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\5\6\1\u01eb\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u01ec\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u01ed\1\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u01ee" + + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\5\6\1\241\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u01ef\2\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\7\6\1\241" + + "\7\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\2\6\1\241\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u01f0\3\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u01f1\5\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\2\6\1\u01f2\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\13\6\1\u01df\3\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + + "\1\155\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u01f3\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u01f4\5\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\6\1\u01ce\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0148\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u01f5\12\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\3\6\1\u01f6\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\2\6\1\u01f7\3\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u01f4\1\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\u01f8\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\12\6\1\u01f9\4\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\16\6\1\u01fa\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u01fb\12\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\5\6\1\u0134\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u01df" + + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\u01fc\4\6\1\u01fd\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u01fe\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\u01ff\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u0200\1\6" + "\13\0\1\6\1\u01f2\15\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u0201\1\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\u0202\2\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u0165\1\u0203\2\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\2\6\1\u0204\3\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\u0205\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\u0137\1\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u0206\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\2\6\1\241\14\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\241" + + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u0207\1\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\u0208\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\2\6\1\u0209\14\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\1\6\1\u020a\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" + "\1\u020b\14\6\1\5\1\0\25\6\1\0\10\5\2\0" + + "\1\5\1\u020c\2\5\1\0\1\5\1\0\2\5\3\0" + "\6\5\2\0\6\5\13\0\20\5\1\0\25\5\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + + "\1\u020d\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\u020e\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u020f\2\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0210\5\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\2\6\1\u0211\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0212\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + + "\1\u0213\3\6\13\0\6\6\1\u0214\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u0215\12\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + + "\1\u0216\3\6\1\u0217\4\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u0218\2\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\u0219\2\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + + "\1\u01e1\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\u021a\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u021b\10\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u021c\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\3\6\1\u021d\13\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u021e" + + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\u021f\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u0220\3\6\13\0\17\6\1\5\1\0\2\6\1\u0221" + + "\22\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0222" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u0223\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0224\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u0225" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + "\1\u0226\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u0227\2\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\6\1\u0228\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\2\6\1\u0229" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u022a\3\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u022b\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\202\4\6\13\0" + "\5\6\1\u022c\11\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u022d\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\2\6\1\u022e\3\6\13\0\1\6\1\u022f" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\11\6" + + "\1\u0230\13\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u0231\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0232" + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\u0233\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u0234\2\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\1\u0235\16\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + + "\1\u0236\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\10\6\1\u0237\6\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\10\6\1\u0165" + "\6\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\u0238\16\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\6\6\1\u0239\10\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\u012b\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\2\6\1\u0165\14\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\u023a\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\u0165" + "\16\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\1\0\1\u023b\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + + "\1\u023c\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\4\6\1\u023d\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\2\6\1\u023e\3\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u023f\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u0240\10\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\4\6\1\u0241\1\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\1\6" + "\1\u0242\1\u0243\22\6\1\0\1\5\7\6\2\0\1\123" + + "\1\u0244\2\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\3\6\1\u0245\13\6\1\5\1\0\13\6\1\u0246\11\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0247" + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u0248\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\6\6\1\u0249\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\u024a\16\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\3\6" + + "\1\u024b\1\u024c\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u024d\1\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u024e\5\6\1\u024f\7\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\16\6\1\u0250\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\2\6\1\u0251\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\13\6\1\u0252\3\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0253" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\16\6\1\u0254" + "\1\5\1\0\25\6\57\0\1\u0255\107\0\1\u01a0\147\0" - + "\1\u0256\100\0\1\u0257\146\0\1\u0258\107\0\1\u01a4\147\0" + "\1\u0259\100\0\1\u025a\126\0\1\u025b\126\0\1\u025c\147\0" - + "\1\u025d\102\0\1\u025e\130\0\1\u025f\21\0\1\u0260\100\0" + "\1\u0261\126\0\1\u0262\1\u0263\101\0\1\u0264\154\0\1\u0265" - + "\144\0\1\u0266\102\0\1\u0267\124\0\1\u0268\125\0\1\u0269" + "\22\0\1\u026a\103\0\1\u026b\153\0\1\u026c\120\0\1\u026d" - + "\125\0\1\u026e\61\0\1\u026f\152\0\1\u0270\142\0\1\u0271" + "\107\0\1\u01bb\147\0\1\u0272\100\0\1\u0273\70\0\3\5" - + "\5\u0274\2\0\3\5\1\u0274\1\0\1\u0274\1\0\2\5" + "\3\0\1\5\2\u0274\1\5\2\u0274\2\0\2\5\2\u0274" - + "\2\5\13\0\2\5\1\u0274\1\5\1\u0274\3\5\1\u0274" + "\7\5\1\0\1\5\1\u0274\17\5\2\u0274\2\5\1\0" - + "\2\124\1\u01c1\5\u0102\2\0\3\124\1\u0102\1\0\1\u0102" + "\1\0\2\124\3\0\1\124\2\u0102\1\124\2\u0102\2\0" - + "\2\124\2\u0102\2\124\13\0\2\124\1\u0102\1\124\1\u0102" + "\3\124\1\u0102\7\124\1\0\1\124\1\u0102\17\124\2\u0102" - + "\2\124\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u0275\3\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\1\6\1\u0276\1\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\5\6\1\u0277\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u0278\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0207" + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\5\6\1\u0279\1\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u027a" + "\2\6\13\0\17\6\1\5\1\0\1\6\1\u027b\1\u027c" + "\22\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\6\1\u027d\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u027e\2\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\u027f\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\u0256\100\0\1\u0257\146\0\1\u0258\107\0\1\u01a4\147\0" + + "\1\u0259\100\0\1\u025a\126\0\1\u025b\126\0\1\u025c\147\0" + + "\1\u025d\102\0\1\u025e\130\0\1\u025f\21\0\1\u0260\100\0" + + "\1\u0261\126\0\1\u0262\1\u0263\101\0\1\u0264\154\0\1\u0265" + + "\144\0\1\u0266\102\0\1\u0267\124\0\1\u0268\125\0\1\u0269" + + "\22\0\1\u026a\103\0\1\u026b\153\0\1\u026c\120\0\1\u026d" + + "\125\0\1\u026e\61\0\1\u026f\152\0\1\u0270\142\0\1\u0271" + + "\107\0\1\u01bb\147\0\1\u0272\100\0\1\u0273\70\0\3\5" + "\5\u0274\2\0\3\5\1\u0274\1\0\1\u0274\1\0\2\5" + + "\3\0\1\5\2\u0274\1\5\2\u0274\2\0\2\5\2\u0274" + "\2\5\13\0\2\5\1\u0274\1\5\1\u0274\3\5\1\u0274" + + "\7\5\1\0\1\5\1\u0274\17\5\2\u0274\2\5\1\0" + "\2\124\1\u01c1\5\u0102\2\0\3\124\1\u0102\1\0\1\u0102" + + "\1\0\2\124\3\0\1\124\2\u0102\1\124\2\u0102\2\0" + "\2\124\2\u0102\2\124\13\0\2\124\1\u0102\1\124\1\u0102" + + "\3\124\1\u0102\7\124\1\0\1\124\1\u0102\17\124\2\u0102" + "\2\124\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u0275\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\1\6\1\u0276\1\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\5\6\1\u0277\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u0278\3\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0207" + + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\5\6\1\u0279\1\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u027a" + "\2\6\13\0\17\6\1\5\1\0\1\6\1\u027b\1\u027c" + + "\22\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\1\6\1\u027d\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u027e\2\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u027f\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u0177\2\6\13\0\6\6\1\u0280\10\6\1\5" + "\1\0\25\6\1\0\3\u010b\5\u0281\1\145\1\0\3\u010b" + "\1\u0281\1\u010b\1\u0281\7\u010b\2\u0281\1\u010b\2\u0281\4\u010b" - + "\2\u0281\17\u010b\1\u0281\1\u010b\1\u0281\3\u010b\1\u0281\11\u010b" + "\1\u0281\17\u010b\2\u0281\3\u010b\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\12\6\1\u0137\4\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u01df" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\4\6\1\u0282\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\3\157\5\u0283\2\157" - + "\1\u0116\2\157\1\u0283\1\u0117\1\u0283\7\157\2\u0283\1\157" + "\2\u0283\4\157\2\u0283\17\157\1\u0283\1\157\1\u0283\3\157" + + "\2\u0281\17\u010b\1\u0281\1\u010b\1\u0281\3\u010b\1\u0281\11\u010b" + + "\1\u0281\17\u010b\2\u0281\3\u010b\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\12\6\1\u0137\4\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u01df" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\4\6\1\u0282\1\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\3\157\5\u0283\2\157" + + "\1\u0116\2\157\1\u0283\1\u0117\1\u0283\7\157\2\u0283\1\157" + + "\2\u0283\4\157\2\u0283\17\157\1\u0283\1\157\1\u0283\3\157" + "\1\u0283\11\157\1\u0283\17\157\2\u0283\3\157\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\2\6\1\u0221\22\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\4\6\1\u0284\1\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\17\6\1\5\1\0\12\6\1\u0285\12\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0286\1\u0287" - + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\15\6\1\u0288" - + "\1\6\1\5\1\0\4\6\1\u0289\20\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u028a\3\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\21\6" - + "\1\u028b\3\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u028c\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u028d\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u01e1\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\1\6\1\u028e" + "\23\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\16\6\1\241\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\u028f\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\1\u0207\16\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0165" - + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u0290\2\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0291\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u0292\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\4\6\1\u0293\1\6\2\0\6\6\13\0\10\6\1\u0294" + + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\2\6\1\u0221\22\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\4\6\1\u0284\1\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\12\6\1\u0285\12\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0286\1\u0287" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\15\6\1\u0288" + + "\1\6\1\5\1\0\4\6\1\u0289\20\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u028a\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\21\6" + + "\1\u028b\3\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\5\6\1\u028c\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u028d\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u01e1\3\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\1\6\1\u028e" + "\23\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\16\6\1\241\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u028f\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\1\u0207\16\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0165" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u0290\2\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\2\6\1\u0291\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + + "\1\u0292\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\4\6\1\u0293\1\6\2\0\6\6\13\0\10\6\1\u0294" + "\4\6\1\u0295\1\6\1\5\1\0\4\6\1\u0296\5\6" + "\1\u0297\1\u0298\1\6\1\u0299\1\6\1\u029a\5\6\1\0" - + "\1\5\5\6\1\u029b\1\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u029c\3\6\13\0\17\6\1\5\1\0\2\6\1\u01db" - + "\6\6\1\u029d\13\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u0165\4\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u029e\4\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\3\6" + "\1\u029f\13\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\14\6\1\u02a0\2\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u02a1\5\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\5\6\1\u022c\11\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\5\6\1\u02a2\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\11\6\1\u02a3\5\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" - + "\1\u02a4\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\u02a5\1\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u02a6\4\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u01fd\4\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u02a7\12\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u02a8\10\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\u02a9\16\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u02aa" - + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u0125\1\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\2\6\1\u02ab\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\3\6\1\u02ac\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" - + "\1\u02ad\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\241" - + "\16\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u02ae\10\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\241\5\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u02af\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u02b0\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u02b1\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\6\6\1\u02b2\10\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0165\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\4\6\1\u02b3\6\6\1\u02b4\11\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\4\6\1\u02b5\1\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\6\6\1\u02b6\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\250" - + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u02b7\2\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u02b8\10\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u01e6\1\u02b7\2\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u02b9\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u02ba" + "\15\6\1\5\1\0\25\6\1\0\3\5\5\u02bb\2\0" - + "\3\5\1\u02bb\1\0\1\u02bb\1\0\2\5\3\0\1\5" + "\2\u02bb\1\5\2\u02bb\2\0\2\5\2\u02bb\2\5\13\0" - + "\2\5\1\u02bb\1\5\1\u02bb\3\5\1\u02bb\7\5\1\0" + "\1\5\1\u02bb\17\5\2\u02bb\2\5\1\0\1\5\5\6" - + "\1\u02bc\1\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u02bd\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\14\6\1\u02be\2\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\u02bf" + "\16\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\6\1\u02c0\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u02c1\1\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u02c2" - + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u02c3\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\4\6\1\u02c4\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\16\6\1\u02c5" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u02c6\2\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\6\6\1\u02c7\10\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u02c8\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u02c9\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u02ca\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u02cb" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u02cc\1\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\4\6\1\u02cd\1\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\4\6\1\u02ce" - + "\1\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u02cf" - + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u02d0\4\6\13\0" - + "\13\6\1\u02cc\3\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\u02d1\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u02d2\2\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u02d3\4\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\5\6" + "\1\u02d4\11\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u02d5\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\7\6\1\u02d6\7\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u02d7" + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\3\6\1\u02d8\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\1\6\1\u02d9\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\13\6\1\u02da\3\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u02db\5\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u02dc\12\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\2\6\1\u01db" - + "\6\6\1\u029d\13\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u02dd\2\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\11\6\1\u0207\5\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u02de\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u02df\4\6\13\0\17\6" + "\1\5\1\0\23\6\1\u02e0\1\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\12\6\1\u02e1\12\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\3\6\1\u02e2\13\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u02e3" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\u02e4\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\1\6\1\u02e5\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\3\6\1\u02e6\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0207\5\6" - + "\13\0\17\6\1\5\1\0\2\6\1\u01db\6\6\1\u029d" + "\13\6\1\0\1\5\7\6\2\0\1\123\2\6\1\u02e7" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\u02e8\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\25\6\34\0\1\u02e9\72\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u02ea\10\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\15\6\1\u02eb" - + "\7\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u02ec\3\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u02ed\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\13\6\1\u02ee\3\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u02ef\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u02f0\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\u02f1\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\4\6\1\u02f2\12\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u02f3" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\2\6\1\u02f4\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u02f5\4\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\4\6\1\u02f6\12\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u02f7\15\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\2\6\1\u02f8\3\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u02f9\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u02fa\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u02fb\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\1\6\1\u02fc\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\6\6\1\u02fd\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" - + "\1\u02fe\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" - + "\1\u02ff\14\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u0300\15\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0301\3\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\7\6\1\u0302\15\6\25\0" - + "\1\u0303\144\0\1\u01a0\12\0\1\u0255\50\0\1\u0257\1\u0304" + "\5\u0257\1\u0304\2\0\3\u0257\1\0\1\u0257\1\0\1\u0304" - + "\1\u0257\1\0\1\u0257\1\u0304\6\u0257\2\u0304\6\u0257\1\0" + "\2\u0304\1\0\1\u0304\2\0\4\u0304\17\u0257\2\u0304\25\u0257" - + "\25\0\1\u0305\144\0\1\u01a4\12\0\1\u0258\50\0\1\u025a" + "\1\u0306\5\u025a\1\u0306\2\0\3\u025a\1\0\1\u025a\1\0" - + "\1\u0306\1\u025a\1\0\1\u025a\1\u0306\6\u025a\2\u0306\6\u025a" + "\1\0\2\u0306\1\0\1\u0306\2\0\4\u0306\17\u025a\2\u0306" - + "\25\u025a\61\0\1\u0307\105\0\1\u0308\17\0\1\u0309\125\0" + "\1\u0263\60\0\1\u030a\200\0\1\u030b\77\0\1\u030c\1\0" - + "\1\u030d\142\0\1\u030e\133\0\1\u030f\123\0\1\u0310\122\0" + "\1\u0311\104\0\1\u0312\127\0\1\u0313\124\0\1\u0314\125\0" - + "\1\u0315\125\0\1\u0316\130\0\1\u0317\76\0\1\u0318\21\0" + "\1\u0319\152\0\1\u031a\123\0\1\u031b\123\0\1\u031c\110\0" - + "\1\u031d\107\0\1\u031e\144\0\1\u01bb\12\0\1\u0271\50\0" + "\1\u0273\1\u031f\5\u0273\1\u031f\2\0\3\u0273\1\0\1\u0273" - + "\1\0\1\u031f\1\u0273\1\0\1\u0273\1\u031f\6\u0273\2\u031f" + "\6\u0273\1\0\2\u031f\1\0\1\u031f\2\0\4\u031f\17\u0273" + + "\1\5\5\6\1\u029b\1\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + + "\1\u029c\3\6\13\0\17\6\1\5\1\0\2\6\1\u01db" + "\6\6\1\u029d\13\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u0165\4\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + + "\1\u029e\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\3\6" + "\1\u029f\13\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\14\6\1\u02a0\2\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\u02a1\5\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\5\6\1\u022c\11\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\5\6\1\u02a2\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\11\6\1\u02a3\5\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u02a4\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\1\6\1\u02a5\1\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\6\1\u02a6\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u01fd\4\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\4\6\1\u02a7\12\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u02a8\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\u02a9\16\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u02aa" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u0125\1\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u02ab\3\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\3\6\1\u02ac\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + "\1\u02ad\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\241" + + "\16\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\6\6\1\u02ae\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\241\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u02af\4\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\3\6\1\u02b0\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u02b1\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\6\6\1\u02b2\10\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0165\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\4\6\1\u02b3\6\6\1\u02b4\11\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\4\6\1\u02b5\1\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\6\6\1\u02b6\10\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\250" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\u02b7\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u02b8\10\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u01e6\1\u02b7\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u02b9\2\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u02ba" + + "\15\6\1\5\1\0\25\6\1\0\3\5\5\u02bb\2\0" + "\3\5\1\u02bb\1\0\1\u02bb\1\0\2\5\3\0\1\5" + + "\2\u02bb\1\5\2\u02bb\2\0\2\5\2\u02bb\2\5\13\0" + "\2\5\1\u02bb\1\5\1\u02bb\3\5\1\u02bb\7\5\1\0" + + "\1\5\1\u02bb\17\5\2\u02bb\2\5\1\0\1\5\5\6" + "\1\u02bc\1\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u02bd\4\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\14\6\1\u02be\2\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\u02bf" + "\16\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u02c0\4\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u02c1\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u02c2" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\6\1\u02c3\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\4\6\1\u02c4\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\16\6\1\u02c5" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u02c6\2\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\6\6\1\u02c7\10\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u02c8\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u02c9\3\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u02ca\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u02cb" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\6\1\u02cc\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\4\6\1\u02cd\1\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\4\6\1\u02ce" + "\1\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u02cf" + + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u02d0\4\6\13\0" + "\13\6\1\u02cc\3\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\u02d1\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\3\6\1\u02d2\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u02d3\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\5\6" + + "\1\u02d4\11\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\u02d5\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\7\6\1\u02d6\7\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u02d7" + + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\u02d8\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\6\1\u02d9\15\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\13\6\1\u02da\3\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u02db\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u02dc\12\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\2\6\1\u01db" + "\6\6\1\u029d\13\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u02dd\2\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\11\6\1\u0207\5\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u02de\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u02df\4\6\13\0\17\6" + + "\1\5\1\0\23\6\1\u02e0\1\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\12\6\1\u02e1\12\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\3\6\1\u02e2\13\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u02e3" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u02e4\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\6\1\u02e5\15\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u02e6\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0207\5\6" + "\13\0\17\6\1\5\1\0\2\6\1\u01db\6\6\1\u029d" + + "\13\6\1\0\1\5\7\6\2\0\1\123\2\6\1\u02e7" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\u02e8\2\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\34\0\1\u02e9\72\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u02ea\10\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\15\6\1\u02eb" + "\7\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u02ec\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u02ed\5\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\13\6\1\u02ee\3\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u02ef\2\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\4\6\1\u02f0\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u02f1\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\4\6\1\u02f2\12\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u02f3" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\2\6\1\u02f4\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u02f5\4\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\4\6\1\u02f6\12\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u02f7\15\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\2\6\1\u02f8\3\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\2\6\1\u02f9\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u02fa\3\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u02fb\5\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\6\1\u02fc\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\6\6\1\u02fd\10\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + + "\1\u02fe\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" + "\1\u02ff\14\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u0300\15\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u0301\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\7\6\1\u0302\15\6\25\0" + + "\1\u0303\144\0\1\u01a0\12\0\1\u0255\50\0\1\u0257\1\u0304" + + "\5\u0257\1\u0304\2\0\3\u0257\1\0\1\u0257\1\0\1\u0304" + + "\1\u0257\1\0\1\u0257\1\u0304\6\u0257\2\u0304\6\u0257\1\0" + + "\2\u0304\1\0\1\u0304\2\0\4\u0304\17\u0257\2\u0304\25\u0257" + + "\25\0\1\u0305\144\0\1\u01a4\12\0\1\u0258\50\0\1\u025a" + + "\1\u0306\5\u025a\1\u0306\2\0\3\u025a\1\0\1\u025a\1\0" + + "\1\u0306\1\u025a\1\0\1\u025a\1\u0306\6\u025a\2\u0306\6\u025a" + + "\1\0\2\u0306\1\0\1\u0306\2\0\4\u0306\17\u025a\2\u0306" + + "\25\u025a\61\0\1\u0307\105\0\1\u0308\17\0\1\u0309\125\0" + + "\1\u0263\60\0\1\u030a\200\0\1\u030b\77\0\1\u030c\1\0" + + "\1\u030d\142\0\1\u030e\133\0\1\u030f\123\0\1\u0310\122\0" + + "\1\u0311\104\0\1\u0312\127\0\1\u0313\124\0\1\u0314\125\0" + + "\1\u0315\125\0\1\u0316\130\0\1\u0317\76\0\1\u0318\21\0" + + "\1\u0319\152\0\1\u031a\123\0\1\u031b\123\0\1\u031c\110\0" + + "\1\u031d\107\0\1\u031e\144\0\1\u01bb\12\0\1\u0271\50\0" + + "\1\u0273\1\u031f\5\u0273\1\u031f\2\0\3\u0273\1\0\1\u0273" + + "\1\0\1\u031f\1\u0273\1\0\1\u0273\1\u031f\6\u0273\2\u031f" + + "\6\u0273\1\0\2\u031f\1\0\1\u031f\2\0\4\u031f\17\u0273" + "\2\u031f\25\u0273\1\0\3\5\5\u0320\2\0\3\5\1\u0320" + "\1\0\1\u0320\1\0\2\5\3\0\1\5\2\u0320\1\5" + "\2\u0320\2\0\2\5\2\u0320\2\5\13\0\2\5\1\u0320" + "\1\5\1\u0320\3\5\1\u0320\7\5\1\0\1\5\1\u0320" - + "\17\5\2\u0320\2\5\1\0\1\5\7\6\2\0\1\123" + "\1\6\1\u0321\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\2\6\1\u0322\14\6\1\5\1\0\25\6\1\0" - + "\1\5\5\6\1\u0323\1\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\1\u0324\3\6\1\u0325" + "\1\6\2\0\6\6\13\0\17\6\1\5\1\0\10\6" - + "\1\u0326\1\6\1\u0297\12\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u02b7\2\6\13\0\17\6\1\5" - + "\1\0\12\6\1\u0327\12\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\6\1\u0328\15\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\4\6\1\u0329\12\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u032a" + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u032b\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\u0202\1\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u032c\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u032d\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\4\6\1\u02cc\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\3\u010b\5\u032e\1\145" + + "\17\5\2\u0320\2\5\1\0\1\5\7\6\2\0\1\123" + "\1\6\1\u0321\1\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\2\6\1\u0322\14\6\1\5\1\0\25\6\1\0" + + "\1\5\5\6\1\u0323\1\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\1\u0324\3\6\1\u0325" + + "\1\6\2\0\6\6\13\0\17\6\1\5\1\0\10\6" + "\1\u0326\1\6\1\u0297\12\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u02b7\2\6\13\0\17\6\1\5" + + "\1\0\12\6\1\u0327\12\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\1\6\1\u0328\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\4\6\1\u0329\12\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u032a" + + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u032b\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\u0202\1\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\6\1\u032c\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u032d\12\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\4\6\1\u02cc\1\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\3\u010b\5\u032e\1\145" + "\1\0\3\u010b\1\u032e\1\u010b\1\u032e\7\u010b\2\u032e\1\u010b" + "\2\u032e\4\u010b\2\u032e\17\u010b\1\u032e\1\u010b\1\u032e\3\u010b" + "\1\u032e\11\u010b\1\u032e\17\u010b\2\u032e\3\u010b\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u032f\1\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\3\157\5\u0330\2\157\1\u0116" - + "\2\157\1\u0330\1\u0117\1\u0330\7\157\2\u0330\1\157\2\u0330" + "\4\157\2\u0330\17\157\1\u0330\1\157\1\u0330\3\157\1\u0330" + + "\2\157\1\u0330\1\u0117\1\u0330\7\157\2\u0330\1\157\2\u0330" + + "\4\157\2\u0330\17\157\1\u0330\1\157\1\u0330\3\157\1\u0330" + "\11\157\1\u0330\17\157\2\u0330\3\157\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\u0331\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u0332" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" - + "\1\u0333\14\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u0334\3\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0335\3\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0336" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u019c\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\22\6" + "\1\u0337\2\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0338\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u0339\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\1\6\1\u033a\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\3\6\1\u033b\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u033c" - + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u02ff\4\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u033d\2\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u033e\10\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u033f" + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u0340\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\1\6\1\u0341\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u0342\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\u0343\2\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\2\6\1\u0344\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\1\6\1\u0345\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\1\6\1\u0346\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0347\4\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u0348\2\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\6\1\u0349\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u034a" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\2\6\1\u034b\22\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\1\u034c\5\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\13\6\1\u034d\11\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\6\6\1\u034e\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u034f" - + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" + "\1\u0134\14\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\3\6\1\u0350\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\1\u0351\5\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\4\6\1\241\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u0352\4\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\u01fd\1\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\4\6\1\u0353\12\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0137\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u0137\3\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\1\6\1\u0354\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\2\6\1\u0355" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u0356\1\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\7\6\1\u0357\7\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\4\6\1\u0358\12\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0359\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\u035a\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u01d2\3\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\6\1\u035b\15\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\2\6\1\u027d\3\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u035c\7\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u035d\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\7\6\1\u035e\7\6\1\5\1\0\25\6\1\0" + "\3\5\5\u035f\2\0\3\5\1\u035f\1\0\1\u035f\1\0" - + "\2\5\3\0\1\5\2\u035f\1\5\2\u035f\2\0\2\5" + "\2\u035f\2\5\13\0\2\5\1\u035f\1\5\1\u035f\3\5" - + "\1\u035f\7\5\1\0\1\5\1\u035f\17\5\2\u035f\2\5" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0360" + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\3\6\1\u0361\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\1\u0362\5\6\2\0\5\6\1\u0165\13\0\10\6\1\u0363" + "\6\6\1\5\1\0\2\6\1\u0364\1\6\1\u0365\20\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\7\6\1\u0366\7\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0367\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\2\6\1\u0207\14\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\7\6\1\u0368\7\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\13\6" + "\1\u0369\3\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\1\u036a\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\5\6\1\u036b\5\6" + "\1\u036c\11\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\4\6\1\u036d\1\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\4\6\1\u036e\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u036f" - + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u0370\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\2\6\1\u022d\14\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0371" + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u01e6\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0372\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u0373\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\7\6\1\u0165\7\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u0374\1\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u0375" + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\7\6\1\u0376" + "\7\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u0377\1\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\6\6\1\u0378\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\13\6\1\u0379\11\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\2\6\1\u037a\6\6\1\u037b\13\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\3\6\1\u037c" - + "\13\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u037d\10\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\2\6\1\u027d" + "\3\6\2\0\1\u012b\5\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u037e\4\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u037f\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u0380\10\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0381\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\2\6\1\u0382\14\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\u0383\1\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\5\6\1\u0384\17\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\1\6\1\u0385\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\1\6\1\u0386\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\3\6" - + "\1\u0387\13\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u0388\10\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\4\6\1\u0389\12\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\11\6\1\u038a\5\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u038b\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\14\6\1\u038c\2\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u038d\2\6\13\0\17\6\1\5\1\0\25\6" + "\15\0\1\u038e\111\0\1\5\7\6\2\0\1\123\1\6" - + "\1\u038f\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u0390\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\6\1\u0391\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\6\6\1\u0392\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\3\6\1\u0393\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0394" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u0395\5\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u0396\4\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\u0397\16\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u0398\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\11\6\1\u0399\13\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\12\6\1\u0209\4\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\u039a\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\6\1\u039b\1\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" - + "\1\u039c\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u039d\4\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\5\6\1\u039e\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\2\6\1\u039f\14\6" - + "\1\u029a\5\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u03a0\10\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u03a1\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u0202\3\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\15\6\1\u0295\1\6\1\5\1\0" + "\4\6\1\u0296\6\6\1\u0298\3\6\1\u029a\5\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u03a2\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u0165\4\6\13\0\17\6" + "\1\5\1\0\1\6\1\u03a3\23\6\1\0\1\5\7\6" + + "\6\6\2\0\2\6\1\u0331\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u0332" + + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" + + "\1\u0333\14\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u0334\3\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0335\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0336" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u019c\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\22\6" + + "\1\u0337\2\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\u0338\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u0339\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u033a\4\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\3\6\1\u033b\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u033c" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u02ff\4\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\3\6\1\u033d\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u033e\10\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u033f" + + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u0340\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\6\1\u0341\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\1\6\1\u0342\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\u0343\2\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u0344\3\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\6\1\u0345\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\6\1\u0346\15\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0347\4\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\3\6\1\u0348\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\1\6\1\u0349\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u034a" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\2\6\1\u034b\22\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\1\u034c\5\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\13\6\1\u034d\11\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\6\6\1\u034e\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u034f" + + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" + + "\1\u0134\14\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\3\6\1\u0350\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u0351\5\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\4\6\1\241\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u0352\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\u01fd\1\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\4\6\1\u0353\12\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0137\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u0137\3\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\6\1\u0354\1\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\2\6\1\u0355" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\6\1\u0356\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\7\6\1\u0357\7\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\4\6\1\u0358\12\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0359\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\u035a\2\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u01d2\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\1\6\1\u035b\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\2\6\1\u027d\3\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u035c\7\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\6\1\u035d\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\7\6\1\u035e\7\6\1\5\1\0\25\6\1\0" + + "\3\5\5\u035f\2\0\3\5\1\u035f\1\0\1\u035f\1\0" + "\2\5\3\0\1\5\2\u035f\1\5\2\u035f\2\0\2\5" + + "\2\u035f\2\5\13\0\2\5\1\u035f\1\5\1\u035f\3\5" + "\1\u035f\7\5\1\0\1\5\1\u035f\17\5\2\u035f\2\5" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0360" + + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\u0361\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\1\u0362\5\6\2\0\5\6\1\u0165\13\0\10\6\1\u0363" + + "\6\6\1\5\1\0\2\6\1\u0364\1\6\1\u0365\20\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\7\6\1\u0366\7\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0367\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\2\6\1\u0207\14\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\7\6\1\u0368\7\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\13\6" + + "\1\u0369\3\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\u036a\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\5\6\1\u036b\5\6" + + "\1\u036c\11\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\4\6\1\u036d\1\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u036e\12\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u036f" + + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u0370\1\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\2\6\1\u022d\14\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0371" + + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u01e6\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0372\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u0373\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\7\6\1\u0165\7\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\6\1\u0374\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u0375" + + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\7\6\1\u0376" + "\7\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\6\1\u0377\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\6\6\1\u0378\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\13\6\1\u0379\11\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\2\6\1\u037a\6\6\1\u037b\13\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\3\6\1\u037c" + "\13\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u037d\10\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\2\6\1\u027d" + + "\3\6\2\0\1\u012b\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u037e\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u037f\2\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u0380\10\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0381\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\2\6\1\u0382\14\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\u0383\1\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\5\6\1\u0384\17\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\1\6\1\u0385\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\6\1\u0386\15\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\3\6" + + "\1\u0387\13\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u0388\10\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\4\6\1\u0389\12\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\11\6\1\u038a\5\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\u038b\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\14\6\1\u038c\2\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u038d\2\6\13\0\17\6\1\5\1\0\25\6" + "\15\0\1\u038e\111\0\1\5\7\6\2\0\1\123\1\6" + + "\1\u038f\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\1\6\1\u0390\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u0391\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u0392\10\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u0393\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0394" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u0395\5\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\6\1\u0396\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\u0397\16\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u0398\5\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\11\6\1\u0399\13\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\12\6\1\u0209\4\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u039a\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\6\1\u039b\1\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + "\1\u039c\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u039d\4\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\5\6\1\u039e\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\2\6\1\u039f\14\6" + + "\1\u029a\5\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\6\6\1\u03a0\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u03a1\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u0202\3\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\15\6\1\u0295\1\6\1\5\1\0" + "\4\6\1\u0296\6\6\1\u0298\3\6\1\u029a\5\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u03a2\4\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\6\1\u0165\4\6\13\0\17\6" + "\1\5\1\0\1\6\1\u03a3\23\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u03a4\2\6\13\0\17\6" - + "\1\5\1\0\25\6\25\0\1\u0257\125\0\1\u025a\140\0" + "\1\u03a5\127\0\1\u03a6\154\0\1\u03a7\74\0\1\u03a8\150\0" - + "\1\u03a9\125\0\1\u03aa\56\0\1\u03ab\172\0\1\u03ac\106\0" + "\1\u03ad\124\0\1\u0263\127\0\1\u03ae\123\0\1\u03af\153\0" - + "\1\u0263\131\0\1\u03b0\72\0\1\u03b1\152\0\1\u0263\126\0" + "\1\u03b2\135\0\1\u03b3\70\0\1\u03b4\161\0\1\u03b5\71\0" + + "\1\5\1\0\25\6\25\0\1\u0257\125\0\1\u025a\140\0" + + "\1\u03a5\127\0\1\u03a6\154\0\1\u03a7\74\0\1\u03a8\150\0" + + "\1\u03a9\125\0\1\u03aa\56\0\1\u03ab\172\0\1\u03ac\106\0" + + "\1\u03ad\124\0\1\u0263\127\0\1\u03ae\123\0\1\u03af\153\0" + + "\1\u0263\131\0\1\u03b0\72\0\1\u03b1\152\0\1\u0263\126\0" + + "\1\u03b2\135\0\1\u03b3\70\0\1\u03b4\161\0\1\u03b5\71\0" + "\1\u03b3\125\0\1\u03b6\100\0\1\u031b\136\0\1\u0273\101\0" + "\3\5\5\6\2\0\3\5\1\6\1\0\1\6\1\0" - + "\2\5\3\0\1\5\2\6\1\5\2\6\2\0\2\5" + "\2\6\2\5\13\0\2\5\1\6\1\5\1\6\3\5" + "\1\6\7\5\1\0\1\5\1\6\17\5\2\6\2\5" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u03b7\12\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u03b8\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u03b9\2\6\13\0\6\6\1\u03ba" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\6\1\u0340\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u03bb\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u03bc" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u03bd" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u03be\1\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\u03bf\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u03c0\4\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" - + "\3\6\1\u03c1\21\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u03c2\4\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u03c3" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\3\u010b" - + "\5\144\1\145\1\0\3\u010b\1\144\1\u010b\1\144\7\u010b" + "\2\144\1\u010b\2\144\4\u010b\2\144\17\u010b\1\144\1\u010b" + + "\2\5\3\0\1\5\2\6\1\5\2\6\2\0\2\5" + "\2\6\2\5\13\0\2\5\1\6\1\5\1\6\3\5" + + "\1\6\7\5\1\0\1\5\1\6\17\5\2\6\2\5" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u03b7\12\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u03b8\2\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\3\6\1\u03b9\2\6\13\0\6\6\1\u03ba" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\6\1\u0340\15\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\1\6\1\u03bb\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u03bc" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u03bd" + + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u03be\1\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u03bf\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u03c0\4\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\3\6\1\u03c1\21\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u03c2\4\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u03c3" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\3\u010b" + "\5\144\1\145\1\0\3\u010b\1\144\1\u010b\1\144\7\u010b" + + "\2\144\1\u010b\2\144\4\u010b\2\144\17\u010b\1\144\1\u010b" + "\1\144\3\u010b\1\144\11\u010b\1\144\17\u010b\2\144\3\u010b" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\14\6" + "\1\241\2\6\1\5\1\0\25\6\1\0\3\157\5\16" + "\2\157\1\u0116\2\157\1\16\1\u0117\1\16\7\157\2\16" + "\1\157\2\16\4\157\2\16\17\157\1\16\1\157\1\16" + "\3\157\1\16\11\157\1\16\17\157\2\16\3\157\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\1\0\1\u03c4\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\7\6\1\u03c5\7\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\1\u0362\5\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\7\6\1\u03c6\15\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u038c" - + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\5\6\1\u03c7\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u03c8\3\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\1\0\1\u03c9" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u03ca\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\1\6\1\u0165\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u03cb\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u01df\1\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\4\6\1\u03cc\1\6\2\0\1\u03cd\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u03ce\7\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\4\6\1\u03cf\1\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" - + "\1\u03d0\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u03d1\2\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\3\6\1\u03d2\13\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u03d3\5\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u0341\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u03d4\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u03cf\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u03d5\1\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\3\6\1\u03d6\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\3\6\1\u0165\13\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\3\6\1\u03d7\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\6\6\1\u03d8\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u03d9\5\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\6\6\1\u03da\10\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\2\6\1\u03db\3\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u03dc\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u01fd\12\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\2\6\1\u03dd\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u03de\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\u03df\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\u0137\2\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u03e0" - + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u03e1" - + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u03e2\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u03e3\2\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\3\6\1\u03e4\13\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0359\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\1\6\1\u03e5\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u03e6\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\4\6" + "\1\u03e7\12\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\1\6\3\0\6\6\1\0\1\u03c4\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\7\6\1\u03c5\7\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\1\u0362\5\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\7\6\1\u03c6\15\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u038c" + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\5\6\1\u03c7\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u03c8\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\1\0\1\u03c9" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u03ca\4\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u0165\1\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u03cb\4\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u01df\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\4\6\1\u03cc\1\6\2\0\1\u03cd\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u03ce\7\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\4\6\1\u03cf\1\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + "\1\u03d0\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u03d1\2\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\3\6\1\u03d2\13\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u03d3\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u0341\5\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\u03d4\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u03cf\10\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u03d5\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\u03d6\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\3\6\1\u0165\13\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u03d7\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u03d8\10\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u03d9\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\6\6\1\u03da\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\2\6\1\u03db\3\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u03dc\3\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u01fd\12\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\2\6\1\u03dd\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\1\6\1\u03de\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\u03df\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\1\u0137\2\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u03e0" + + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u03e1" + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u03e2\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u03e3\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\3\6\1\u03e4\13\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0359\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\6\1\u03e5\1\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u03e6\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\4\6" + + "\1\u03e7\12\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\1\6\1\u03e8\23\6\1\0\3\5\5\u03e9\2\0\3\5" + "\1\u03e9\1\0\1\u03e9\1\0\2\5\3\0\1\5\2\u03e9" + "\1\5\2\u03e9\2\0\2\5\2\u03e9\2\5\13\0\2\5" + "\1\u03e9\1\5\1\u03e9\3\5\1\u03e9\7\5\1\0\1\5" + "\1\u03e9\17\5\2\u03e9\2\5\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\6\1\u03ea\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\4\6\1\u03eb\12\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u03ec\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\244\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\u03ed\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u03ee" + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u03ef\3\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u03f0\10\6" - + "\1\5\1\0\25\6\1\0\1\5\5\6\1\u03f1\1\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" - + "\5\6\1\u03f2\17\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\1\6" + "\1\u03f3\4\6\2\0\6\6\13\0\15\6\1\u0295\1\6" - + "\1\5\1\0\4\6\1\u0365\1\u03f2\11\6\1\u029a\4\6" + "\1\u03f4\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\11\6\1\u03f5\13\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u03f6\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\12\6\1\u03f7\4\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\6\6\1\u03f8\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" - + "\1\u03f9\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u03fa\5\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\4\6\1\u03fb\12\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u03fc\4\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\5\6\1\u03fd\17\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u03fe" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u03ff\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u0400" - + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\7\6" + "\1\u0401\7\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\1\u0402\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\u0403\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u0404\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u0405\5\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\6\6\1\u0406\10\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u0407\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\2\6\1\u0408\14\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\7\6\1\u0409\7\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + "\1\u040a\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\u040b\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\3\6\1\u03d6\13\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\1\u040c\5\6" - + "\1\0\1\u040d\6\6\13\0\10\6\1\u040e\6\6\1\5" + "\1\0\16\6\1\u040f\6\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\14\6\1\u0410\2\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\3\6\1\u0411\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0202\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0412\5\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\1\6\1\u0413\15\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + "\1\u0414\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\16\6\1\u0415" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\1\6\1\u0416\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + "\1\u0417\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\5\6\1\u0418\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\4\6\1\u0419\1\6\13\0\17\6\1\5" + "\1\0\25\6\37\0\1\u041a\67\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\13\6\1\u041b\3\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\6\6\1\u041c\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\4\6\1\u041d\1\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\12\6\1\u041e" - + "\4\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\2\6\1\u041f\3\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u0420\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u0421\10\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u0422\10\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\4\6" + "\1\u0423\1\u0424\2\0\6\6\13\0\17\6\1\5\1\0" + "\11\6\1\u0425\13\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\2\6\1\u0426" + "\22\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u0427\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\6\1\u03ea\15\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\4\6\1\u03eb\12\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u03ec\10\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\244\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\u03ed\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u03ee" + + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u03ef\3\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u03f0\10\6" + "\1\5\1\0\25\6\1\0\1\5\5\6\1\u03f1\1\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\5\6\1\u03f2\17\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\1\6" + + "\1\u03f3\4\6\2\0\6\6\13\0\15\6\1\u0295\1\6" + "\1\5\1\0\4\6\1\u0365\1\u03f2\11\6\1\u029a\4\6" + + "\1\u03f4\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\11\6\1\u03f5\13\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u03f6\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\12\6\1\u03f7\4\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\6\6\1\u03f8\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u03f9\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u03fa\5\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\4\6\1\u03fb\12\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u03fc\4\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\5\6\1\u03fd\17\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u03fe" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u03ff\2\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u0400" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\7\6" + "\1\u0401\7\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u0402\5\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\u0403\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u0404\2\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u0405\5\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\6\6\1\u0406\10\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u0407\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\2\6\1\u0408\14\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\7\6\1\u0409\7\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + "\1\u040a\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u040b\5\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\3\6\1\u03d6\13\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\1\u040c\5\6" + "\1\0\1\u040d\6\6\13\0\10\6\1\u040e\6\6\1\5" + + "\1\0\16\6\1\u040f\6\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\14\6\1\u0410\2\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u0411\2\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0202\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\u0412\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\1\6\1\u0413\15\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + + "\1\u0414\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\16\6\1\u0415" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\1\6\1\u0416\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + + "\1\u0417\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\5\6\1\u0418\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\u0419\1\6\13\0\17\6\1\5" + + "\1\0\25\6\37\0\1\u041a\67\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\13\6\1\u041b\3\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u041c\10\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\4\6\1\u041d\1\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\12\6\1\u041e" + "\4\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\2\6\1\u041f\3\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\5\6\1\u0420\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u0421\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u0422\10\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\4\6" + + "\1\u0423\1\u0424\2\0\6\6\13\0\17\6\1\5\1\0" + "\11\6\1\u0425\13\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\2\6\1\u0426" + + "\22\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + + "\1\u0427\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\5\6\1\u0165\13\0" + "\17\6\1\5\1\0\2\6\1\u0428\1\6\1\u0429\6\6" - + "\1\u042a\11\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u042b\2\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u042c\12\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u042d\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\5\6\1\u042e\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u042f\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\1\u0430\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\6\6\1\u0431\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\6\6\1\u0432\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\2\6\1\u0433\3\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\5\6\1\u0434\13\0\17\6\1\5\1\0" - + "\25\6\66\0\1\u0435\121\0\1\u0436\107\0\1\u0263\76\0" + "\1\u0263\153\0\1\u0310\121\0\1\u0317\150\0\1\u0310\103\0" - + "\1\u0263\130\0\1\u0437\123\0\1\u0438\150\0\1\u0439\122\0" + "\1\u043a\61\0\1\u0435\171\0\1\u03a8\45\0\44\u03b3\1\u0263" + + "\1\u042a\11\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u042b\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u042c\12\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u042d\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\5\6\1\u042e\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u042f\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u0430\5\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\6\6\1\u0431\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u0432\10\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\2\6\1\u0433\3\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\5\6\1\u0434\13\0\17\6\1\5\1\0" + "\25\6\66\0\1\u0435\121\0\1\u0436\107\0\1\u0263\76\0" + + "\1\u0263\153\0\1\u0310\121\0\1\u0317\150\0\1\u0310\103\0" + + "\1\u0263\130\0\1\u0437\123\0\1\u0438\150\0\1\u0439\122\0" + + "\1\u043a\61\0\1\u0435\171\0\1\u03a8\45\0\44\u03b3\1\u0263" + "\61\u03b3\37\0\1\u043b\146\0\1\u043c\104\0\1\u043d\66\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\14\6" + "\1\u0165\2\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\1\6\1\u043e\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\5\6\1\u043f\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u0440" - + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u0441\4\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\u0150\1\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0442\5\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\12\6" + "\1\u0443\4\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u0444\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u0445\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u0446\2\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\u0447\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\6\6\1\u0448\10\6\1\5" + "\1\0\25\6\7\0\1\u0449\17\0\1\u044a\1\u044b\2\0" - + "\1\u044c\73\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\2\6\1\u044d\3\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u044e\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u044f\15\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u0450\4\6\13\0\17\6\1\5\1\0" + "\25\6\34\0\1\u0451\33\0\1\u0452\36\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u0453\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u0454\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + "\1\u0455\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0456\1\u0457" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\u0458\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\u02cc\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\4\6\1\u0459\12\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" - + "\1\u02cc\14\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\u045a\2\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\4\6\1\u045b" + "\1\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\7\6\1\u045c\7\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\5\6\1\u045d\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u045e\5\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u045f" + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u0460" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\3\6\1\u0461\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\5\6\1\u0462\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\14\6\1\u0463\10\6\1\0\1\5\7\6" + "\2\0\1\123\1\6\1\u01fd\1\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\3\6\1\241\13\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0464" + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0156\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u0137\12\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0465\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0466" - + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\u0467\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\u0468\2\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" - + "\1\u0469\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\5\6\1\u01eb\2\0\6\6\13\0" - + "\17\6\1\5\1\0\15\6\1\u0299\7\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u046a\3\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\4\6\1\u046b\12\6\1\5" - + "\1\0\25\6\1\0\3\5\5\256\2\0\3\5\1\256" + "\1\0\1\256\1\0\2\5\3\0\1\5\2\256\1\5" + "\2\256\2\0\2\5\2\256\2\5\13\0\2\5\1\256" - + "\1\5\1\256\3\5\1\256\7\5\1\0\1\5\1\256" + "\17\5\2\256\2\5\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\5\6\1\u01c6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u046c\5\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\5\6\1\u01e1\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u046d\15\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\2\6\1\u0173\14\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u046e\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\1\6\1\u046f\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\6\1\u0470\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + "\1\u0471\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\u0472\2\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\1\6\1\u0473\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u0474" - + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u0475\2\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0476\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\1\u0477\24\6\1\0" - + "\1\5\5\6\1\u0478\1\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\1\u0324\5\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\14\6\1\u0479" + "\2\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u047a\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u047b\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u047c\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\4\6\1\u047d\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\4\6\1\u038c\1\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\3\6\1\u047e\13\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u047f" - + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u0480" - + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u0481\2\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0482\5\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0483\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\5\6\1\u0484\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0485\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\5\6\1\u0486\1\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\13\6\1\u0487\1\6\1\u0488" + "\7\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u0489\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\14\6" + "\1\u0165\2\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u043e\4\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\5\6\1\u043f\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u0440" + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u0441\4\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\4\6\1\u0150\1\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0442\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\12\6" + + "\1\u0443\4\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\2\6\1\u0444\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u0445\2\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u0446\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u0447\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u0448\10\6\1\5" + + "\1\0\25\6\7\0\1\u0449\17\0\1\u044a\1\u044b\2\0" + "\1\u044c\73\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\2\6\1\u044d\3\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u044e\2\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u044f\15\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u0450\4\6\13\0\17\6\1\5\1\0" + + "\25\6\34\0\1\u0451\33\0\1\u0452\36\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\3\6\1\u0453\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u0454\2\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + + "\1\u0455\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0456\1\u0457" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u0458\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\u02cc\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u0459\12\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" + + "\1\u02cc\14\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\u045a\2\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\4\6\1\u045b" + "\1\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\7\6\1\u045c\7\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\5\6\1\u045d\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u045e\5\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u045f" + + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u0460" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u0461\2\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\5\6\1\u0462\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\14\6\1\u0463\10\6\1\0\1\5\7\6" + + "\2\0\1\123\1\6\1\u01fd\1\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\3\6\1\241\13\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0464" + + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0156\3\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u0137\12\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0465\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0466" + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\u0467\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\u0468\2\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + + "\1\u0469\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\5\6\1\u01eb\2\0\6\6\13\0" + "\17\6\1\5\1\0\15\6\1\u0299\7\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u046a\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\4\6\1\u046b\12\6\1\5" + "\1\0\25\6\1\0\3\5\5\256\2\0\3\5\1\256" + + "\1\0\1\256\1\0\2\5\3\0\1\5\2\256\1\5" + "\2\256\2\0\2\5\2\256\2\5\13\0\2\5\1\256" + + "\1\5\1\256\3\5\1\256\7\5\1\0\1\5\1\256" + "\17\5\2\256\2\5\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\5\6\1\u01c6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u046c\5\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\5\6\1\u01e1\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u046d\15\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\2\6\1\u0173\14\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\u046e\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\1\6\1\u046f\15\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\1\6\1\u0470\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + "\1\u0471\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\1\u0472\2\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\1\6\1\u0473\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u0474" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u0475\2\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\2\6\1\u0476\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\1\u0477\24\6\1\0" + + "\1\5\5\6\1\u0478\1\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\1\u0324\5\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\14\6\1\u0479" + "\2\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u047a\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u047b\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u047c\10\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\4\6\1\u047d\1\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\4\6\1\u038c\1\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\3\6\1\u047e\13\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u047f" + + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u0480" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u0481\2\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\u0482\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0483\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\5\6\1\u0484\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\u0485\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\5\6\1\u0486\1\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\13\6\1\u0487\1\6\1\u0488" + + "\7\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + + "\1\u0489\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\4\6\1\u048a\1\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\1\6\1\u048b\1\u048c\2\6" - + "\1\u048d\3\6\1\u048e\13\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\14\6\1\u0254\2\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u048f\15\6\1\5\1\0\25\6" + + "\1\u048d\3\6\1\u048e\13\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\14\6\1\u0254\2\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u048f\15\6\1\5\1\0\25\6" + "\103\0\1\u0490\3\0\1\u0491\17\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\u03f5\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\6\1\u0492\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\1\u0493\5\6\2\0\6\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\5\6\1\u0494\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\15\6\1\u0495\7\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u0496" + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\2\6\1\u0497\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0498\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\4\6\1\u0499\1\u0418" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\6\1\202\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\11\6\1\u049a\13\6\40\0\1\u049b\66\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\4\6\1\u049c\1\6\2\0\6\6\13\0\15\6" + "\1\u049d\1\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\6\1\u049e\1\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\1\6\1\u049f\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" - + "\1\u04a0\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u017b\1\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\10\6\1\u04a1\6\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\12\6\1\u04a2\4\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + "\1\u04a3\2\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u04a4\10\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u04a5\1\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u04a6\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u04a7" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\7\6\1\u04a8" + "\7\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\u04a9\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u04aa" + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u04ab\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\u04ac\1\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\16\6\1\u04ad\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u04ae\5\6\1\u04af\2\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\1\6\1\u04b0\4\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u04b1\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\14\6\1\u04b2\2\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\12\6\1\u04b3\4\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u04b4\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u04b5\15\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\1\u04b6\16\6\1\5\1\0\25\6" + "\42\0\1\u04b7\127\0\1\u04b8\114\0\1\u04b9\34\0\1\u04ba" - + "\74\0\1\u0310\130\0\1\u04bb\123\0\1\u04bc\127\0\1\u04bd" + "\144\0\1\u04be\132\0\1\u04bf\40\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\1\0\1\u04c0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0130" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u04c1" + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\7\6\1\u04c2\7\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\2\6\1\u04c3\22\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u04c4" - + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u04c5\4\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\14\6\1\u04c6\2\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u04c7\3\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u04c8\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\6\6\2\0\2\6\1\u03f5\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u0492\4\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\1\u0493\5\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\5\6\1\u0494\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\15\6\1\u0495\7\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u0496" + + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\2\6\1\u0497\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0498\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\4\6\1\u0499\1\u0418" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\6\1\202\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\11\6\1\u049a\13\6\40\0\1\u049b\66\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\4\6\1\u049c\1\6\2\0\6\6\13\0\15\6" + "\1\u049d\1\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\1\6\1\u049e\1\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\1\6\1\u049f\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u04a0\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u017b\1\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\10\6\1\u04a1\6\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\12\6\1\u04a2\4\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + + "\1\u04a3\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u04a4\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u04a5\1\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u04a6\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u04a7" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\7\6\1\u04a8" + + "\7\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\u04a9\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u04aa" + + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\1\u04ab\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\4\6\1\u04ac\1\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\16\6\1\u04ad\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + + "\1\u04ae\5\6\1\u04af\2\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\1\6\1\u04b0\4\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u04b1\4\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\14\6\1\u04b2\2\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\12\6\1\u04b3\4\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u04b4\2\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u04b5\15\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\1\u04b6\16\6\1\5\1\0\25\6" + + "\42\0\1\u04b7\127\0\1\u04b8\114\0\1\u04b9\34\0\1\u04ba" + + "\74\0\1\u0310\130\0\1\u04bb\123\0\1\u04bc\127\0\1\u04bd" + + "\144\0\1\u04be\132\0\1\u04bf\40\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\1\0\1\u04c0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0130" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u04c1" + + "\12\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\7\6\1\u04c2\7\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\2\6\1\u04c3\22\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u04c4" + + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u04c5\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\14\6\1\u04c6\2\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u04c7\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u04c8\1\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u04c9" + "\15\6\1\5\1\0\25\6\42\0\1\u04ca\125\0\1\u04cb" + "\77\0\1\u04cc\177\0\1\u04cd\40\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u04ce\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u04cf\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u04d0\2\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\3\6\1\u0187\2\6\13\0\17\6\1\5" + "\1\0\25\6\15\0\1\u04d1\151\0\1\u04d1\65\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\3\6\1\u04d2" + "\13\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\14\6\1\u04d3\2\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u04d4\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u04d5" + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\2\6\1\u04d6\3\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\4\6\1\u0293\1\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\6\1\u04d7\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u04d8\5\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u04d9\15\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\6\6\1\u04da\10\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u04db" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u04dc" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u04dd\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" - + "\1\u04de\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u04df\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\u04e0\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\2\6\1\u04e1\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\6\6\1\u04e2\10\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" - + "\1\u04e3\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u0134\5\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u04e4\3\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u04e5\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u03b7\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\1\6" + "\1\u04e6\4\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u04e7\12\6\1\5\1\0\25\6\1\0" + "\1\5\5\6\1\u04e8\1\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\1\u0362\5\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\2\6\1\u04e9\6\6" + "\1\u04ea\6\6\1\76\4\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u04a2\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u04eb\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u038c\1\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\6\1\u04ec\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\16\6\1\u04ed\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\2\6\1\u04ee" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\6\6\1\u04ef\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\6\6\1\u021c\10\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u018a\5\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\4\6\1\u04f0\12\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u04f1\4\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u04f2\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u04f3\15\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\5\6" + "\1\u01eb\2\0\6\6\13\0\17\6\1\5\1\0\11\6" + "\1\u04f4\13\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\4\6\1\u0296\20\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u04f5\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u04f6\7\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\2\6\1\u04f7\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u04f8" - + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u04f9\4\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u04fa\2\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\2\6\1\u04fb" + "\3\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\13\6\1\u04fc\11\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u04fd\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\7\6\1\u04fe\7\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u04ff\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0500" + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\2\6\1\u0501\3\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\6\1\u0502\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\2\6\1\u0503\14\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\1\6\1\u0504\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u0505\4\6\13\0" - + "\4\6\1\u0506\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0507\5\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\1\u0508\16\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u0509\15\6\1\5\1\0\25\6\1\0\1\5" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u04ce\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\5\6\1\u04cf\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u04d0\2\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u0187\2\6\13\0\17\6\1\5" + + "\1\0\25\6\15\0\1\u04d1\151\0\1\u04d1\65\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\3\6\1\u04d2" + "\13\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\14\6\1\u04d3\2\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u04d4\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u04d5" + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\2\6\1\u04d6\3\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\4\6\1\u0293\1\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u04d7\4\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u04d8\5\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u04d9\15\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\6\6\1\u04da\10\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u04db" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u04dc" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u04dd\10\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u04de\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u04df\12\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u04e0\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u04e1\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\6\6\1\u04e2\10\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + + "\1\u04e3\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\u0134\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u04e4\3\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u04e5\5\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\6\1\u03b7\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\1\6" + "\1\u04e6\4\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\4\6\1\u04e7\12\6\1\5\1\0\25\6\1\0" + "\1\5\5\6\1\u04e8\1\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\1\u0362\5\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\2\6\1\u04e9\6\6" + + "\1\u04ea\6\6\1\76\4\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\u04a2\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u04eb\10\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u038c\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u04ec\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\16\6\1\u04ed\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\2\6\1\u04ee" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\6\6\1\u04ef\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u021c\10\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u018a\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\4\6\1\u04f0\12\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u04f1\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u04f2\2\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u04f3\15\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\5\6" + "\1\u01eb\2\0\6\6\13\0\17\6\1\5\1\0\11\6" + + "\1\u04f4\13\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\4\6\1\u0296\20\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u04f5\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u04f6\7\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u04f7\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u04f8" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u04f9\4\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\3\6\1\u04fa\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\2\6\1\u04fb" + "\3\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\13\6\1\u04fc\11\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u04fd\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\7\6\1\u04fe\7\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\6\6\1\u04ff\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0500" + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\2\6\1\u0501\3\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\u0502\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\2\6\1\u0503\14\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\1\6\1\u0504\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u0505\4\6\13\0" + "\4\6\1\u0506\12\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0507\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\1\u0508\16\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u0509\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\4\6\1\u050a" - + "\12\6\1\5\1\0\25\6\37\0\1\u050b\103\0\1\u050c" + "\111\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\1\6\1\u050d\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u050e" - + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\16\6\1\u0165\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u050f\4\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u0510\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u0511\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\2\6\1\u0512\14\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u0513\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\3\6\1\u0514\2\6\13\0" + "\17\6\1\5\1\0\25\6\74\0\1\u0515\32\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u0516" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\u0517\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\u0518\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0519\4\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" - + "\1\6\1\u051a\23\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u051b\3\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u0130\3\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u051c\1\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u051d\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u051e\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u051f" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\6\1\u0520\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\1\6\1\u0521\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\6\1\u0522\4\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\3\6\1\u0523\13\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0524\5\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\1\u0525" + "\5\6\2\0\6\6\13\0\10\6\1\u0526\6\6\1\5" - + "\1\0\4\6\1\u0527\20\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\15\6\1\u0295\1\6\1\5" - + "\1\0\4\6\1\u0296\20\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0528\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\15\6\1\u0288\1\6\1\5\1\0\15\6" - + "\1\u0299\7\6\1\0\1\5\7\6\2\0\1\123\1\u0529" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u052a\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\20\6\1\76\4\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u052b\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u052c" - + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u052d\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\11\6\1\u029d\13\6\43\0\1\u0263\124\0\1\u052e\151\0" - + "\1\u052f\101\0\1\u0530\122\0\1\u0531\162\0\1\u0263\74\0" + "\1\u03b3\121\0\1\u03b3\125\0\1\u0532\116\0\1\u044b\76\0" - + "\1\5\7\6\2\0\1\123\1\u0533\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u0534\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u0535" - + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0536\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\1\0\1\u0537\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\15\6\1\u0295\1\6\1\5\1\0\17\6" + "\1\u029a\5\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u0538\1\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0539\5\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\6\1\u053a\1\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\25\6\37\0\1\u053b\103\0\1\u053c\176\0" + "\1\u053d\102\0\1\u053e\63\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u04ad\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\u022d\16\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\6\1\u053f\4\6\13\0" + "\17\6\1\5\1\0\25\6\64\0\1\u0540\42\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\11\6\1\u0541\13\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\4\6" + "\1\u0296\6\6\1\u0298\11\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\13\6\1\u0542\3\6\1\5" + "\1\0\25\6\1\0\1\5\5\6\1\u0543\1\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\1\0\1\u0544\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" - + "\1\u0545\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" - + "\1\u0546\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" - + "\2\6\1\u039f\22\6\1\0\1\5\7\6\2\0\1\123" + "\1\u0547\2\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0548" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u0549\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\1\6\1\u0339\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\1\u0207\24\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\4\6\1\u054a\20\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\16\6\1\u0130\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" - + "\1\u054b\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\4\6" - + "\1\u01e1\12\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" - + "\1\u03df\24\6\1\0\1\5\7\6\2\0\1\123\2\6" + "\1\241\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\4\6\1\u054c\1\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\1\u054d\2\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u054e\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u054f\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\u0550\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\u0551\1\u0552\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\4\6\1\u0130\12\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" - + "\1\u0553\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0554\3\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\2\6\1\u0555\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\4\6\1\u03d1\1\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0556" + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\2\6\1\u0557\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\2\6" + "\1\u0558\3\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0559" - + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u055a\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u055b\15\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\2\6\1\u055c\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\2\6\1\u0130\14\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u055d\3\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\14\6\1\u055e\2\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u055f\5\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0560" + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\2\6\1\u0561\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u0562\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + "\1\u0563\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\2\6\1\u0564\3\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\3\6\1\u0565\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\17\6\1\5\1\0\14\6\1\u0566" + "\10\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\1\6\1\u0567\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\1\u0568\5\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u0569\4\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\13\6\1\u056a\3\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u056b\12\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u056c\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u056d\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" - + "\1\u056e\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u056f" + "\2\6\13\0\17\6\1\5\1\0\25\6\42\0\1\u0570" - + "\147\0\1\u0571\42\0\1\5\7\6\2\0\1\123\1\u0348" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\5\6\1\u0572\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0573\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u0574\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0575" + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\4\6\1\u0576\20\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\6\1\u0577\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\4\6\1\u0578\12\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u0579" - + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\5\6\1\u057a\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u057b\3\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\7\6\1\u057c\7\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u057d\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\2\6\1\u057e\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u057f\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0580" + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\7\6\1\u0581" + "\7\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\1\u0582\16\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" - + "\1\u0583\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u02e7\4\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u0584\3\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\u0585\2\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\3\6\1\u0586\13\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u0587" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u0588\2\6\13\0\1\6\1\u0589" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\1\6\1\u01e1\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u0165\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u058a\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\3\6\1\u02cf\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\17\6\1\5\1\0\4\6\1\u058b" + "\20\6\1\0\1\5\5\6\1\u058c\1\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u047d\5\6\13\0" - + "\17\6\1\5\1\0\25\6\16\0\1\u058d\150\0\1\u058e" + "\123\0\1\u058f\127\0\1\u0590\154\0\1\u0591\36\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\4\6\1\u0592\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u038c\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\3\6\1\u0593\13\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\5\6\1\u0594\13\0" + "\17\6\1\5\1\0\25\6\103\0\1\u0595\3\0\1\u0596" - + "\17\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u0202\12\6\1\5\1\0\25\6\1\0\1\5" + + "\12\6\1\5\1\0\25\6\37\0\1\u050b\103\0\1\u050c" + "\111\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u050d\15\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u050e" + + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\16\6\1\u0165\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u050f\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u0510\5\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\6\6\1\u0511\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\2\6\1\u0512\14\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\1\6\1\u0513\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\u0514\2\6\13\0" + "\17\6\1\5\1\0\25\6\74\0\1\u0515\32\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u0516" + + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\2\6\1\u0517\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0518\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0519\4\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\1\6\1\u051a\23\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u051b\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + + "\1\u0130\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u051c\1\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u051d\3\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u051e\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u051f" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u0520\4\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\1\6\1\u0521\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u0522\4\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\3\6\1\u0523\13\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\u0524\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\1\u0525" + "\5\6\2\0\6\6\13\0\10\6\1\u0526\6\6\1\5" + + "\1\0\4\6\1\u0527\20\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\15\6\1\u0295\1\6\1\5" + "\1\0\4\6\1\u0296\20\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0528\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\15\6\1\u0288\1\6\1\5\1\0\15\6" + "\1\u0299\7\6\1\0\1\5\7\6\2\0\1\123\1\u0529" + + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u052a\3\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\20\6\1\76\4\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u052b\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u052c" + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u052d\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\11\6\1\u029d\13\6\43\0\1\u0263\124\0\1\u052e\151\0" + + "\1\u052f\101\0\1\u0530\122\0\1\u0531\162\0\1\u0263\74\0" + + "\1\u03b3\121\0\1\u03b3\125\0\1\u0532\116\0\1\u044b\76\0" + "\1\5\7\6\2\0\1\123\1\u0533\2\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u0534\2\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u0535" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0536\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\1\0\1\u0537\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\15\6\1\u0295\1\6\1\5\1\0\17\6" + "\1\u029a\5\6\1\0\1\5\7\6\2\0\1\123\1\6" + + "\1\u0538\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0539\5\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\6\1\u053a\1\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\37\0\1\u053b\103\0\1\u053c\176\0" + + "\1\u053d\102\0\1\u053e\63\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\6\1\u04ad\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\u022d\16\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u053f\4\6\13\0" + + "\17\6\1\5\1\0\25\6\64\0\1\u0540\42\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\11\6\1\u0541\13\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\4\6" + + "\1\u0296\6\6\1\u0298\11\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\13\6\1\u0542\3\6\1\5" + "\1\0\25\6\1\0\1\5\5\6\1\u0543\1\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\1\0\1\u0544\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + + "\1\u0545\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u0546\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\2\6\1\u039f\22\6\1\0\1\5\7\6\2\0\1\123" + "\1\u0547\2\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0548" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u0549\2\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\1\6\1\u0339\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\1\u0207\24\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\11\6\1\u0597\13\6\41\0\1\u0598\157\0\1\u0599" + "\75\0\1\u059a\121\0\1\u059b\67\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\4\6\1\u059c\12\6\1\5" + "\1\0\25\6\61\0\1\u059a\45\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0551\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u059d\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u059e\1\6" + "\13\0\17\6\1\5\1\0\25\6\30\0\1\u059f\76\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u05a0\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\3\6\1\u0187\13\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\1\6\1\u04f7\1\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" - + "\1\u045e\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u05a1\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u05a2\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u05a3\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u05a4\15\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\1\6\1\u05a5\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\5\6\1\u05a6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + "\1\u05a7\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\u0165\5\6\13\0" + "\17\6\1\5\1\0\3\6\1\u05a8\21\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\u05a9\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\3\6\1\u05aa\13\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u05ab\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u05ac\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u05ad\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\5\6\1\u05ae" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u05af\1\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u05b0\1\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\2\6\1\u05b1\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u05b2\1\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\6\1\u05b3\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\23\6" + "\1\u02e0\1\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\2\6\1\u05b4\14\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\2\6\1\u05b5\22\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u05b6" - + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u05b7\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\1\6\1\u05b8" + "\4\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\7\6\1\u05b9\7\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u05ba\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\4\6\1\u05bb\1\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + "\1\u05bc\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\u05bd\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\3\6\1\u05be\13\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\1\6\1\u05bf\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\7\6\1\u05c0\7\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\u051e\2\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u05c1\3\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u04a2" + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u05c2\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u05c3\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\4\6\1\u0165\1\6\13\0\17\6\1\5\1\0\25\6" - + "\37\0\1\u05c4\130\0\1\u05c5\64\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\u05c6\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" - + "\1\u0581\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\2\6\1\u05c7" - + "\14\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\2\6\1\u05c8\14\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\13\6\1\u0130\11\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\7\6\1\u05c9\7\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\u05ca\16\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\7\6\1\u05cb\7\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\6\1\u05cc\15\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0130\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\3\6\1\u043f\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\1\6\1\u05cd\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\4\6\1\u05ce\1\6" - + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\1\u05cf\24\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\2\6\1\300\14\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u05d0\3\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u0580\15\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u05d1\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u05d2\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u05d3\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u05d4\2\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u05d5\1\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\u05d6\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u02b7\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\4\6\1\u05d7\1\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u05d8\5\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u05d9\2\6" + "\13\0\17\6\1\5\1\0\25\6\41\0\1\u05da\127\0" - + "\1\u0590\124\0\1\u0263\145\0\1\u0263\124\0\1\u05db\45\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u05dc\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\3\6\1\u0433\13\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\6\6\1\u05dd\10\6\1\5\1\0" + "\25\6\14\0\1\u05de\126\0\1\u05df\111\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u05e0\15\6" - + "\1\5\1\0\25\6\73\0\1\u05e1\46\0\1\u05e2\173\0" + "\1\u05e3\104\0\1\u05e4\65\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u05e5\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\5\6\1\u05e6\1\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + "\1\u05e7\15\6\1\5\1\0\25\6\66\0\1\u05e8\40\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\4\6\1\u05e9\1\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\1\u0232\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\0\4\6\1\u054a\20\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\16\6\1\u0130\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u054b\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\4\6" + + "\1\u01e1\12\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\1\u03df\24\6\1\0\1\5\7\6\2\0\1\123\2\6" + + "\1\241\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\4\6\1\u054c\1\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\u054d\2\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u054e\3\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\1\6\1\u054f\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u0550\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0551\1\u0552\2\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\4\6\1\u0130\12\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u0553\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0554\3\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\2\6\1\u0555\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\4\6\1\u03d1\1\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0556" + + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\2\6\1\u0557\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\2\6" + "\1\u0558\3\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0559" + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u055a\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u055b\15\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u055c\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\2\6\1\u0130\14\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u055d\3\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\14\6\1\u055e\2\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u055f\5\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0560" + + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\2\6\1\u0561\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u0562\2\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + + "\1\u0563\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\2\6\1\u0564\3\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u0565\2\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\14\6\1\u0566" + "\10\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\6\1\u0567\15\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\1\u0568\5\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\u0569\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\13\6\1\u056a\3\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\4\6\1\u056b\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\u056c\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u056d\4\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u056e\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u056f" + "\2\6\13\0\17\6\1\5\1\0\25\6\42\0\1\u0570" + + "\147\0\1\u0571\42\0\1\5\7\6\2\0\1\123\1\u0348" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\5\6\1\u0572\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0573\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u0574\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0575" + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\4\6\1\u0576\20\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\u0577\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\4\6\1\u0578\12\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u0579" + + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\5\6\1\u057a\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u057b\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\7\6\1\u057c\7\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u057d\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\2\6\1\u057e\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\6\6\1\u057f\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0580" + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\7\6\1\u0581" + + "\7\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\1\u0582\16\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u0583\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u02e7\4\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\2\6\1\u0584\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\1\u0585\2\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\3\6\1\u0586\13\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\1\6\1\u0587" + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u0588\2\6\13\0\1\6\1\u0589" + + "\15\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u01e1\1\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u0165\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + + "\1\u058a\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\3\6\1\u02cf\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\4\6\1\u058b" + + "\20\6\1\0\1\5\5\6\1\u058c\1\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\u047d\5\6\13\0" + "\17\6\1\5\1\0\25\6\16\0\1\u058d\150\0\1\u058e" + + "\123\0\1\u058f\127\0\1\u0590\154\0\1\u0591\36\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\4\6\1\u0592\1\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u038c\5\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\3\6\1\u0593\13\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\5\6\1\u0594\13\0" + "\17\6\1\5\1\0\25\6\103\0\1\u0595\3\0\1\u0596" + + "\17\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\4\6\1\u0202\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\11\6\1\u0597\13\6\41\0\1\u0598\157\0\1\u0599" + + "\75\0\1\u059a\121\0\1\u059b\67\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\4\6\1\u059c\12\6\1\5" + "\1\0\25\6\61\0\1\u059a\45\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0551\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\5\6\1\u059d\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u059e\1\6" + "\13\0\17\6\1\5\1\0\25\6\30\0\1\u059f\76\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u05a0\3\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\3\6\1\u0187\13\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\1\6\1\u04f7\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + + "\1\u045e\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u05a1\1\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\6\1\u05a2\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u05a3\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u05a4\15\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\6\1\u05a5\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\5\6\1\u05a6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + "\1\u05a7\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u0165\5\6\13\0" + + "\17\6\1\5\1\0\3\6\1\u05a8\21\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\u05a9\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\3\6\1\u05aa\13\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u05ab\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u05ac\1\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u05ad\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\5\6\1\u05ae" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u05af\1\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u05b0\1\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\2\6\1\u05b1\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u05b2\1\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u05b3\4\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\23\6" + "\1\u02e0\1\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\2\6\1\u05b4\14\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\2\6\1\u05b5\22\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u05b6" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u05b7\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\1\6\1\u05b8" + + "\4\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\7\6\1\u05b9\7\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u05ba\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\4\6\1\u05bb\1\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + "\1\u05bc\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u05bd\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\3\6\1\u05be\13\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u05bf\15\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\7\6\1\u05c0\7\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\u051e\2\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u05c1\3\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u04a2" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u05c2\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u05c3\10\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\4\6\1\u0165\1\6\13\0\17\6\1\5\1\0\25\6" + "\37\0\1\u05c4\130\0\1\u05c5\64\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u05c6\5\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + + "\1\u0581\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\2\6\1\u05c7" + "\14\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\2\6\1\u05c8\14\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\13\6\1\u0130\11\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\7\6\1\u05c9\7\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\u05ca\16\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\7\6\1\u05cb\7\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\1\6\1\u05cc\15\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0130\4\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\3\6\1\u043f\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u05cd\4\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\4\6\1\u05ce\1\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\1\u05cf\24\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\2\6\1\300\14\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u05d0\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u0580\15\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u05d1\2\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\3\6\1\u05d2\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u05d3\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\1\u05d4\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u05d5\1\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u05d6\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\1\u02b7\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\4\6\1\u05d7\1\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u05d8\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u05d9\2\6" + + "\13\0\17\6\1\5\1\0\25\6\41\0\1\u05da\127\0" + "\1\u0590\124\0\1\u0263\145\0\1\u0263\124\0\1\u05db\45\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u05dc\2\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\3\6\1\u0433\13\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\6\6\1\u05dd\10\6\1\5\1\0" + + "\25\6\14\0\1\u05de\126\0\1\u05df\111\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u05e0\15\6" + "\1\5\1\0\25\6\73\0\1\u05e1\46\0\1\u05e2\173\0" + + "\1\u05e3\104\0\1\u05e4\65\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u05e5\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\5\6\1\u05e6\1\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + + "\1\u05e7\15\6\1\5\1\0\25\6\66\0\1\u05e8\40\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\4\6\1\u05e9\1\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u0232\5\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\4\6\1\u05ea\20\6" + "\1\0\1\5\7\6\2\0"; - private static final String ZZ_TRANS_PACKED_1 = "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u05eb\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u05ec\4\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\2\6\1\u05ed\14\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\5\6\1\u05ee\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\4\6\1\u05ef\1\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u05f0\2\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\1\u05f1\16\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\1\0\1\u05f2\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\3\6\1\u052d\13\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u05f3" - + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u05f4\4\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\4\6\1\u05f5\1\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u05f6\15\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u05f7\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u05f8\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u05f9\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\1\0\1\u05fa\5\6" + "\1\u05fb\13\0\15\6\1\u05fc\1\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\5\6\1\u01eb\2\0\6\6" + "\13\0\17\6\1\5\1\0\4\6\1\u0576\20\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\u05fd\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\1\6\1\u05fe\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\5\6\1\u05ff\17\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\1\6\1\u0600\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\15\6\1\u0295" - + "\1\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\4\6\1\u0601\12\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u0602\3\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0130" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u043f\12\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\2\6\1\u0603\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u0604\12\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u0605\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\5\6\1\u0606\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\3\6\1\u0607\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0608\5\6" - + "\13\0\17\6\1\5\1\0\25\6\41\0\1\u0515\100\0" + "\1\u0609\112\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" - + "\1\u060a\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\5\6\1\u060b\1\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\5\6\1\u060c\2\0" - + "\6\6\13\0\17\6\1\5\1\0\13\6\1\u060d\11\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\1\u060e\5\6\2\0\6\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u060f\2\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\6\6\1\u0610\10\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + "\1\u0611\2\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\1\u0612\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u0613\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u0614\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u0615" + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u043f\1\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\7\6\1\u0616\7\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\7\6\1\u0617\7\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\2\6\1\u0618\5\6\1\u0619\14\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u061a\5\6" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u0165\3\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u0130\2\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\2\6\1\u061b\14\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u061c\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + private static final String ZZ_TRANS_PACKED_1 = "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\2\6\1\u05eb\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u05ec\4\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\2\6\1\u05ed\14\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\5\6\1\u05ee\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\4\6\1\u05ef\1\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u05f0\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\1\u05f1\16\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\1\0\1\u05f2\6\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\3\6\1\u052d\13\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u05f3" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u05f4\4\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\4\6\1\u05f5\1\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u05f6\15\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u05f7\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\6\6\1\u05f8\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u05f9\2\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\1\0\1\u05fa\5\6" + + "\1\u05fb\13\0\15\6\1\u05fc\1\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\5\6\1\u01eb\2\0\6\6" + "\13\0\17\6\1\5\1\0\4\6\1\u0576\20\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u05fd\5\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\1\6\1\u05fe\15\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\5\6\1\u05ff\17\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\1\6\1\u0600\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\15\6\1\u0295" + "\1\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\4\6\1\u0601\12\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u0602\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0130" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\4\6\1\u043f\12\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\2\6\1\u0603\3\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u0604\12\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u0605\2\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\5\6\1\u0606\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u0607\2\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u0608\5\6" + + "\13\0\17\6\1\5\1\0\25\6\41\0\1\u0515\100\0" + "\1\u0609\112\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u060a\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\5\6\1\u060b\1\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\5\6\1\u060c\2\0" + + "\6\6\13\0\17\6\1\5\1\0\13\6\1\u060d\11\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\1\u060e\5\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u060f\2\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\6\6\1\u0610\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6" + "\1\u0611\2\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\1\u0612\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\3\6\1\u0613\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u0614\15\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u0615" + + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u043f\1\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\7\6\1\u0616\7\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\7\6\1\u0617\7\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\2\6\1\u0618\5\6\1\u0619\14\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u061a\5\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u0165\3\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u0130\2\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\2\6\1\u061b\14\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u061c\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u061d\1\6\13\0\17\6" + "\1\5\1\0\25\6\37\0\1\u04bc\152\0\1\u03b3\42\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u061e\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u061f\15\6" + "\1\5\1\0\25\6\31\0\1\u0620\162\0\1\u0621\40\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" + "\1\u0622\14\6\1\5\1\0\25\6\61\0\1\u041a\106\0" + + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u061e\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u061f\15\6" + + "\1\5\1\0\25\6\31\0\1\u0620\162\0\1\u0621\40\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" + "\1\u0622\14\6\1\5\1\0\25\6\61\0\1\u041a\106\0" + "\1\u0623\124\0\1\u0624\124\0\1\u0625\66\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\1\6\1\u0626\4\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\1\6\1\u0627\15\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + + "\3\0\1\6\1\u0626\4\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\1\6\1\u0627\15\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + "\1\u047d\13\0\17\6\1\5\1\0\25\6\73\0\1\u0628" + "\33\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0629" + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u062a\1\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\6\1\u062b\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\7\6\1\u062c\7\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u062d" - + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\4\6\1\u062e\1\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u062f\3\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u0630\3\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u0631\15\6\1\5\1\0\25\6\103\0\1\u0632" - + "\23\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\1\u02cc\24\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u0633\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\11\6\1\u038c\5\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\15\6\1\u0299\7\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\13\6" + "\1\u0634\3\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u02cc\3\6" + "\1\5\1\0\25\6\114\0\1\u0635\12\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\1\0\1\u0636\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\3\6\1\u0637\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u0638" - + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\300\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\u0639\16\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u063a\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\1\u0130\16\6" + "\1\5\1\0\25\6\1\0\1\5\5\6\1\u063b\1\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u063c\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u063d\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\1\u063e\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\5\6\1\300\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" - + "\1\u063f\14\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u0640\15\6" - + "\1\5\1\0\25\6\73\0\1\u0641\33\0\1\5\7\6" + "\2\0\1\123\1\6\1\u0642\1\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\4\6\1\u0643\1\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0644" + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\3\6" + "\1\u0645\13\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u0646\10\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\u0647\5\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0334\1\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\1\u0648\5\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\1\6\1\u0649\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" - + "\13\0\14\6\1\u064a\2\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\1\u064b\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\2\6\1\u063d\3\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\17\6\1\u029a\5\6" - + "\1\0\1\5\5\6\1\u064c\1\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\4\6\1\u064d" + "\1\u01eb\2\0\6\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u064e\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u064f\2\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\2\6\1\u0650" + "\22\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u0651\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0652\4\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\2\6\1\u0653\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\6\6\1\u0654\10\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0130" + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\44\0" + "\1\u0655\145\0\1\u0656\42\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\6\6\13\0\6\6\1\u0657\10\6\1\5\1\0" + "\25\6\73\0\1\u0658\72\0\1\u0515\153\0\1\u0659\40\0" - + "\1\5\7\6\2\0\1\123\1\u065a\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\1\6\1\u065b\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\70\0\1\u065c\36\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u065d\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u065e\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\15\6\1\u065f\7\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\3\6\1\u0660\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\2\6\1\u0661\3\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\6\6\1\u027d\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\4\6\1\u03d6\12\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\u0662\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\2\6\1\u038c\14\6\1\5" - + "\1\0\25\6\66\0\1\u0663\40\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\7\6\1\u0664\7\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u0665" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\16\0" - + "\1\u0666\211\0\1\u0667\24\0\1\5\7\6\2\0\1\123" + "\1\6\1\u0668\1\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0669" - + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u066a\4\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u066b\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\4\6\1\u066c\1\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u066d\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u04a2\1\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\5\6\1\u066e\1\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\4\6\1\u066f\1\u01eb\2\0\6\6\13\0\17\6" - + "\1\5\1\0\15\6\1\u0670\1\6\1\u0671\5\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" - + "\1\5\1\0\2\6\1\u048c\22\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u063f\4\6\13\0\17\6" - + "\1\5\1\0\25\6\60\0\1\u0672\46\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u0673\3\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u0674\2\6\13\0\17\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u0675\12\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0676\3\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\1\6\1\u0677\1\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\5\6\1\u0279\1\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\4\6\1\u066f\1\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\1\6\1\u0678" + "\15\6\1\u0671\5\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\4\6\1\u04a2\12\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\2\6\1\u0679\22\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\u0631\1\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\4\6\1\u067a\1\6\13\0\1\6" + "\1\u067b\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u067c\10\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\1\6\1\u067d\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" - + "\1\u067e\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u067f\5\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u0680\4\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u0681\2\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0682\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0629" + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\6\1\u062a\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\u062b\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\7\6\1\u062c\7\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u062d" + + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\4\6\1\u062e\1\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u062f\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u0630\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u0631\15\6\1\5\1\0\25\6\103\0\1\u0632" + + "\23\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\1\u02cc\24\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\2\6\1\u0633\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\11\6\1\u038c\5\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\15\6\1\u0299\7\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\13\6" + "\1\u0634\3\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\13\6\1\u02cc\3\6" + + "\1\5\1\0\25\6\114\0\1\u0635\12\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\1\0\1\u0636\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u0637\2\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u0638" + + "\2\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\1\6\1\300\1\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\u0639\16\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\u063a\2\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\1\u0130\16\6" + "\1\5\1\0\25\6\1\0\1\5\5\6\1\u063b\1\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + + "\1\u063c\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\3\6\1\u063d\2\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u063e\5\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\5\6\1\300\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\2\6" + "\1\u063f\14\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u0640\15\6" + + "\1\5\1\0\25\6\73\0\1\u0641\33\0\1\5\7\6" + "\2\0\1\123\1\6\1\u0642\1\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\4\6\1\u0643\1\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0644" + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\3\6" + "\1\u0645\13\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u0646\10\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\u0647\5\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0334\1\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u0648\5\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\1\6\1\u0649\4\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\14\6\1\u064a\2\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\1\u064b\2\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\2\6\1\u063d\3\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\17\6\1\u029a\5\6" + + "\1\0\1\5\5\6\1\u064c\1\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\4\6\1\u064d" + + "\1\u01eb\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u064e\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\3\6\1\u064f\2\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\2\6\1\u0650" + "\22\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6" + "\1\u0651\3\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\6\1\u0652\4\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\2\6\1\u0653\3\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\6\6\1\u0654\10\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0130" + "\1\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\44\0" + "\1\u0655\145\0\1\u0656\42\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\6\6\1\u0657\10\6\1\5\1\0" + + "\25\6\73\0\1\u0658\72\0\1\u0515\153\0\1\u0659\40\0" + "\1\5\7\6\2\0\1\123\1\u065a\2\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\6\1\u065b\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\70\0\1\u065c\36\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\3\6\1\u065d\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u065e\10\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\15\6\1\u065f\7\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\u0660\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u0661\3\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\6\6\1\u027d\10\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u03d6\12\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\1\6\1\u0662\1\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\2\6\1\u038c\14\6\1\5" + "\1\0\25\6\66\0\1\u0663\40\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\7\6\1\u0664\7\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\u0665" + "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\16\0" + "\1\u0666\211\0\1\u0667\24\0\1\5\7\6\2\0\1\123" + + "\1\6\1\u0668\1\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u0669" + + "\5\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u066a\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\6\1\u066b\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\4\6\1\u066c\1\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u066d\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u04a2\1\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\5\6\1\u066e\1\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\4\6\1\u066f\1\u01eb\2\0\6\6\13\0\17\6" + "\1\5\1\0\15\6\1\u0670\1\6\1\u0671\5\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + + "\1\5\1\0\2\6\1\u048c\22\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\6\1\u063f\4\6\13\0\17\6" + "\1\5\1\0\25\6\60\0\1\u0672\46\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u0673\3\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\3\6\1\u0674\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u0675\12\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\2\6\1\u0676\3\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\1\6\1\u0677\1\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\5\6\1\u0279\1\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\4\6\1\u066f\1\6\2\0\6\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\1\6\1\u0678" + "\15\6\1\u0671\5\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\4\6\1\u04a2\12\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\2\6\1\u0679\22\6\1\0" + "\1\5\7\6\2\0\1\123\1\6\1\u0631\1\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\4\6\1\u067a\1\6\13\0\1\6" + + "\1\u067b\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\6\6\1\u067c\10\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\1\6\1\u067d\4\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6" + + "\1\u067e\1\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\u067f\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u0680\4\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u0681\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0682\1\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\u02e7\5\6\13\0\17\6" + "\1\5\1\0\25\6\41\0\1\u0683\145\0\1\u0684\45\0" + "\1\5\7\6\2\0\1\123\2\6\1\u0685\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\41\0\1\u0686\101\0\1\u0687" - + "\111\0\1\5\7\6\2\0\1\123\1\6\1\u0688\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\12\6\1\u0689" + "\4\6\1\5\1\0\25\6\41\0\1\u068a\65\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\13\6\1\u0528" + "\3\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\u068b\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u068c\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\u068d\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\1\0\1\u068e\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u068f" - + "\5\6\13\0\17\6\1\5\1\0\25\6\67\0\1\u0690" + "\37\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0527" - + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u0691\4\6\13\0" - + "\17\6\1\5\1\0\25\6\27\0\1\u0692\40\0\1\u0693" + "\14\0\1\u0694\10\0\1\u0695\40\0\1\u0696\75\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\2\6\1\u0697" + "\14\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u0698\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u0699\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\2\6\1\u05bc\14\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\3\6\1\u069a\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\6\6\1\u069b\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\1\6\1\u069c\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u069d" - + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\1\6\1\u069e\4\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u069f\10\6\1\5" - + "\1\0\25\6\37\0\1\u06a0\67\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u05bc\4\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u06a1\13\0\17\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + "\1\u06a2\15\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\6\1\u06a3\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\16\6\1\u038c\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u0505" + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u06a4" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\3\6\1\u06a5\2\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u06a6\1\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u06a7" - + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u06a8\3\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u06a9\10\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u06aa\4\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\1\0\1\u06ab\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u06ac\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\111\0\1\5\7\6\2\0\1\123\1\6\1\u0688\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\12\6\1\u0689" + "\4\6\1\5\1\0\25\6\41\0\1\u068a\65\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\13\6\1\u0528" + + "\3\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\u068b\5\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6" + "\1\u068c\4\6\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u068d\5\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\1\0\1\u068e\6\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u068f" + "\5\6\13\0\17\6\1\5\1\0\25\6\67\0\1\u0690" + + "\37\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u0527" + + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u0691\4\6\13\0" + "\17\6\1\5\1\0\25\6\27\0\1\u0692\40\0\1\u0693" + + "\14\0\1\u0694\10\0\1\u0695\40\0\1\u0696\75\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\2\6\1\u0697" + "\14\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u0698\10\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u0699\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\2\6\1\u05bc\14\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u069a\2\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\6\6\1\u069b\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u069c\15\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u069d" + + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\1\6\1\u069e\4\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u069f\10\6\1\5" + + "\1\0\25\6\37\0\1\u06a0\67\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\u05bc\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\5\6\1\u06a1\13\0\17\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\6" + + "\1\u06a2\15\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\6\1\u06a3\4\6\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\16\6\1\u038c\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u0505" + + "\4\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u06a4" + "\10\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u06a5\2\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\1\6" + "\1\u06a6\1\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u06a7" + "\3\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u06a8\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\6\6\1\u06a9\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u06aa\4\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\1\0\1\u06ab\6\6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\1\u06ac\5\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\2\6\1\u06ad\14\6\1\5\1\0\25\6" + "\37\0\1\u0515\150\0\1\u06ae\44\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u06af\10\6\1\5" + "\1\0\25\6\75\0\1\u06b0\123\0\1\u06b1\33\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\2\6\1\u027d" + "\14\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\2\6\1\u06b2\3\6\13\0\17\6\1\5" + "\1\0\25\6\64\0\1\u06b3\42\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u06b4\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u06b5\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\4\6\1\u066f\1\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\7\0\1\u06b6" + "\117\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u06b7\10\6\1\5\1\0\25\6\63\0\1\u06b8" + "\43\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\2\6\1\u027d" + + "\14\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\2\6\1\u06b2\3\6\13\0\17\6\1\5" + "\1\0\25\6\64\0\1\u06b3\42\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u06b4\10\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\1\6\1\u06b5\15\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\4\6\1\u066f\1\6\2\0" + "\6\6\13\0\17\6\1\5\1\0\25\6\7\0\1\u06b6" + + "\117\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\6\6\1\u06b7\10\6\1\5\1\0\25\6\63\0\1\u06b8" + "\43\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u02c0" + "\2\6\13\0\17\6\1\5\1\0\25\6\61\0\1\u06b9" + "\125\0\1\u06ba\61\0\1\u0683\150\0\1\u06bb\131\0\1\u06bc" + "\62\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u02cf\15\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\5\6\1\u06bd\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\3\6\1\u06be\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" - + "\1\u06bf\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u06c0\3\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u03be\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\2\6\1\u06c1" - + "\14\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u06c2\2\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u06c3\3\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\2\6\1\u06c4\14\6\1\5\1\0\25\6\34\0\1\u06c5" - + "\72\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u06c6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\2\6\1\u06c7\14\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" - + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u06c8\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\17\6\1\5\1\0\1\u04a2\24\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\5\6\1\u0528\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\5\6\1\u06c9\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0188" - + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\3\6\1\u06ca\2\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\2\6\1\u0347\14\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\2\6\1\u06cb\3\6\13\0\17\6\1\5\1\0\25\6" - + "\75\0\1\u06cc\31\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u06cd\15\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u01e6" + "\2\6\13\0\17\6\1\5\1\0\25\6\41\0\1\u06ce" - + "\65\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u06a3\12\6\1\5\1\0\25\6\42\0\1\u06cf" - + "\175\0\1\u06d0\14\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u06d1\4\6\13\0\17\6\1\5\1\0\25\6" - + "\66\0\1\u06d2\40\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u06d3\2\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\5\6\1\u03b7\11\6\1\5\1\0\25\6\61\0\1\u06d4" - + "\45\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u06d5" + "\2\6\13\0\17\6\1\5\1\0\25\6\43\0\1\u06d6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\1\6\1\u02cf\15\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\5\6\1\u06bd\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\3\6\1\u06be\2\6\13\0\17\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\5\6" + "\1\u06bf\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u06c0\3\6\13\0" + + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u03be\1\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\2\6\1\u06c1" + "\14\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\3\6\1\u06c2\2\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u06c3\3\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\2\6\1\u06c4\14\6\1\5\1\0\25\6\34\0\1\u06c5" + + "\72\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u06c6" + + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\2\6\1\u06c7\14\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\3\6\1\u06c8\2\6\13\0\17\6\1\5\1\0" + + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\17\6\1\5\1\0\1\u04a2\24\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\5\6\1\u0528\13\0\17\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\5\6\1\u06c9\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\u0188" + + "\1\6\13\0\17\6\1\5\1\0\25\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\3\6\1\u06ca\2\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\2\6\1\u0347\14\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\2\6\1\u06cb\3\6\13\0\17\6\1\5\1\0\25\6" + "\75\0\1\u06cc\31\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\1\6\1\u06cd\15\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u01e6" + + "\2\6\13\0\17\6\1\5\1\0\25\6\41\0\1\u06ce" + "\65\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\4\6\1\u06a3\12\6\1\5\1\0\25\6\42\0\1\u06cf" + + "\175\0\1\u06d0\14\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\6\1\u06d1\4\6\13\0\17\6\1\5\1\0\25\6" + "\66\0\1\u06d2\40\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u06d3\2\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\5\6\1\u03b7\11\6\1\5\1\0\25\6\61\0\1\u06d4" + "\45\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\3\6\1\u06d5" + "\2\6\13\0\17\6\1\5\1\0\25\6\43\0\1\u06d6" + "\77\0\1\u06d7\124\0\1\u06d8\177\0\1\u06d9\76\0\1\u06da" + "\67\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u06db\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\6\6\13\0\2\6\1\u06dc\14\6" + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" - + "\2\0\5\6\1\u06dd\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0417" - + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u06de\3\6\13\0\17\6" - + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + "\2\0\6\6\13\0\13\6\1\u05bc\3\6\1\5\1\0" - + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u06df\12\6\1\5\1\0\25\6\1\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u0601\5\6\13\0" + "\17\6\1\5\1\0\25\6\65\0\1\u06e0\41\0\1\5" - + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\10\6\1\u06e1\14\6\1\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u06e2\10\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\u0594\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\1\u06e3\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\7\6\1\u06e4\7\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\3\6\1\u06e5\2\6\13\0\17\6\1\5\1\0\25\6" + "\41\0\1\u06e6\65\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\1\6\1\u06e7\4\6\13\0\17\6\1\5\1\0\25\6" + "\30\0\1\u06e8\52\0\1\u06e9\37\0\1\u06ea\171\0\1\u06eb" - + "\45\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u06ec" + "\13\0\17\6\1\5\1\0\25\6\67\0\1\u06ed\37\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u06ee\1\6" + "\13\0\17\6\1\5\1\0\25\6\15\0\1\u06ef\111\0" - + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u06f0\1\6" + "\13\0\17\6\1\5\1\0\25\6\41\0\1\u06f1\157\0" + + "\1\0\1\5\1\6\3\0\6\6\2\0\1\u06db\5\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\2\6\1\u06dc\14\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\5\6\1\u06dd\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0417" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\2\6\1\u06de\3\6\13\0\17\6" + + "\1\5\1\0\25\6\1\0\1\5\7\6\2\0\1\123" + "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6" + + "\2\0\6\6\13\0\13\6\1\u05bc\3\6\1\5\1\0" + "\25\6\1\0\1\5\7\6\2\0\1\123\3\6\1\0" + + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u06df\12\6\1\5\1\0\25\6\1\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\1\u0601\5\6\13\0" + + "\17\6\1\5\1\0\25\6\65\0\1\u06e0\41\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\10\6\1\u06e1\14\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\6\6\1\u06e2\10\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\1\u0594\5\6\13\0\17\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\1\u06e3\5\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\7\6\1\u06e4\7\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u06e5\2\6\13\0\17\6\1\5\1\0\25\6" + "\41\0\1\u06e6\65\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\1\6\1\u06e7\4\6\13\0\17\6\1\5\1\0\25\6" + + "\30\0\1\u06e8\52\0\1\u06e9\37\0\1\u06ea\171\0\1\u06eb" + "\45\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u06ec" + "\13\0\17\6\1\5\1\0\25\6\67\0\1\u06ed\37\0" + + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u06ee\1\6" + + "\13\0\17\6\1\5\1\0\25\6\15\0\1\u06ef\111\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\4\6\1\u06f0\1\6" + "\13\0\17\6\1\5\1\0\25\6\41\0\1\u06f1\157\0" + "\1\u0515\63\0\1\u06f2\163\0\1\u06f3\76\0\1\u06f4\66\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u06f5\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\1\u040c\5\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\5\6\1\u06f6\1\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" - + "\17\6\1\5\1\0\15\6\1\u06f7\7\6\1\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u0536" - + "\10\6\1\5\1\0\25\6\64\0\1\u06f8\42\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u06f9\3\6\13\0" - + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\1\6\1\u06fa\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" - + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u06fb\2\6\13\0\17\6\1\5\1\0\25\6" - + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\1\0\1\u06fc\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u06fd\7\6" + "\1\5\1\0\25\6\62\0\1\u06fe\44\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\1\0\1\u06ff\6\6\13\0\17\6\1\5" - + "\1\0\25\6\43\0\1\u0700\146\0\1\u0701\134\0\1\u05c4" + "\114\0\1\u05c4\44\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u0702\10\6\1\5\1\0\25\6" + "\42\0\1\u0703\64\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u0704\10\6\1\5\1\0\25\6" + "\37\0\1\u0705\67\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\1\u0362\5\6" + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\34\0" - + "\1\u02e9\50\0\1\u0706\63\0\1\u05c4\150\0\1\u0707\101\0" + "\1\u0708\64\0\1\5\7\6\2\0\1\123\3\6\1\0" - + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + "\13\0\4\6\1\u0528\12\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" - + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\u0709" + "\16\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\6\6\13\0\1\6\1\u070a\15\6\1\5" + "\1\0\25\6\41\0\1\u070b\65\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" - + "\6\6\2\0\1\6\1\u070c\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\13\6\1\u0130\3\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u070d\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" - + "\6\6\13\0\17\6\1\5\1\0\25\6\117\0\1\u070e" + "\7\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\1\0\1\u070f\6\6" - + "\13\0\17\6\1\5\1\0\25\6\66\0\1\u0710\153\0" + "\1\u0711\72\0\1\u0712\104\0\1\u0713\66\0\1\5\7\6" - + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u0714\15\6" + "\1\5\1\0\25\6\43\0\1\u0715\63\0\1\5\7\6" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\6\6" + "\1\u06f5\10\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\1\u040c\5\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\5\6\1\u06f6\1\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\15\6\1\u06f7\7\6\1\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\6\6\1\u0536" + + "\10\6\1\5\1\0\25\6\64\0\1\u06f8\42\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + + "\1\6\3\0\6\6\2\0\2\6\1\u06f9\3\6\13\0" + "\17\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\1\6\1\u06fa\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\3\6\1\u06fb\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\1\0\1\u06fc\6\6" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\7\6\1\u06fd\7\6" + + "\1\5\1\0\25\6\62\0\1\u06fe\44\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\1\0\1\u06ff\6\6\13\0\17\6\1\5" + "\1\0\25\6\43\0\1\u0700\146\0\1\u0701\134\0\1\u05c4" + + "\114\0\1\u05c4\44\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\6\6\1\u0702\10\6\1\5\1\0\25\6" + "\42\0\1\u0703\64\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\6\6\1\u0704\10\6\1\5\1\0\25\6" + + "\37\0\1\u0705\67\0\1\5\7\6\2\0\1\123\3\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\1\u0362\5\6" + + "\2\0\6\6\13\0\17\6\1\5\1\0\25\6\34\0" + "\1\u02e9\50\0\1\u0706\63\0\1\u05c4\150\0\1\u0707\101\0" + + "\1\u0708\64\0\1\5\7\6\2\0\1\123\3\6\1\0" + "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\6\6" + + "\13\0\4\6\1\u0528\12\6\1\5\1\0\25\6\1\0" + "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0" + + "\1\5\1\6\3\0\6\6\2\0\6\6\13\0\1\u0709" + "\16\6\1\5\1\0\25\6\1\0\1\5\7\6\2\0" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\1\6\1\u070a\15\6\1\5" + + "\1\0\25\6\41\0\1\u070b\65\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\u070c\4\6\13\0\17\6\1\5" + "\1\0\25\6\1\0\1\5\7\6\2\0\1\123\3\6" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\6\6\13\0\13\6\1\u0130\3\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\1\6\1\u070d\1\6" + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + + "\6\6\13\0\17\6\1\5\1\0\25\6\117\0\1\u070e" + "\7\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\1\0\1\u070f\6\6" + "\13\0\17\6\1\5\1\0\25\6\66\0\1\u0710\153\0" + + "\1\u0711\72\0\1\u0712\104\0\1\u0713\66\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + + "\3\0\6\6\2\0\6\6\13\0\1\6\1\u0714\15\6" + "\1\5\1\0\25\6\43\0\1\u0715\63\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\6\6\13\0\17\6\1\5\1\0" + "\1\u0716\24\6\40\0\1\u0717\154\0\1\u0718\75\0\1\u0719" + "\152\0\1\u071a\42\0\1\5\7\6\2\0\1\123\3\6" - + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u071b\2\6\13\0\17\6\1\5\1\0\25\6" + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\6\6\1\u05d0\10\6\1\5\1\0\25\6\63\0\1\u071c" + "\43\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0367" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" - + "\3\0\6\6\2\0\1\u0528\5\6\13\0\17\6\1\5" + "\1\0\25\6\41\0\1\u071d\202\0\1\u071e\47\0\1\u071f" + + "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0" + "\3\6\1\u071b\2\6\13\0\17\6\1\5\1\0\25\6" + + "\1\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + + "\6\6\1\u05d0\10\6\1\5\1\0\25\6\63\0\1\u071c" + "\43\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6" + + "\1\0\1\5\1\6\3\0\6\6\2\0\5\6\1\u0367" + "\13\0\17\6\1\5\1\0\25\6\1\0\1\5\7\6" + + "\2\0\1\123\3\6\1\0\1\6\1\0\1\5\1\6" + "\3\0\6\6\2\0\1\u0528\5\6\13\0\17\6\1\5" + + "\1\0\25\6\41\0\1\u071d\202\0\1\u071e\47\0\1\u071f" + "\103\0\1\u0720\173\0\1\u0721\127\0\1\u0722\40\0\1\5" + "\7\6\2\0\1\123\1\6\1\u0723\1\6\1\0\1\6" - + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\27\0\1\u0724\77\0\1\5" + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\2\6\1\u0725\3\6\13\0" + "\17\6\1\5\1\0\25\6\61\0\1\u0726\133\0\1\u0727" - + "\124\0\1\u0728\76\0\1\u0729\67\0\1\5\7\6\2\0" + "\1\123\1\6\1\u0287\1\6\1\0\1\6\1\0\1\5" - + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + "\1\0\25\6\37\0\1\u072a\125\0\1\u072b\102\0\1\u071d" + + "\1\0\1\5\1\6\3\0\6\6\2\0\6\6\13\0" + "\17\6\1\5\1\0\25\6\27\0\1\u0724\77\0\1\5" + + "\7\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\2\6\1\u0725\3\6\13\0" + + "\17\6\1\5\1\0\25\6\61\0\1\u0726\133\0\1\u0727" + "\124\0\1\u0728\76\0\1\u0729\67\0\1\5\7\6\2\0" + + "\1\123\1\6\1\u0287\1\6\1\0\1\6\1\0\1\5" + "\1\6\3\0\6\6\2\0\6\6\13\0\17\6\1\5" + + "\1\0\25\6\37\0\1\u072a\125\0\1\u072b\102\0\1\u071d" + "\152\0\1\u072c\113\0\1\u0692\40\0\1\u0693\14\0\1\u0694" + "\116\0\1\u0515\112\0\1\u0683\43\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\11\6" + "\1\u037b\13\6\42\0\1\u072d\64\0\1\5\7\6\2\0" - + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\1\6\1\u038c\4\6\13\0\17\6\1\5" - + "\1\0\25\6\43\0\1\u0515\76\0\1\u072e\203\0\1\u05c4" + "\62\0\1\u072f\40\0\1\u0730\12\0\1\u0731\1\0\1\u0732" - + "\106\0\1\u0733\72\0\1\u0734\156\0\1\u0735\135\0\1\u0736" + "\70\0\1\u0737\147\0\1\u0738\125\0\1\u0739\127\0\1\u073a" - + "\57\0\1\u073b\171\0\1\u073c\132\0\1\u073d\76\0\1\u073e" + "\147\0\1\u073f\106\0\1\u0740\100\0\1\u0741\124\0\1\u0742" - + "\154\0\1\u0743\121\0\1\u0744\103\0\1\u0745\151\0\1\u0746" + "\122\0\1\u0747\103\0\1\u0748\142\0\1\u0749\167\0\1\u0744" - + "\63\0\1\u074a\162\0\1\u074b\142\0\1\u0731\132\0\1\u074c" + "\60\0\1\u074d\170\0\1\u074e\56\0\1\u074f\131\0\1\u0750" - + "\125\0\1\u0751\121\0\1\u0752\130\0\1\u0753\145\0\1\u0515" + "\137\0\1\u0754\64\0\1\u0755\133\0\1\u023b\125\0\1\u0744" - + "\125\0\1\u0756\101\0\1\u0757\173\0\1\u05c4\123\0\1\u0758" + "\104\0\1\u0759\147\0\1\u075a\103\0\1\u075b\127\0\1\u075c" + + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + "\6\6\2\0\6\6\13\0\17\6\1\5\1\0\11\6" + + "\1\u037b\13\6\42\0\1\u072d\64\0\1\5\7\6\2\0" + "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0" + + "\6\6\2\0\1\6\1\u038c\4\6\13\0\17\6\1\5" + "\1\0\25\6\43\0\1\u0515\76\0\1\u072e\203\0\1\u05c4" + + "\62\0\1\u072f\40\0\1\u0730\12\0\1\u0731\1\0\1\u0732" + + "\106\0\1\u0733\72\0\1\u0734\156\0\1\u0735\135\0\1\u0736" + + "\70\0\1\u0737\147\0\1\u0738\125\0\1\u0739\127\0\1\u073a" + + "\57\0\1\u073b\171\0\1\u073c\132\0\1\u073d\76\0\1\u073e" + + "\147\0\1\u073f\106\0\1\u0740\100\0\1\u0741\124\0\1\u0742" + + "\154\0\1\u0743\121\0\1\u0744\103\0\1\u0745\151\0\1\u0746" + + "\122\0\1\u0747\103\0\1\u0748\142\0\1\u0749\167\0\1\u0744" + + "\63\0\1\u074a\162\0\1\u074b\142\0\1\u0731\132\0\1\u074c" + + "\60\0\1\u074d\170\0\1\u074e\56\0\1\u074f\131\0\1\u0750" + + "\125\0\1\u0751\121\0\1\u0752\130\0\1\u0753\145\0\1\u0515" + + "\137\0\1\u0754\64\0\1\u0755\133\0\1\u023b\125\0\1\u0744" + + "\125\0\1\u0756\101\0\1\u0757\173\0\1\u05c4\123\0\1\u0758" + + "\104\0\1\u0759\147\0\1\u075a\103\0\1\u075b\127\0\1\u075c" + "\126\0\1\u05e3\151\0\1\u0515\75\0\1\u075d\147\0\1\u0624" + "\45\0"; - + private static int[] zzUnpackTrans() { int[] result = new int[158928]; int offset = 0; @@ -1836,7 +2512,7 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { offset = zzUnpackTrans(ZZ_TRANS_PACKED_1, 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 */ @@ -1851,7 +2527,7 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -1863,25 +2539,29 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\6\1\1\11\3\1\1\11\20\1\2\11\3\1" + "\1\11\32\1\1\11\5\1\1\11\10\1\1\11\25\1" - + "\1\11\1\0\12\1\2\11\42\1\1\0\110\1\2\0" + "\1\11\4\0\1\11\2\0\1\11\22\0\3\1\1\0" - + "\15\1\1\11\12\1\1\11\210\1\37\0\22\1\1\11" + "\151\1\1\0\31\1\2\0\1\1\2\0\1\1\10\0" - + "\1\11\17\0\166\1\1\0\31\1\35\0\156\1\1\0" + "\26\1\22\0\15\1\1\0\4\1\1\0\103\1\1\0" + "\14\1\1\0\32\1\2\0\1\1\6\0\13\1\4\0" - + "\4\1\2\0\75\1\2\0\11\1\1\0\33\1\12\0" + "\11\1\4\0\3\1\1\0\71\1\2\0\10\1\1\11" + "\30\1\5\0\4\1\1\0\3\1\4\0\1\1\1\0" - + "\3\1\1\0\53\1\2\0\33\1\5\0\3\1\2\0" + "\1\1\4\0\3\1\1\0\44\1\2\0\24\1\2\0" + "\2\1\2\0\1\1\4\0\3\1\1\0\11\1\1\0" - + "\7\1\1\0\16\1\1\0\26\1\2\0\1\1\3\0" + "\2\1\1\0\11\1\1\0\2\1\2\0\12\1\1\0" + "\23\1\2\0\1\1\2\0\2\1\1\0\6\1\1\0" - + "\2\1\2\0\12\1\1\0\20\1\2\0\1\1\2\0" + "\2\1\1\0\3\1\1\0\1\1\1\0\1\1\5\0" + "\11\1\1\0\12\1\1\0\2\1\1\0\1\1\2\0" - + "\1\1\1\0\2\1\1\0\1\1\5\0\10\1\1\0" + "\6\1\1\0\1\1\3\0\1\1\1\0\1\1\1\0" + "\1\1\5\0\5\1\1\0\5\1\1\0\1\1\4\0" - + "\1\1\1\0\1\1\1\0\1\1\4\0\3\1\1\0" + "\3\1\1\0\1\1\4\0\1\1\1\0\1\1\4\0" + "\2\1\1\0\2\1\6\0\1\1\1\0\1\1\4\0" + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\6\1\1\11\3\1\1\11\20\1\2\11\3\1" + + "\1\11\32\1\1\11\5\1\1\11\10\1\1\11\25\1" + "\1\11\1\0\12\1\2\11\42\1\1\0\110\1\2\0" + + "\1\11\4\0\1\11\2\0\1\11\22\0\3\1\1\0" + "\15\1\1\11\12\1\1\11\210\1\37\0\22\1\1\11" + + "\151\1\1\0\31\1\2\0\1\1\2\0\1\1\10\0" + "\1\11\17\0\166\1\1\0\31\1\35\0\156\1\1\0" + + "\26\1\22\0\15\1\1\0\4\1\1\0\103\1\1\0" + "\14\1\1\0\32\1\2\0\1\1\6\0\13\1\4\0" + + "\4\1\2\0\75\1\2\0\11\1\1\0\33\1\12\0" + "\11\1\4\0\3\1\1\0\71\1\2\0\10\1\1\11" + + "\30\1\5\0\4\1\1\0\3\1\4\0\1\1\1\0" + "\3\1\1\0\53\1\2\0\33\1\5\0\3\1\2\0" + + "\1\1\4\0\3\1\1\0\44\1\2\0\24\1\2\0" + "\2\1\2\0\1\1\4\0\3\1\1\0\11\1\1\0" + + "\7\1\1\0\16\1\1\0\26\1\2\0\1\1\3\0" + "\2\1\1\0\11\1\1\0\2\1\2\0\12\1\1\0" + + "\23\1\2\0\1\1\2\0\2\1\1\0\6\1\1\0" + "\2\1\2\0\12\1\1\0\20\1\2\0\1\1\2\0" + + "\2\1\1\0\3\1\1\0\1\1\1\0\1\1\5\0" + "\11\1\1\0\12\1\1\0\2\1\1\0\1\1\2\0" + + "\1\1\1\0\2\1\1\0\1\1\5\0\10\1\1\0" + "\6\1\1\0\1\1\3\0\1\1\1\0\1\1\1\0" + + "\1\1\5\0\5\1\1\0\5\1\1\0\1\1\4\0" + "\1\1\1\0\1\1\1\0\1\1\4\0\3\1\1\0" + + "\3\1\1\0\1\1\4\0\1\1\1\0\1\1\4\0" + "\2\1\1\0\2\1\6\0\1\1\1\0\1\1\4\0" + "\1\1\7\0\1\1\1\0\1\1\30\0\1\1\37\0"; - + private static int[] zzUnpackAttribute() { int[] result = new int[1885]; 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 */ @@ -1895,7 +2575,7 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -1903,8 +2583,7 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** - * this buffer contains the current text to be matched and is the source of - * the + * this buffer contains the current text to be matched and is the source of the * yytext() string */ private char zzBuffer[]; @@ -1915,77 +2594,67 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; - + /* user code: */ /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter + * Constructor. This must be here because JFlex does not generate a no-parameter * constructor. */ - public JavaTokenMaker() {} - + public JavaTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addHyperlinkToken(int, int, int) */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -1993,22 +2662,17 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** * Returns the first token in the linked list of tokens generated from - * text. This method must be implemented by subclasses so they - * can + * text. This method must be implemented by subclasses so they can * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which text - * starts. - * @return The first Token in a linked list representing the - * syntax + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax * highlighted text. */ @Override @@ -2018,16 +2682,16 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.COMMENT_MULTILINE: - state = MLC; - start = text.offset; - break; - case Token.COMMENT_DOCUMENTATION: - state = DOCCOMMENT; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.COMMENT_MULTILINE: + state = MLC; + start = text.offset; + break; + case Token.COMMENT_DOCUMENTATION: + state = DOCCOMMENT; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -2039,37 +2703,32 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. Does not close the - * old + * 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 * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill no - * longer - * "refills" the buffer (since the way we do it, it's always "full" the - * first + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first * time through, since it points to the segment's array). So, we assign * zzEndRead here. */ @@ -2081,34 +2740,31 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** * Creates a new scanner There is also a java.io.InputStream version of this * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public JavaTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** * Creates a new scanner. There is also java.io.Reader version of this * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public JavaTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -2124,7 +2780,7 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -2134,39 +2790,37 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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 + * @param pos the position of the character to fetch. A value from 0 to * yylength()-1. * * @return the character at position pos @@ -2174,29 +2828,26 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { 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 + * 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 + * Usual syntax/scanner level error handling should be done in error fallback * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -2207,30 +2858,27 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. This number must - * not be - * greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** * Resumes scanning until the next regular expression is matched, the end of * input is encountered or an I/O-Error occurs. * * @return the next token - * @exception java.io.IOException - * if any I/O-Error occurs + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -2249,8 +2897,7 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -2290,254 +2937,255 @@ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 2: { - addToken(Token.IDENTIFIER); - } - case 38: - break; - case 32: { - addToken(Token.LITERAL_BOOLEAN); - } - case 39: - break; - case 13: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - return firstToken; - } - case 40: - break; - case 18: { - addToken(Token.ERROR_CHAR); - } - case 41: - break; - case 15: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 42: - break; - case 4: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 43: - break; - case 19: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 44: - break; - case 10: { - addToken(Token.ANNOTATION); - } - case 45: - break; - case 30: { - addToken(Token.FUNCTION); - } - case 46: - break; - case 6: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 47: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 48: - break; - case 34: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); - start = zzMarkedPos; - } - case 49: - break; - case 26: { - addToken(Token.LITERAL_CHAR); - } - case 50: - break; - case 17: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 51: - break; - case 21: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 52: - break; - case 7: { - addToken(Token.WHITESPACE); - } - case 53: - break; - case 24: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); - } - case 54: - break; - case 29: { - addToken(Token.DATA_TYPE); - } - case 55: - break; - case 23: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 56: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 57: - break; - case 25: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_MARKUP); - start = zzMarkedPos; - } - case 58: - break; - case 28: { - start = zzMarkedPos - 3; - yybegin(DOCCOMMENT); - } - case 59: - break; - case 35: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_KEYWORD); - start = zzMarkedPos; - } - case 60: - break; - case 22: { - addToken(Token.RESERVED_WORD); - } - case 61: - break; - case 33: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 62: - break; - case 37: { - addToken(Token.RESERVED_WORD_2); - } - case 63: - break; - case 14: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 64: - break; - case 9: { - addToken(Token.SEPARATOR); - } - case 65: - break; - case 5: { - addNullToken(); - return firstToken; - } - case 66: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 67: - break; - case 8: { - addToken(Token.OPERATOR); - } - case 68: - break; - case 16: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 69: - break; - case 36: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 70: - break; - case 20: { - start = zzMarkedPos - 2; - yybegin(EOL_COMMENT); - } - case 71: - break; - case 31: { - addToken(Token.COMMENT_MULTILINE); - } - case 72: - break; - case 11: {} - case 73: - break; - case 27: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 74: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 1886: - break; - case DOCCOMMENT: { - yybegin(YYINITIAL); - addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); - return firstToken; - } - case 1887: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 1888: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 1889: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 2: { + addToken(Token.IDENTIFIER); + } + case 38: + break; + case 32: { + addToken(Token.LITERAL_BOOLEAN); + } + case 39: + break; + case 13: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + return firstToken; + } + case 40: + break; + case 18: { + addToken(Token.ERROR_CHAR); + } + case 41: + break; + case 15: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 42: + break; + case 4: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 43: + break; + case 19: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 44: + break; + case 10: { + addToken(Token.ANNOTATION); + } + case 45: + break; + case 30: { + addToken(Token.FUNCTION); + } + case 46: + break; + case 6: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 47: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 48: + break; + case 34: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); + start = zzMarkedPos; + } + case 49: + break; + case 26: { + addToken(Token.LITERAL_CHAR); + } + case 50: + break; + case 17: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 51: + break; + case 21: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 52: + break; + case 7: { + addToken(Token.WHITESPACE); + } + case 53: + break; + case 24: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); + } + case 54: + break; + case 29: { + addToken(Token.DATA_TYPE); + } + case 55: + break; + case 23: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 56: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 57: + break; + case 25: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_MARKUP); + start = zzMarkedPos; + } + case 58: + break; + case 28: { + start = zzMarkedPos - 3; + yybegin(DOCCOMMENT); + } + case 59: + break; + case 35: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_KEYWORD); + start = zzMarkedPos; + } + case 60: + break; + case 22: { + addToken(Token.RESERVED_WORD); + } + case 61: + break; + case 33: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 62: + break; + case 37: { + addToken(Token.RESERVED_WORD_2); + } + case 63: + break; + case 14: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 64: + break; + case 9: { + addToken(Token.SEPARATOR); + } + case 65: + break; + case 5: { + addNullToken(); + return firstToken; + } + case 66: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 67: + break; + case 8: { + addToken(Token.OPERATOR); + } + case 68: + break; + case 16: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 69: + break; + case 36: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 70: + break; + case 20: { + start = zzMarkedPos - 2; + yybegin(EOL_COMMENT); + } + case 71: + break; + case 31: { + addToken(Token.COMMENT_MULTILINE); + } + case 72: + break; + case 11: { + } + case 73: + break; + case 27: { + addToken(Token.ERROR_STRING_DOUBLE); + } + case 74: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 1886: + break; + case DOCCOMMENT: { + yybegin(YYINITIAL); + addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); + return firstToken; + } + case 1887: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 1888: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 1889: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/JshintrcTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/JshintrcTokenMaker.java index b391f13..48f4abc 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/JshintrcTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/JshintrcTokenMaker.java @@ -14,7 +14,7 @@ package org.fife.ui.rsyntaxtextarea.modes; * @version 1.0 */ public class JshintrcTokenMaker extends JsonTokenMaker { - + /** * Constructor; overridden to enable highlighting of EOL comments. */ diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/JsonTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/JsonTokenMaker.java index 8c10b5c..d060502 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/JsonTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/JsonTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated JsonTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class JsonTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -79,16 +78,17 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\2\0\1\1\1\2\1\3\2\1\1\4\4\1\1\5" + "\1\6\1\7\3\6\2\0\1\4\1\10\1\4\1\1" - + "\1\11\2\1\4\0\2\12\1\0\1\13\1\4\1\14" + "\1\4\3\1\4\0\1\4\1\15\1\16\2\0\1\17" + "\1\4\2\0\1\4"; - + private static final String ZZ_ACTION_PACKED_0 = "\2\0\1\1\1\2\1\3\2\1\1\4\4\1\1\5" + + "\1\6\1\7\3\6\2\0\1\4\1\10\1\4\1\1" + "\1\11\2\1\4\0\2\12\1\0\1\13\1\4\1\14" + + "\1\4\3\1\4\0\1\4\1\15\1\16\2\0\1\17" + "\1\4\2\0\1\4"; + private static int[] zzUnpackAction() { int[] result = new int[55]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -102,7 +102,7 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -112,15 +112,16 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { + "\0\u01c0\0\u01e0\0\u0200\0\u0220\0\u0240\0\u0260\0\u0280\0\u02a0" + "\0\240\0\u02c0\0\u02e0\0\u0300\0\u0320\0\u0340\0\u0360\0\u0380" + "\0\u03a0\0\u03a0\0\240\0\u03c0\0\240\0\u03e0\0\u0400\0\u0420" - + "\0\u0440\0\u0460\0\u0480\0\u04a0\0\u04c0\0\u04e0\0\100\0\100" + "\0\u0500\0\u0520\0\u0540\0\u0560\0\u0580\0\u0540\0\u05a0"; - + + "\0\u0440\0\u0460\0\u0480\0\u04a0\0\u04c0\0\u04e0\0\100\0\100" + + "\0\u0500\0\u0520\0\u0540\0\u0560\0\u0580\0\u0540\0\u05a0"; + private static int[] zzUnpackRowMap() { int[] result = new int[55]; 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 */ @@ -131,35 +132,40 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\2\3\1\5\1\3\1\6\1\7\1\3" + "\1\10\2\3\1\11\1\3\1\12\3\3\1\13\2\3" - + "\1\14\3\3\1\15\1\6\1\15\4\3\10\16\1\17" + "\14\16\1\20\6\16\1\21\2\16\1\22\1\3\1\0" + "\4\3\1\0\2\3\1\0\4\3\1\0\12\3\3\0" - + "\4\3\1\0\1\4\42\0\1\5\12\0\1\23\1\24" + "\3\0\1\24\57\0\1\5\33\0\10\10\1\25\1\26" + "\1\10\1\27\24\10\1\3\1\0\4\3\1\0\2\3" - + "\1\0\1\30\3\3\1\0\12\3\3\0\4\3\16\0" + "\1\31\21\0\1\3\1\0\4\3\1\0\2\3\1\0" + "\4\3\1\0\4\3\1\32\5\3\3\0\5\3\1\0" - + "\4\3\1\0\2\3\1\0\4\3\1\0\7\3\1\33" + "\2\3\3\0\4\3\10\16\1\0\14\16\1\0\6\16" + "\1\0\2\16\23\0\1\34\13\0\1\35\23\0\1\36" - + "\54\0\1\37\4\0\1\40\37\0\1\41\2\0\1\42" + "\11\0\1\42\16\0\11\25\1\43\1\25\1\44\24\25" - + "\32\0\1\45\5\0\10\25\1\0\1\10\1\46\4\10" + "\3\25\2\10\1\25\1\10\12\25\1\3\1\0\4\3" + "\1\0\2\3\1\0\4\3\1\0\10\3\1\47\1\3" - + "\3\0\5\3\1\0\4\3\1\0\2\3\1\0\1\50" + "\3\3\1\0\12\3\3\0\5\3\1\0\4\3\1\0" + "\2\3\1\0\4\3\1\0\10\3\1\51\1\3\3\0" - + "\4\3\35\0\1\52\31\0\1\53\32\0\1\54\54\0" + "\1\55\4\0\1\40\13\0\1\24\3\0\1\24\17\0" - + "\1\41\33\0\10\25\1\0\33\25\2\56\3\25\1\43" + "\1\25\1\44\1\25\1\56\2\25\1\56\3\25\3\56" - + "\11\25\1\3\1\0\4\3\1\0\2\3\1\0\4\3" + "\1\0\10\3\1\57\1\3\3\0\5\3\1\0\4\3" + "\1\0\2\3\1\0\4\3\1\0\5\3\1\60\4\3" - + "\3\0\5\3\1\0\4\3\1\0\2\3\1\0\4\3" + "\1\0\11\3\1\50\3\0\4\3\32\0\1\61\31\0" + "\1\52\50\0\1\62\21\0\1\63\20\0\4\25\2\64" - + "\3\25\1\43\1\25\1\44\1\25\1\64\2\25\1\64" + "\3\25\3\64\11\25\16\0\1\65\51\0\1\52\1\0" - + "\1\61\7\0\1\63\1\66\2\63\2\66\2\0\1\63" + "\1\0\3\63\1\66\1\63\1\66\7\63\1\0\2\66" - + "\4\63\4\25\2\67\3\25\1\43\1\25\1\44\1\25" + "\1\67\2\25\1\67\3\25\3\67\11\25\16\0\1\63" - + "\21\0\4\25\2\10\3\25\1\43\1\25\1\44\1\25" + "\1\10\2\25\1\10\3\25\3\10\11\25"; - + private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\2\3\1\5\1\3\1\6\1\7\1\3" + + "\1\10\2\3\1\11\1\3\1\12\3\3\1\13\2\3" + "\1\14\3\3\1\15\1\6\1\15\4\3\10\16\1\17" + + "\14\16\1\20\6\16\1\21\2\16\1\22\1\3\1\0" + "\4\3\1\0\2\3\1\0\4\3\1\0\12\3\3\0" + + "\4\3\1\0\1\4\42\0\1\5\12\0\1\23\1\24" + "\3\0\1\24\57\0\1\5\33\0\10\10\1\25\1\26" + + "\1\10\1\27\24\10\1\3\1\0\4\3\1\0\2\3" + "\1\0\1\30\3\3\1\0\12\3\3\0\4\3\16\0" + + "\1\31\21\0\1\3\1\0\4\3\1\0\2\3\1\0" + "\4\3\1\0\4\3\1\32\5\3\3\0\5\3\1\0" + + "\4\3\1\0\2\3\1\0\4\3\1\0\7\3\1\33" + "\2\3\3\0\4\3\10\16\1\0\14\16\1\0\6\16" + + "\1\0\2\16\23\0\1\34\13\0\1\35\23\0\1\36" + "\54\0\1\37\4\0\1\40\37\0\1\41\2\0\1\42" + + "\11\0\1\42\16\0\11\25\1\43\1\25\1\44\24\25" + "\32\0\1\45\5\0\10\25\1\0\1\10\1\46\4\10" + + "\3\25\2\10\1\25\1\10\12\25\1\3\1\0\4\3" + "\1\0\2\3\1\0\4\3\1\0\10\3\1\47\1\3" + + "\3\0\5\3\1\0\4\3\1\0\2\3\1\0\1\50" + "\3\3\1\0\12\3\3\0\5\3\1\0\4\3\1\0" + + "\2\3\1\0\4\3\1\0\10\3\1\51\1\3\3\0" + "\4\3\35\0\1\52\31\0\1\53\32\0\1\54\54\0" + + "\1\55\4\0\1\40\13\0\1\24\3\0\1\24\17\0" + "\1\41\33\0\10\25\1\0\33\25\2\56\3\25\1\43" + + "\1\25\1\44\1\25\1\56\2\25\1\56\3\25\3\56" + "\11\25\1\3\1\0\4\3\1\0\2\3\1\0\4\3" + + "\1\0\10\3\1\57\1\3\3\0\5\3\1\0\4\3" + "\1\0\2\3\1\0\4\3\1\0\5\3\1\60\4\3" + + "\3\0\5\3\1\0\4\3\1\0\2\3\1\0\4\3" + "\1\0\11\3\1\50\3\0\4\3\32\0\1\61\31\0" + + "\1\52\50\0\1\62\21\0\1\63\20\0\4\25\2\64" + "\3\25\1\43\1\25\1\44\1\25\1\64\2\25\1\64" + + "\3\25\3\64\11\25\16\0\1\65\51\0\1\52\1\0" + "\1\61\7\0\1\63\1\66\2\63\2\66\2\0\1\63" + + "\1\0\3\63\1\66\1\63\1\66\7\63\1\0\2\66" + "\4\63\4\25\2\67\3\25\1\43\1\25\1\44\1\25" + + "\1\67\2\25\1\67\3\25\3\67\11\25\16\0\1\63" + "\21\0\4\25\2\10\3\25\1\43\1\25\1\44\1\25" + + "\1\10\2\25\1\10\3\25\3\10\11\25"; + private static int[] zzUnpackTrans() { int[] result = new int[1472]; 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 */ @@ -174,7 +180,7 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -186,16 +192,16 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\3\1\1\11\6\1\1\11\1\1\1\11\3\1" + "\2\0\1\1\1\3\2\1\1\11\2\1\4\0\2\1" - + "\1\0\1\11\1\1\1\15\4\1\4\0\3\1\2\0" + "\2\1\2\0\1\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\3\1\1\11\6\1\1\11\1\1\1\11\3\1" + + "\2\0\1\1\1\3\2\1\1\11\2\1\4\0\2\1" + "\1\0\1\11\1\1\1\15\4\1\4\0\3\1\2\0" + "\2\1\2\0\1\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[55]; 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 */ @@ -209,7 +215,7 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -217,8 +223,8 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -230,92 +236,82 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ private boolean highlightEolComments; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public JsonTokenMaker() {} - + public JsonTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** - * Returns true always as C-style languages use curly braces - * to denote code blocks. + * Returns true always as C-style languages use curly braces to + * denote code blocks. * * @return true always. */ public boolean getCurlyBracesDenoteCodeBlocks() { return true; } - + @Override public boolean getMarkOccurrencesOfTokenType(int type) { return false; } - + @Override public boolean getShouldIndentNextLineAfter(Token t) { if (t != null && t.length() == 1) { @@ -324,21 +320,18 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { } return false; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -357,40 +350,38 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + protected void setHighlightEolComments(boolean highlightEolComments) { this.highlightEolComments = highlightEolComments; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -400,34 +391,31 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public JsonTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public JsonTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -443,7 +431,7 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -453,69 +441,64 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -526,29 +509,27 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -570,8 +551,7 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzWasPushback = false; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -618,114 +598,115 @@ public class JsonTokenMaker extends AbstractJFlexTokenMaker { if (zzWasPushback) zzMarkedPos = zzPushbackPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 13: { - addToken(Token.RESERVED_WORD); - } - case 16: - break; - case 1: { + case 13: { + addToken(Token.RESERVED_WORD); + } + case 16: + break; + case 1: { + addToken(Token.IDENTIFIER); + } + case 17: + break; + case 10: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 18: + break; + case 8: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 19: + break; + case 12: { + addToken(Token.VARIABLE); + } + case 20: + break; + case 9: { + if (highlightEolComments) { + start = zzMarkedPos - 2; + yybegin(EOL_COMMENT); + } else { addToken(Token.IDENTIFIER); } - case 17: - break; - case 10: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 18: - break; - case 8: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 19: - break; - case 12: { - addToken(Token.VARIABLE); - } - case 20: - break; - case 9: { - if (highlightEolComments) { - start = zzMarkedPos - 2; - yybegin(EOL_COMMENT); - } else { - addToken(Token.IDENTIFIER); + } + case 21: + break; + case 2: { + addToken(Token.WHITESPACE); + } + case 22: + break; + case 15: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 23: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 24: + break; + case 14: { + addToken(Token.LITERAL_BOOLEAN); + } + case 25: + break; + case 4: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 26: + break; + case 7: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 27: + break; + case 11: { + addToken(Token.ERROR_STRING_DOUBLE); + } + case 28: + break; + case 6: { + } + case 29: + break; + case 5: { + addToken(Token.SEPARATOR); + } + case 30: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } - } - case 21: - break; - case 2: { - addToken(Token.WHITESPACE); - } - case 22: - break; - case 15: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 23: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 24: - break; - case 14: { - addToken(Token.LITERAL_BOOLEAN); - } - case 25: - break; - case 4: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 26: - break; - case 7: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 27: - break; - case 11: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 28: - break; - case 6: {} - case 29: - break; - case 5: { - addToken(Token.SEPARATOR); - } - case 30: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 56: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 57: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 56: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; } + case 57: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/LatexTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/LatexTokenMaker.java index f153dfd..7a3c9a4 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/LatexTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/LatexTokenMaker.java @@ -21,16 +21,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RSTA always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RSTA always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -40,16 +39,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated LatexTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -57,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class LatexTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -78,16 +77,16 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\2\0\2\1\1\2\1\3\1\1\1\4\1\5\4\6" + "\1\7\1\10\1\11\2\10\4\0\2\10\4\0\2\10" - + "\2\0\1\12\1\0\1\10\3\0\1\10\1\13\2\0" + "\1\14"; - + private static final String ZZ_ACTION_PACKED_0 = "\2\0\2\1\1\2\1\3\1\1\1\4\1\5\4\6" + + "\1\7\1\10\1\11\2\10\4\0\2\10\4\0\2\10" + "\2\0\1\12\1\0\1\10\3\0\1\10\1\13\2\0" + "\1\14"; + private static int[] zzUnpackAction() { int[] result = new int[43]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -101,23 +100,24 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\33\0\66\0\121\0\66\0\66\0\154\0\66" - + "\0\66\0\207\0\242\0\275\0\330\0\66\0\363\0\66" + "\0\u010e\0\u0129\0\u0144\0\u015f\0\u017a\0\u0195\0\u01b0\0\u01cb" + + "\0\66\0\207\0\242\0\275\0\330\0\66\0\363\0\66" + + "\0\u010e\0\u0129\0\u0144\0\u015f\0\u017a\0\u0195\0\u01b0\0\u01cb" + "\0\u01e6\0\u0201\0\u021c\0\u0237\0\u0252\0\u026d\0\u0288\0\u02a3" + "\0\u02be\0\u02d9\0\u02f4\0\u030f\0\u02be\0\u032a\0\u0345\0\66" + "\0\u0360\0\u037b\0\66"; - + private static int[] zzUnpackRowMap() { int[] result = new int[43]; 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 */ @@ -128,30 +128,35 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\3\2\4\1\5\1\6\3\3\10\4\1\3\1\4" + "\1\3\1\7\1\10\3\4\1\10\1\4\1\11\10\12" - + "\1\13\3\12\1\14\4\12\1\15\10\12\1\16\34\0" + "\2\4\5\0\10\4\1\0\1\4\3\0\3\4\1\0" + "\1\4\2\0\2\17\1\0\1\20\3\0\7\17\1\21" - + "\1\0\1\17\3\0\1\22\2\17\1\0\1\17\1\0" + "\10\12\1\0\3\12\1\0\4\12\1\0\10\12\12\0" + "\1\23\32\0\1\24\3\0\1\25\36\0\1\26\12\0" - + "\2\17\5\0\10\17\1\0\1\17\3\0\3\17\1\0" + "\1\17\2\0\2\17\5\0\10\17\1\0\1\17\3\0" + "\2\17\1\27\1\0\1\17\2\0\2\17\5\0\7\17" - + "\1\30\1\0\1\17\3\0\3\17\1\0\1\17\12\0" + "\1\31\33\0\1\32\36\0\1\33\35\0\1\34\12\0" + "\2\17\5\0\10\17\1\0\1\17\3\0\3\17\1\0" - + "\1\35\2\0\2\17\5\0\10\17\1\0\1\17\3\0" + "\1\17\1\36\1\17\1\0\1\17\13\0\1\37\40\0" - + "\1\40\31\0\1\32\35\0\1\41\11\0\2\17\5\0" + "\10\17\1\0\1\17\3\0\3\17\1\42\1\17\2\0" + "\2\17\5\0\5\17\1\43\2\17\1\0\1\17\3\0" + private static final String ZZ_TRANS_PACKED_0 = "\1\3\2\4\1\5\1\6\3\3\10\4\1\3\1\4" + + "\1\3\1\7\1\10\3\4\1\10\1\4\1\11\10\12" + "\1\13\3\12\1\14\4\12\1\15\10\12\1\16\34\0" + + "\2\4\5\0\10\4\1\0\1\4\3\0\3\4\1\0" + "\1\4\2\0\2\17\1\0\1\20\3\0\7\17\1\21" + + "\1\0\1\17\3\0\1\22\2\17\1\0\1\17\1\0" + "\10\12\1\0\3\12\1\0\4\12\1\0\10\12\12\0" + + "\1\23\32\0\1\24\3\0\1\25\36\0\1\26\12\0" + "\2\17\5\0\10\17\1\0\1\17\3\0\3\17\1\0" + + "\1\17\2\0\2\17\5\0\10\17\1\0\1\17\3\0" + "\2\17\1\27\1\0\1\17\2\0\2\17\5\0\7\17" + + "\1\30\1\0\1\17\3\0\3\17\1\0\1\17\12\0" + "\1\31\33\0\1\32\36\0\1\33\35\0\1\34\12\0" + + "\2\17\5\0\10\17\1\0\1\17\3\0\3\17\1\0" + "\1\35\2\0\2\17\5\0\10\17\1\0\1\17\3\0" + + "\1\17\1\36\1\17\1\0\1\17\13\0\1\37\40\0" + "\1\40\31\0\1\32\35\0\1\41\11\0\2\17\5\0" + + "\10\17\1\0\1\17\3\0\3\17\1\42\1\17\2\0" + "\2\17\5\0\5\17\1\43\2\17\1\0\1\17\3\0" + "\3\17\1\0\1\17\14\0\1\32\4\0\1\40\20\0" + "\1\44\25\0\1\41\1\45\1\0\2\45\12\41\1\45" - + "\1\41\1\45\2\0\3\41\1\0\1\41\2\0\2\46" + "\5\0\10\46\1\0\1\46\3\0\3\46\1\0\1\46" + "\2\0\2\17\5\0\10\17\1\0\1\17\3\0\2\17" - + "\1\47\1\0\1\17\7\0\1\41\25\0\2\46\5\0" + "\10\46\1\0\1\46\2\0\1\50\3\46\1\0\1\46" + "\2\0\2\17\5\0\10\17\1\0\1\17\3\0\3\17" - + "\1\51\1\17\2\0\2\52\5\0\10\52\1\0\1\52" + "\3\0\3\52\1\0\1\52\2\0\2\52\5\0\10\52" + "\1\0\1\52\2\0\1\53\3\52\1\0\1\52\1\0"; - + + "\1\41\1\45\2\0\3\41\1\0\1\41\2\0\2\46" + "\5\0\10\46\1\0\1\46\3\0\3\46\1\0\1\46" + + "\2\0\2\17\5\0\10\17\1\0\1\17\3\0\2\17" + "\1\47\1\0\1\17\7\0\1\41\25\0\2\46\5\0" + + "\10\46\1\0\1\46\2\0\1\50\3\46\1\0\1\46" + "\2\0\2\17\5\0\10\17\1\0\1\17\3\0\3\17" + + "\1\51\1\17\2\0\2\52\5\0\10\52\1\0\1\52" + "\3\0\3\52\1\0\1\52\2\0\2\52\5\0\10\52" + + "\1\0\1\52\2\0\1\53\3\52\1\0\1\52\1\0"; + private static int[] zzUnpackTrans() { int[] result = new int[918]; 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 */ @@ -166,7 +171,7 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -178,16 +183,16 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\11\1\1\2\11\1\1\2\11\4\1\1\11" + "\1\1\1\11\2\1\4\0\2\1\4\0\2\1\2\0" - + "\1\1\1\0\1\1\3\0\1\1\1\11\2\0\1\11"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\11\1\1\2\11\1\1\2\11\4\1\1\11" + + "\1\1\1\11\2\1\4\0\2\1\4\0\2\1\2\0" + "\1\1\1\0\1\1\3\0\1\1\1\11\2\0\1\11"; + private static int[] zzUnpackAttribute() { int[] result = new int[43]; 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 */ @@ -201,7 +206,7 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -209,8 +214,8 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -220,77 +225,67 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public LatexTokenMaker() {} - + public LatexTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addHyperlinkToken(int, int, int) */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** * ${inheritDoc} */ @@ -298,21 +293,18 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "%", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -330,38 +322,35 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. - * @exception IOException - * if any I/O-Error occurs. + * @return true if EOF was reached, otherwise false. + * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -371,34 +360,31 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public LatexTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public LatexTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -414,7 +400,7 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -424,69 +410,64 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -497,29 +478,27 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -538,8 +517,7 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -579,104 +557,105 @@ public class LatexTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 1: { - addToken(Token.IDENTIFIER); - } - case 13: - break; - case 8: { - addToken(Token.FUNCTION); - } - case 14: - break; - case 2: { - addToken(Token.WHITESPACE); - } - case 15: - break; - case 12: { - int temp = zzStartRead; - addToken(temp, temp + 5, Token.RESERVED_WORD); - addToken(temp + 6, temp + 6, Token.SEPARATOR); - addToken(temp + 7, zzMarkedPos - 2, Token.RESERVED_WORD); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); - } - case 16: - break; - case 10: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 17: - break; - case 3: { - start = zzMarkedPos - 1; - yybegin(EOL_COMMENT); - } - case 18: - break; - case 11: { - int temp = zzStartRead; - addToken(temp, temp + 3, Token.RESERVED_WORD); - addToken(temp + 4, temp + 4, Token.SEPARATOR); - addToken(temp + 5, zzMarkedPos - 2, Token.RESERVED_WORD); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); - } - case 19: - break; - case 5: { - addNullToken(); - return firstToken; - } - case 20: - break; - case 7: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 21: - break; - case 9: { - int temp = zzStartRead; - addToken(temp, temp, Token.SEPARATOR); - addToken(temp + 1, temp + 1, Token.IDENTIFIER); - } - case 22: - break; - case 6: {} - case 23: - break; - case 4: { - addToken(Token.SEPARATOR); - } - case 24: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 44: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 45: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 1: { + addToken(Token.IDENTIFIER); + } + case 13: + break; + case 8: { + addToken(Token.FUNCTION); + } + case 14: + break; + case 2: { + addToken(Token.WHITESPACE); + } + case 15: + break; + case 12: { + int temp = zzStartRead; + addToken(temp, temp + 5, Token.RESERVED_WORD); + addToken(temp + 6, temp + 6, Token.SEPARATOR); + addToken(temp + 7, zzMarkedPos - 2, Token.RESERVED_WORD); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); + } + case 16: + break; + case 10: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 17: + break; + case 3: { + start = zzMarkedPos - 1; + yybegin(EOL_COMMENT); + } + case 18: + break; + case 11: { + int temp = zzStartRead; + addToken(temp, temp + 3, Token.RESERVED_WORD); + addToken(temp + 4, temp + 4, Token.SEPARATOR); + addToken(temp + 5, zzMarkedPos - 2, Token.RESERVED_WORD); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); + } + case 19: + break; + case 5: { + addNullToken(); + return firstToken; + } + case 20: + break; + case 7: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 21: + break; + case 9: { + int temp = zzStartRead; + addToken(temp, temp, Token.SEPARATOR); + addToken(temp + 1, temp + 1, Token.IDENTIFIER); + } + case 22: + break; + case 6: { + } + case 23: + break; + case 4: { + addToken(Token.SEPARATOR); + } + case 24: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 44: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 45: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/LessTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/LessTokenMaker.java index f3c65f9..fa4b394 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/LessTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/LessTokenMaker.java @@ -17,14 +17,14 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * @version 1.0 */ public class LessTokenMaker extends CSSTokenMaker { - + /** * Constructor; overridden to enable the niceties added by Less. */ public LessTokenMaker() { setHighlightingLess(true); } - + /** * {@inheritDoc} */ @@ -32,7 +32,7 @@ public class LessTokenMaker extends CSSTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** * {@inheritDoc} */ diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/LispTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/LispTokenMaker.java index 7b69b3a..29fd5e6 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/LispTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/LispTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated LispTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class LispTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** initial size of the lookahead buffer */ @@ -84,20 +83,22 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\4\0\1\1\1\2\2\3\1\2\2\1\1\4\1\5" + "\1\6\1\7\1\6\1\1\1\10\5\6\17\2\1\11" - + "\1\12\1\13\1\14\1\15\1\12\1\16\5\12\1\17" + "\3\12\1\1\1\20\1\3\1\21\1\20\1\21\1\20" - + "\1\22\1\20\1\2\1\23\1\0\1\6\10\2\1\24" + "\14\2\1\24\12\2\1\13\1\25\10\0\1\1\1\21" + "\1\0\2\22\12\2\1\0\1\2\1\24\13\2\1\0" - + "\1\24\16\2\10\0\1\1\7\2\1\24\3\2\1\0" + "\20\2\3\0\11\2\2\0\1\26\2\0\1\27\1\1" + "\10\2\1\0\3\2\2\0\13\2\3\0\5\2\4\0" - + "\1\1\5\2\1\0\1\2\10\0\12\2\3\0\1\24" + "\2\2\1\0\1\2\16\0\3\2\1\0\4\2\4\0" + "\2\2\21\0\2\2\3\0\2\2\4\0\1\2\21\0" + private static final String ZZ_ACTION_PACKED_0 = "\4\0\1\1\1\2\2\3\1\2\2\1\1\4\1\5" + + "\1\6\1\7\1\6\1\1\1\10\5\6\17\2\1\11" + "\1\12\1\13\1\14\1\15\1\12\1\16\5\12\1\17" + + "\3\12\1\1\1\20\1\3\1\21\1\20\1\21\1\20" + "\1\22\1\20\1\2\1\23\1\0\1\6\10\2\1\24" + + "\14\2\1\24\12\2\1\13\1\25\10\0\1\1\1\21" + "\1\0\2\22\12\2\1\0\1\2\1\24\13\2\1\0" + + "\1\24\16\2\10\0\1\1\7\2\1\24\3\2\1\0" + "\20\2\3\0\11\2\2\0\1\26\2\0\1\27\1\1" + + "\10\2\1\0\3\2\2\0\13\2\3\0\5\2\4\0" + "\1\1\5\2\1\0\1\2\10\0\12\2\3\0\1\24" + + "\2\2\1\0\1\2\16\0\3\2\1\0\4\2\4\0" + "\2\2\21\0\2\2\3\0\2\2\4\0\1\2\21\0" + "\1\2\5\0\2\2\23\0\1\2\201\0"; - + private static int[] zzUnpackAction() { int[] result = new int[512]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -111,7 +112,7 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -180,14 +181,14 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { + "\0\u6db0\0\u6dec\0\u6e28\0\u6e64\0\u6ea0\0\u6edc\0\u6f18\0\u6f54" + "\0\u6f90\0\u6fcc\0\u7008\0\u7044\0\u7080\0\u70bc\0\u70f8\0\u7134" + "\0\u7170\0\u71ac\0\u71e8\0\u7224\0\u7260\0\u729c\0\u72d8\0\u7314"; - + private static int[] zzUnpackRowMap() { int[] result = new int[512]; 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 */ @@ -198,32 +199,40 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\5\2\6\1\7\1\10\1\6\1\7\1\11\1\12" + "\1\13\1\5\1\14\1\15\1\16\1\17\4\6\1\20" - + "\1\21\1\22\1\23\1\24\3\16\1\25\2\16\1\26" + "\1\27\1\26\1\5\1\12\1\30\1\31\1\32\1\33" - + "\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43" + "\3\6\1\44\1\45\1\46\4\6\1\7\1\6\1\47" - + "\12\50\1\51\1\52\57\50\1\53\13\54\1\55\1\54" + "\1\56\25\54\1\57\3\54\1\60\3\54\1\61\20\54" - + "\13\62\1\63\27\62\1\64\3\62\1\65\3\62\1\66" + "\20\62\10\5\1\0\2\5\4\0\4\5\16\0\1\5" + "\1\0\30\5\1\0\1\5\7\6\1\0\1\5\1\67" - + "\4\0\4\6\16\0\1\5\1\0\30\6\1\0\3\70" + "\2\7\1\70\1\7\1\70\1\0\2\70\4\0\1\70" + "\1\71\1\72\1\73\1\0\1\74\14\0\1\70\1\0" - + "\4\70\1\72\1\70\1\71\1\73\1\70\1\72\14\70" + "\1\7\1\70\1\0\3\70\1\75\1\76\1\70\1\76" - + "\1\70\1\0\2\70\4\0\1\77\1\71\1\72\1\73" + "\1\0\1\74\14\0\1\70\1\0\4\70\1\72\1\70" - + "\1\71\1\73\1\70\1\72\11\70\1\77\2\70\1\76" + "\1\70\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\15\6\1\100\12\6\75\0" - + "\10\5\1\0\2\5\2\0\1\101\1\0\4\5\16\0" + "\1\5\1\0\30\5\15\0\1\15\107\0\1\26\66\0" + "\1\26\4\0\1\26\46\0\2\74\1\0\1\74\62\0" - + "\1\74\30\0\1\26\1\0\1\26\72\0\1\102\1\26" + "\73\0\1\26\2\0\1\103\70\0\1\26\6\0\1\26" + "\34\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\13\6\1\104\14\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\1\105\12\6\1\106\6\6\1\107\5\6\1\0" - + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\17\6\1\110\10\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" - + "\5\6\1\111\14\6\1\112\5\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\6\6\1\113\21\6\1\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\16\0\1\5\1\0\4\6\1\114" + "\10\6\1\115\1\116\11\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\7\6" - + "\1\117\3\6\1\120\1\121\13\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\1\6\1\122\10\6\1\123\4\6\1\124\5\6\1\125" - + "\2\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\1\126\4\6\1\127\22\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\7\6\1\130\4\6\1\131\13\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\1\6\1\122\5\6\1\132\2\6" - + "\1\123\1\133\1\134\13\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\3\6" + "\1\135\15\6\1\136\6\6\1\0\1\5\7\6\1\0" - + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\7\6" + "\1\137\20\6\1\0\1\5\6\6\1\140\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\13\6\1\141" - + "\14\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\6\6\1\142\10\6\1\143" + "\10\6\1\0\12\50\2\0\57\50\1\0\13\144\1\0" + private static final String ZZ_TRANS_PACKED_0 = "\1\5\2\6\1\7\1\10\1\6\1\7\1\11\1\12" + + "\1\13\1\5\1\14\1\15\1\16\1\17\4\6\1\20" + "\1\21\1\22\1\23\1\24\3\16\1\25\2\16\1\26" + + "\1\27\1\26\1\5\1\12\1\30\1\31\1\32\1\33" + "\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43" + + "\3\6\1\44\1\45\1\46\4\6\1\7\1\6\1\47" + "\12\50\1\51\1\52\57\50\1\53\13\54\1\55\1\54" + + "\1\56\25\54\1\57\3\54\1\60\3\54\1\61\20\54" + "\13\62\1\63\27\62\1\64\3\62\1\65\3\62\1\66" + + "\20\62\10\5\1\0\2\5\4\0\4\5\16\0\1\5" + "\1\0\30\5\1\0\1\5\7\6\1\0\1\5\1\67" + + "\4\0\4\6\16\0\1\5\1\0\30\6\1\0\3\70" + "\2\7\1\70\1\7\1\70\1\0\2\70\4\0\1\70" + + "\1\71\1\72\1\73\1\0\1\74\14\0\1\70\1\0" + "\4\70\1\72\1\70\1\71\1\73\1\70\1\72\14\70" + + "\1\7\1\70\1\0\3\70\1\75\1\76\1\70\1\76" + "\1\70\1\0\2\70\4\0\1\77\1\71\1\72\1\73" + + "\1\0\1\74\14\0\1\70\1\0\4\70\1\72\1\70" + "\1\71\1\73\1\70\1\72\11\70\1\77\2\70\1\76" + + "\1\70\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\15\6\1\100\12\6\75\0" + + "\10\5\1\0\2\5\2\0\1\101\1\0\4\5\16\0" + "\1\5\1\0\30\5\15\0\1\15\107\0\1\26\66\0" + + "\1\26\4\0\1\26\46\0\2\74\1\0\1\74\62\0" + "\1\74\30\0\1\26\1\0\1\26\72\0\1\102\1\26" + + "\73\0\1\26\2\0\1\103\70\0\1\26\6\0\1\26" + "\34\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\13\6\1\104\14\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\1\105\12\6\1\106\6\6\1\107\5\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + + "\1\5\1\0\17\6\1\110\10\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\5\6\1\111\14\6\1\112\5\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\6\6\1\113\21\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\4\6\1\114" + + "\10\6\1\115\1\116\11\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\7\6" + + "\1\117\3\6\1\120\1\121\13\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\1\6\1\122\10\6\1\123\4\6\1\124\5\6\1\125" + "\2\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\1\126\4\6\1\127\22\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\7\6\1\130\4\6\1\131\13\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\1\6\1\122\5\6\1\132\2\6" + "\1\123\1\133\1\134\13\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\3\6" + "\1\135\15\6\1\136\6\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\7\6" + "\1\137\20\6\1\0\1\5\6\6\1\140\1\0\1\5" + + "\1\67\4\0\4\6\16\0\1\5\1\0\13\6\1\141" + "\14\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\6\6\1\142\10\6\1\143" + "\10\6\1\0\12\50\2\0\57\50\1\0\13\144\1\0" + "\60\144\13\54\1\0\1\54\1\0\25\54\1\0\3\54" + "\1\0\3\54\1\0\20\54\11\0\1\145\126\0\1\146" + "\73\0\1\147\3\0\1\150\76\0\1\151\20\0\13\62" + "\1\0\27\62\1\0\3\62\1\0\3\62\1\0\20\62" + "\44\0\1\152\73\0\1\153\3\0\1\154\76\0\1\155" + "\20\0\7\5\1\156\1\0\2\5\4\0\4\5\16\0" @@ -235,164 +244,234 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { + "\1\75\1\70\1\0\3\70\1\75\1\76\1\70\1\76" + "\1\70\1\0\2\70\4\0\1\70\1\161\1\72\1\73" + "\1\0\1\74\14\0\1\70\1\0\4\70\1\72\1\70" + "\1\161\1\73\1\70\1\72\14\70\1\76\1\70\1\0" + "\3\70\4\162\1\70\1\0\2\70\4\0\2\70\2\162" + "\16\0\1\70\1\0\4\70\1\162\2\70\1\162\1\70" - + "\3\162\5\70\1\162\4\70\1\162\1\70\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\6\6\1\163\1\6\1\164\17\6\31\0\1\26" - + "\2\0\1\16\40\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\15\6\1\165\12\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\7\6\1\114\7\6\1\166\10\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\16\6\1\167\11\6\1\0\1\5" - + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\2\6\1\170\25\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\14\6" - + "\1\171\13\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\16\6\1\172\11\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\20\6\1\173\7\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\7\6\1\174\20\6\1\0\1\5\7\6\1\0" - + "\1\5\1\67\4\0\4\6\1\175\15\0\1\5\1\0" + "\30\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\15\6\1\176\12\6\1\0" - + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\1\6\1\177\26\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" - + "\20\6\1\200\1\201\6\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\12\6" + "\1\202\1\6\1\203\13\6\1\0\1\5\7\6\1\0" - + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\22\6" + "\1\107\5\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\13\6\1\204\14\6" - + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\17\6\1\205\10\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" - + "\1\0\13\6\1\206\14\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\7\6" + "\1\207\20\6\1\0\1\5\7\6\1\0\1\5\1\67" - + "\4\0\4\6\16\0\1\5\1\0\1\6\1\210\26\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\4\6\1\211\5\6\1\212\15\6" - + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\1\213\6\0\1\214\6\0\1\5\1\0\1\6\1\215" + "\4\6\1\216\21\6\1\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\16\0\1\5\1\0\17\6\1\124" + "\10\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\1\6\1\217\1\6\1\220" - + "\24\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\15\6\1\221\12\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" - + "\1\5\1\0\3\6\1\222\24\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\14\6\1\223\13\6\1\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\16\0\1\5\1\0\1\6\1\224" + "\1\6\1\225\23\6\1\226\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\6\6" - + "\1\227\21\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\12\6\1\230\15\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\14\6\1\231\13\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\7\6\1\232\20\6\45\0\1\233\74\0\1\234" + + "\3\162\5\70\1\162\4\70\1\162\1\70\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\6\6\1\163\1\6\1\164\17\6\31\0\1\26" + "\2\0\1\16\40\0\1\5\7\6\1\0\1\5\1\67" + + "\4\0\4\6\16\0\1\5\1\0\15\6\1\165\12\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\7\6\1\114\7\6\1\166\10\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\16\6\1\167\11\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\2\6\1\170\25\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\14\6" + + "\1\171\13\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\16\6\1\172\11\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\20\6\1\173\7\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\7\6\1\174\20\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\1\175\15\0\1\5\1\0" + "\30\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\15\6\1\176\12\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + + "\1\5\1\0\1\6\1\177\26\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\20\6\1\200\1\201\6\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\12\6" + + "\1\202\1\6\1\203\13\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\22\6" + + "\1\107\5\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\13\6\1\204\14\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\17\6\1\205\10\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\13\6\1\206\14\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\7\6" + "\1\207\20\6\1\0\1\5\7\6\1\0\1\5\1\67" + + "\4\0\4\6\16\0\1\5\1\0\1\6\1\210\26\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\4\6\1\211\5\6\1\212\15\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\1\213\6\0\1\214\6\0\1\5\1\0\1\6\1\215" + "\4\6\1\216\21\6\1\0\1\5\7\6\1\0\1\5" + + "\1\67\4\0\4\6\16\0\1\5\1\0\17\6\1\124" + "\10\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\1\6\1\217\1\6\1\220" + "\24\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\15\6\1\221\12\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + + "\1\5\1\0\3\6\1\222\24\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\14\6\1\223\13\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\1\6\1\224" + + "\1\6\1\225\23\6\1\226\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\6\6" + + "\1\227\21\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\12\6\1\230\15\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\14\6\1\231\13\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\7\6\1\232\20\6\45\0\1\233\74\0\1\234" + "\77\0\1\235\75\0\1\236\64\0\1\237\74\0\1\240" + "\77\0\1\241\75\0\1\242\20\0\3\5\4\243\1\5" + "\1\0\2\5\4\0\2\5\2\243\16\0\1\5\1\0" + "\4\5\1\243\2\5\1\243\1\5\3\243\5\5\1\243" + "\4\5\1\243\1\5\1\0\3\70\2\157\1\70\1\157" + "\1\70\1\0\2\70\4\0\2\70\1\72\1\70\16\0" + "\1\70\1\0\4\70\1\72\4\70\1\72\14\70\1\157" + "\1\70\4\0\2\157\1\0\1\157\62\0\1\157\2\0" + "\3\70\4\162\1\70\1\0\2\70\4\0\1\70\1\161" + "\2\162\16\0\1\70\1\0\4\70\1\162\1\70\1\161" - + "\1\162\1\70\3\162\5\70\1\162\4\70\1\162\1\70" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\7\6\1\244\20\6\1\0\1\5" - + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\5\6\1\245\22\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\11\6" - + "\1\246\16\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\14\6\1\247\13\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\21\6\1\250\6\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\7\6\1\251\20\6\1\0\1\5\7\6\1\0" - + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\12\6" + "\1\252\3\6\1\253\6\6\1\254\2\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" - + "\1\0\15\6\1\255\12\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\21\6" + "\1\256\6\6\1\0\1\5\7\6\1\0\1\5\1\67" - + "\4\0\4\6\16\0\1\5\1\0\1\6\1\114\26\6" + "\46\0\1\257\26\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\14\6\1\260\13\6" - + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\7\0\1\214\6\0\1\5\1\0\30\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" - + "\1\0\21\6\1\261\6\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\7\6" + "\1\262\20\6\1\0\1\5\7\6\1\0\1\5\1\67" - + "\4\0\4\6\16\0\1\5\1\0\13\6\1\263\14\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\2\6\1\114\25\6\1\0\1\5" - + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\3\6\1\220\24\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\14\6" - + "\1\264\13\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\6\6\1\265\21\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\15\6\1\114\12\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\1\266\27\6\1\0\1\5\6\6\1\207\1\0" - + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\1\6" + "\1\267\1\270\1\271\1\6\1\272\4\6\1\273\3\6" + "\1\274\1\6\1\275\4\6\1\276\2\6\1\0\1\5" - + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\6\6\1\277\21\6\47\0\1\300\3\0\1\301" + "\3\0\1\302\15\0\1\5\7\6\1\0\1\5\1\67" - + "\4\0\4\6\16\0\1\5\1\0\5\6\1\303\22\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\5\6\1\304\22\6\1\0\1\5" - + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\12\6\1\305\15\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\7\6" - + "\1\114\20\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\11\6\1\114\16\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\7\6\1\223\20\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\17\6\1\174\10\6\1\0\1\5\6\6\1\306" - + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\30\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\1\6\1\307\26\6\1\0" - + "\1\5\6\6\1\310\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\30\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\1\6" - + "\1\311\26\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\17\6\1\312\10\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\12\6\1\313\15\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\13\6\1\313\14\6\46\0\1\314\66\0\1\315" - + "\105\0\1\234\45\0\1\316\114\0\1\317\66\0\1\320" + "\105\0\1\240\45\0\1\321\47\0\3\5\4\322\1\5" - + "\1\0\2\5\4\0\2\5\2\322\16\0\1\5\1\0" + "\4\5\1\322\2\5\1\322\1\5\3\322\5\5\1\322" + "\4\5\1\322\1\5\1\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\16\0\1\5\1\0\3\6\1\323" + "\24\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\15\6\1\324\12\6\1\0" - + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\6\6\1\325\21\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" - + "\10\6\1\114\17\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\14\6\1\326" + "\13\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" - + "\4\6\16\0\1\5\1\0\12\6\1\123\15\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\6\6\1\327\21\6\1\0\1\5\7\6" - + "\1\0\1\5\1\67\4\0\4\6\7\0\1\214\6\0" + "\1\5\1\0\15\6\1\114\7\6\2\114\1\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" - + "\1\5\1\0\5\6\1\330\22\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\13\6\1\331\14\6\1\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\16\0\1\5\1\0\14\6\1\332" + "\13\6\57\0\1\333\15\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\17\6\1\334" - + "\10\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\11\6\1\335\16\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" - + "\1\5\1\0\6\6\1\323\21\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\6\6\1\336\21\6\1\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\16\0\1\5\1\0\17\6\1\114" + "\10\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\1\337\15\0\1\5\1\0\30\6\1\0\1\5" - + "\7\6\1\0\1\5\1\67\4\0\4\6\1\340\15\0" + "\1\5\1\0\30\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\22\6\1\341" - + "\5\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\13\6\1\342\14\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" - + "\1\5\1\0\1\6\1\343\5\6\1\344\20\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\15\6\1\345\12\6\1\0\1\5\7\6" - + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\6\6\1\346\5\6\1\347\13\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" - + "\7\6\1\350\20\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\7\6\1\351" + "\3\6\1\352\14\6\1\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\16\0\1\5\1\0\13\6\1\264" + "\14\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\13\6\1\353\14\6\66\0" - + "\1\354\74\0\1\355\56\0\1\356\22\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\20\6\1\357\7\6\1\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\16\0\1\5\1\0\3\6\1\174" + "\24\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\1\114\27\6\1\0\1\5" - + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\17\6\1\360\10\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\13\6" - + "\1\361\14\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\5\6\1\362\22\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\5\6\1\363\22\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\14\6\1\34\13\6\1\0\1\5\7\6\1\0" - + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\24\6" + "\1\114\3\6\41\0\1\315\5\0\1\234\62\0\1\364" - + "\37\0\1\316\1\365\5\316\1\0\1\365\4\0\1\365" + "\4\316\4\365\1\0\1\365\1\0\1\365\1\0\1\365" - + "\1\316\5\365\30\316\41\0\1\320\5\0\1\240\62\0" + "\1\366\37\0\1\321\1\367\5\321\1\0\1\367\4\0" - + "\1\367\4\321\4\367\1\0\1\367\1\0\1\367\1\0" + "\1\367\1\321\5\367\30\321\1\0\3\5\4\370\1\5" - + "\1\0\2\5\4\0\2\5\2\370\16\0\1\5\1\0" + "\4\5\1\370\2\5\1\370\1\5\3\370\5\5\1\370" + "\4\5\1\370\1\5\1\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\16\0\1\5\1\0\3\6\1\114" + "\24\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\11\6\1\371\16\6\1\0" - + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\7\6\1\372\20\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" - + "\11\6\1\373\16\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\13\6\1\374" + "\14\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" - + "\4\6\16\0\1\5\1\0\11\6\1\220\16\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\6\6\1\114\21\6\1\0\1\5\7\6" - + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\6\6\1\375\21\6\56\0\1\376\16\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" - + "\7\6\1\377\20\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\13\6\1\114" + "\14\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\1\162\1\70\3\162\5\70\1\162\4\70\1\162\1\70" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\7\6\1\244\20\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\5\6\1\245\22\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\11\6" + + "\1\246\16\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\14\6\1\247\13\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\21\6\1\250\6\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\7\6\1\251\20\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\12\6" + "\1\252\3\6\1\253\6\6\1\254\2\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\15\6\1\255\12\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\21\6" + "\1\256\6\6\1\0\1\5\7\6\1\0\1\5\1\67" + + "\4\0\4\6\16\0\1\5\1\0\1\6\1\114\26\6" + "\46\0\1\257\26\0\1\5\7\6\1\0\1\5\1\67" + + "\4\0\4\6\16\0\1\5\1\0\14\6\1\260\13\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\7\0\1\214\6\0\1\5\1\0\30\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\21\6\1\261\6\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\7\6" + + "\1\262\20\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\13\6\1\263\14\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\2\6\1\114\25\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\3\6\1\220\24\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\14\6" + "\1\264\13\6\1\0\1\5\7\6\1\0\1\5\1\67" + + "\4\0\4\6\16\0\1\5\1\0\6\6\1\265\21\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\15\6\1\114\12\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\1\266\27\6\1\0\1\5\6\6\1\207\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\1\6" + + "\1\267\1\270\1\271\1\6\1\272\4\6\1\273\3\6" + "\1\274\1\6\1\275\4\6\1\276\2\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\6\6\1\277\21\6\47\0\1\300\3\0\1\301" + + "\3\0\1\302\15\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\5\6\1\303\22\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\5\6\1\304\22\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\12\6\1\305\15\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\7\6" + "\1\114\20\6\1\0\1\5\7\6\1\0\1\5\1\67" + + "\4\0\4\6\16\0\1\5\1\0\11\6\1\114\16\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\7\6\1\223\20\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\17\6\1\174\10\6\1\0\1\5\6\6\1\306" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\30\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\1\6\1\307\26\6\1\0" + + "\1\5\6\6\1\310\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\30\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\1\6" + "\1\311\26\6\1\0\1\5\7\6\1\0\1\5\1\67" + + "\4\0\4\6\16\0\1\5\1\0\17\6\1\312\10\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\12\6\1\313\15\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\13\6\1\313\14\6\46\0\1\314\66\0\1\315" + "\105\0\1\234\45\0\1\316\114\0\1\317\66\0\1\320" + + "\105\0\1\240\45\0\1\321\47\0\3\5\4\322\1\5" + "\1\0\2\5\4\0\2\5\2\322\16\0\1\5\1\0" + + "\4\5\1\322\2\5\1\322\1\5\3\322\5\5\1\322" + "\4\5\1\322\1\5\1\0\1\5\7\6\1\0\1\5" + + "\1\67\4\0\4\6\16\0\1\5\1\0\3\6\1\323" + "\24\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\15\6\1\324\12\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + + "\1\5\1\0\6\6\1\325\21\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\10\6\1\114\17\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\14\6\1\326" + + "\13\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\12\6\1\123\15\6\1\0" + + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\6\6\1\327\21\6\1\0\1\5\7\6" + + "\1\0\1\5\1\67\4\0\4\6\7\0\1\214\6\0" + "\1\5\1\0\15\6\1\114\7\6\2\114\1\6\1\0" + + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\5\6\1\330\22\6\1\0\1\5\7\6" + + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\13\6\1\331\14\6\1\0\1\5\7\6\1\0\1\5" + + "\1\67\4\0\4\6\16\0\1\5\1\0\14\6\1\332" + "\13\6\57\0\1\333\15\0\1\5\7\6\1\0\1\5" + + "\1\67\4\0\4\6\16\0\1\5\1\0\17\6\1\334" + "\10\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\11\6\1\335\16\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + + "\1\5\1\0\6\6\1\323\21\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\6\6\1\336\21\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\17\6\1\114" + + "\10\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\1\337\15\0\1\5\1\0\30\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\1\340\15\0" + "\1\5\1\0\30\6\1\0\1\5\7\6\1\0\1\5" + + "\1\67\4\0\4\6\16\0\1\5\1\0\22\6\1\341" + "\5\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\13\6\1\342\14\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + + "\1\5\1\0\1\6\1\343\5\6\1\344\20\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + + "\1\5\1\0\15\6\1\345\12\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\6\6\1\346\5\6\1\347\13\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\7\6\1\350\20\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\7\6\1\351" + + "\3\6\1\352\14\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\13\6\1\264" + + "\14\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\13\6\1\353\14\6\66\0" + + "\1\354\74\0\1\355\56\0\1\356\22\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\20\6\1\357\7\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\3\6\1\174" + + "\24\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\1\114\27\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\17\6\1\360\10\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\13\6" + "\1\361\14\6\1\0\1\5\7\6\1\0\1\5\1\67" + + "\4\0\4\6\16\0\1\5\1\0\5\6\1\362\22\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\5\6\1\363\22\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\14\6\1\34\13\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\24\6" + + "\1\114\3\6\41\0\1\315\5\0\1\234\62\0\1\364" + "\37\0\1\316\1\365\5\316\1\0\1\365\4\0\1\365" + + "\4\316\4\365\1\0\1\365\1\0\1\365\1\0\1\365" + "\1\316\5\365\30\316\41\0\1\320\5\0\1\240\62\0" + + "\1\366\37\0\1\321\1\367\5\321\1\0\1\367\4\0" + "\1\367\4\321\4\367\1\0\1\367\1\0\1\367\1\0" + + "\1\367\1\321\5\367\30\321\1\0\3\5\4\370\1\5" + "\1\0\2\5\4\0\2\5\2\370\16\0\1\5\1\0" + + "\4\5\1\370\2\5\1\370\1\5\3\370\5\5\1\370" + "\4\5\1\370\1\5\1\0\1\5\7\6\1\0\1\5" + + "\1\67\4\0\4\6\16\0\1\5\1\0\3\6\1\114" + "\24\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\11\6\1\371\16\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + + "\1\5\1\0\7\6\1\372\20\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\11\6\1\373\16\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\13\6\1\374" + + "\14\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\11\6\1\220\16\6\1\0" + + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\6\6\1\114\21\6\1\0\1\5\7\6" + + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\6\6\1\375\21\6\56\0\1\376\16\0\1\5\7\6" + + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\7\6\1\377\20\6\1\0\1\5\7\6\1\0\1\5" + + "\1\67\4\0\4\6\16\0\1\5\1\0\13\6\1\114" + "\14\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\6\6\1\373\21\6\54\0" + "\1\u0100\63\0\1\u0101\1\0\1\u0102\1\u0103\1\0\1\u0104" + "\4\0\1\u0105\1\u0106\1\u0107\14\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\2\6" - + "\1\220\25\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\12\6\1\u0108\4\6" + "\1\u0109\10\6\1\0\1\5\7\6\1\0\1\5\1\67" - + "\4\0\4\6\16\0\1\5\1\0\17\6\1\u010a\10\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\1\6\1\u010b\26\6\1\0\1\5" - + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\7\6\1\u010c\20\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\13\6" - + "\1\244\14\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\15\6\1\u010d\12\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\15\6\1\u010e\12\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\1\6\1\u010f\26\6\1\0\1\5\7\6\1\0" - + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\12\6" + "\1\u0110\15\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\5\6\1\u0111\11\6" + + "\1\220\25\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\12\6\1\u0108\4\6" + + "\1\u0109\10\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\17\6\1\u010a\10\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\1\6\1\u010b\26\6\1\0\1\5" + + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\7\6\1\u010c\20\6\1\0\1\5\7\6\1\0" + + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\13\6" + "\1\244\14\6\1\0\1\5\7\6\1\0\1\5\1\67" + + "\4\0\4\6\16\0\1\5\1\0\15\6\1\u010d\12\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\16\0\1\5\1\0\15\6\1\u010e\12\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\1\6\1\u010f\26\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\12\6" + + "\1\u0110\15\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\5\6\1\u0111\11\6" + "\1\220\10\6\64\0\1\u0112\54\0\1\u0113\100\0\1\u0114" + "\22\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\7\6\1\323\20\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\15\6\1\u0115\12\6\1\0\1\5\7\6\1\0" - + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\17\6" + "\1\u0116\10\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\17\6\1\220\10\6" - + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\2\6\1\u0117\25\6\36\0\1\316" + "\73\0\1\321\36\0\3\5\4\6\1\5\1\0\2\5" - + "\4\0\2\5\2\6\16\0\1\5\1\0\4\5\1\6" + "\2\5\1\6\1\5\3\6\5\5\1\6\4\5\1\6" + "\1\5\1\0\1\5\7\6\1\0\1\5\1\67\4\0" - + "\4\6\1\u0118\15\0\1\5\1\0\30\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\17\6\1\u0119\10\6\1\0\1\5\7\6\1\0" - + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\22\6" + "\1\114\5\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\5\6\1\u0111\22\6" - + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\1\u011a\15\0\1\5\1\0\30\6\70\0\1\u011b\4\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\1\u011c" - + "\15\0\1\5\1\0\30\6\44\0\1\u011d\106\0\1\u011e" + "\73\0\1\u011f\61\0\1\u0120\3\0\1\u0121\1\u0122\102\0" + + "\16\0\1\5\1\0\7\6\1\323\20\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\15\6\1\u0115\12\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\17\6" + + "\1\u0116\10\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\17\6\1\220\10\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\2\6\1\u0117\25\6\36\0\1\316" + + "\73\0\1\321\36\0\3\5\4\6\1\5\1\0\2\5" + "\4\0\2\5\2\6\16\0\1\5\1\0\4\5\1\6" + + "\2\5\1\6\1\5\3\6\5\5\1\6\4\5\1\6" + "\1\5\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\1\u0118\15\0\1\5\1\0\30\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\17\6\1\u0119\10\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\22\6" + + "\1\114\5\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\5\6\1\u0111\22\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\1\u011a\15\0\1\5\1\0\30\6\70\0\1\u011b\4\0" + + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\1\u011c" + "\15\0\1\5\1\0\30\6\44\0\1\u011d\106\0\1\u011e" + + "\73\0\1\u011f\61\0\1\u0120\3\0\1\u0121\1\u0122\102\0" + "\1\u0123\72\0\1\u0124\71\0\1\u0125\25\0\1\u0126\35\0" + "\1\u0127\26\0\1\5\7\6\1\0\1\5\1\67\4\0" - + "\4\6\16\0\1\5\1\0\24\6\1\u0128\3\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\13\6\1\u0129\14\6\1\0\1\5\6\6" - + "\1\u012a\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\30\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\4\6\1\114\23\6" - + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\1\u012b\15\0\1\5\1\0\30\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" - + "\3\6\1\u012c\24\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\7\6\1\u012d" + "\20\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" - + "\4\6\16\0\1\5\1\0\1\u012e\27\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\17\6\1\u012f\10\6\1\0\1\5\7\6\1\0" - + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\20\6" + "\1\114\7\6\65\0\1\u0130\61\0\1\u0131\44\0\1\u0132" - + "\50\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\1\u0133\15\0\1\5\1\0\30\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" - + "\1\6\1\u0134\26\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\6\6\1\u0135" + "\21\6\46\0\1\u0136\26\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\1\u0137\15\0\1\5\1\0\30\6" + "\64\0\1\u0138\66\0\1\u0139\67\0\1\u013a\73\0\1\u013b" - + "\67\0\1\u013c\102\0\1\u013d\74\0\1\u013e\100\0\1\u013f" + "\67\0\1\u0140\61\0\1\u0141\106\0\1\u0142\2\0\1\u0143" + + "\4\6\16\0\1\5\1\0\24\6\1\u0128\3\6\1\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + + "\1\5\1\0\13\6\1\u0129\14\6\1\0\1\5\6\6" + "\1\u012a\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\30\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\4\6\1\114\23\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\1\u012b\15\0\1\5\1\0\30\6\1\0\1\5\7\6" + + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\3\6\1\u012c\24\6\1\0\1\5\7\6\1\0\1\5" + + "\1\67\4\0\4\6\16\0\1\5\1\0\7\6\1\u012d" + "\20\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\1\u012e\27\6\1\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\17\6\1\u012f\10\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\20\6" + + "\1\114\7\6\65\0\1\u0130\61\0\1\u0131\44\0\1\u0132" + "\50\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + + "\1\u0133\15\0\1\5\1\0\30\6\1\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + + "\1\6\1\u0134\26\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\6\6\1\u0135" + + "\21\6\46\0\1\u0136\26\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\1\u0137\15\0\1\5\1\0\30\6" + + "\64\0\1\u0138\66\0\1\u0139\67\0\1\u013a\73\0\1\u013b" + + "\67\0\1\u013c\102\0\1\u013d\74\0\1\u013e\100\0\1\u013f" + + "\67\0\1\u0140\61\0\1\u0141\106\0\1\u0142\2\0\1\u0143" + "\65\0\1\u0144\62\0\1\u0145\101\0\1\u0146\21\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" - + "\1\0\13\6\1\u0147\14\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\20\6" + "\1\u0148\7\6\1\0\1\5\7\6\1\0\1\5\1\67" - + "\4\0\4\6\16\0\1\5\1\0\12\6\1\174\15\6" + "\47\0\1\u0149\6\0\1\u014a\5\0\1\u014b\10\0\1\5" - + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + "\1\0\1\6\1\u014c\26\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\17\6" - + "\1\u014d\10\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\14\6\1\221\13\6" + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" - + "\16\0\1\5\1\0\14\6\1\114\13\6\60\0\1\u014e" + "\76\0\1\u014f\57\0\1\300\74\0\1\u0150\24\0\1\5" - + "\7\6\1\0\1\5\1\67\4\0\4\6\1\u0151\15\0" + "\1\5\1\0\30\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\7\6\1\u0152" + + "\1\0\13\6\1\u0147\14\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\20\6" + + "\1\u0148\7\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\12\6\1\174\15\6" + + "\47\0\1\u0149\6\0\1\u014a\5\0\1\u014b\10\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\16\0\1\5" + + "\1\0\1\6\1\u014c\26\6\1\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\17\6" + + "\1\u014d\10\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\14\6\1\221\13\6" + + "\1\0\1\5\7\6\1\0\1\5\1\67\4\0\4\6" + "\16\0\1\5\1\0\14\6\1\114\13\6\60\0\1\u014e" + + "\76\0\1\u014f\57\0\1\300\74\0\1\u0150\24\0\1\5" + "\7\6\1\0\1\5\1\67\4\0\4\6\1\u0151\15\0" + + "\1\5\1\0\30\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\7\6\1\u0152" + "\20\6\63\0\1\u0153\66\0\1\u0154\6\0\1\u0155\65\0" + "\1\u0156\76\0\1\u0157\74\0\1\u0158\71\0\1\214\56\0" - + "\1\u0159\117\0\1\u015a\64\0\1\u015b\60\0\1\u015c\72\0" + "\1\u015d\36\0\1\u015e\140\0\1\u015f\64\0\1\u0160\100\0" + + "\1\u0159\117\0\1\u015a\64\0\1\u015b\60\0\1\u015c\72\0" + + "\1\u015d\36\0\1\u015e\140\0\1\u015f\64\0\1\u0160\100\0" + "\1\u0161\66\0\1\u0162\106\0\1\u0163\13\0\1\5\7\6" + "\1\0\1\5\1\67\4\0\4\6\16\0\1\5\1\0" + "\16\6\1\220\11\6\1\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\16\0\1\5\1\0\7\6\1\u0164" + "\20\6\53\0\1\u0165\12\0\1\u0166\65\0\1\u0167\66\0" + "\1\u0168\4\0\1\u0169\14\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\16\0\1\5\1\0\13\6\1\u016a" + "\14\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + "\4\6\16\0\1\5\1\0\5\6\1\u016b\22\6\52\0" - + "\1\u015d\102\0\1\u016c\75\0\1\u016d\66\0\1\u0154\2\0" + "\1\u016e\3\0\1\u0155\7\0\1\5\7\6\1\0\1\5" - + "\1\67\4\0\4\6\1\u016f\15\0\1\5\1\0\30\6" + "\60\0\1\u0170\72\0\1\u0171\65\0\1\u0172\100\0\1\u0173" - + "\70\0\1\214\103\0\1\u0174\34\0\1\u0175\126\0\1\u0176" + "\71\0\1\u0177\70\0\1\u0178\70\0\1\214\71\0\1\u0179" + + "\1\67\4\0\4\6\16\0\1\5\1\0\13\6\1\u016a" + "\14\6\1\0\1\5\7\6\1\0\1\5\1\67\4\0" + + "\4\6\16\0\1\5\1\0\5\6\1\u016b\22\6\52\0" + "\1\u015d\102\0\1\u016c\75\0\1\u016d\66\0\1\u0154\2\0" + + "\1\u016e\3\0\1\u0155\7\0\1\5\7\6\1\0\1\5" + "\1\67\4\0\4\6\1\u016f\15\0\1\5\1\0\30\6" + + "\60\0\1\u0170\72\0\1\u0171\65\0\1\u0172\100\0\1\u0173" + + "\70\0\1\214\103\0\1\u0174\34\0\1\u0175\126\0\1\u0176" + + "\71\0\1\u0177\70\0\1\u0178\70\0\1\214\71\0\1\u0179" + "\77\0\1\u017a\73\0\1\u017b\71\0\1\u017c\34\0\1\u017d" + "\107\0\1\u017e\50\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\1\6\1\u017f\26\6" + "\45\0\1\u0180\112\0\1\u0181\70\0\1\u0182\2\0\1\u0183" + "\54\0\1\u0184\103\0\1\u0185\17\0\1\5\7\6\1\0" + "\1\5\1\67\4\0\4\6\16\0\1\5\1\0\15\6" + "\1\174\12\6\1\0\1\5\7\6\1\0\1\5\1\67" + "\4\0\4\6\16\0\1\5\1\0\12\6\1\114\15\6" - + "\57\0\1\356\74\0\1\u0186\72\0\1\u0187\105\0\1\u0188" + "\47\0\1\u0189\75\0\1\u0157\105\0\1\u018a\75\0\1\u018b" - + "\70\0\1\u018c\60\0\1\u018d\110\0\1\u018e\70\0\1\u018f" + "\67\0\1\u0190\44\0\1\u0191\114\0\1\u0192\100\0\1\u0193" + + "\57\0\1\356\74\0\1\u0186\72\0\1\u0187\105\0\1\u0188" + + "\47\0\1\u0189\75\0\1\u0157\105\0\1\u018a\75\0\1\u018b" + + "\70\0\1\u018c\60\0\1\u018d\110\0\1\u018e\70\0\1\u018f" + + "\67\0\1\u0190\44\0\1\u0191\114\0\1\u0192\100\0\1\u0193" + "\70\0\1\u0174\71\0\1\u0194\75\0\1\u0195\1\u0196\24\0" + "\1\5\7\6\1\0\1\5\1\67\4\0\4\6\16\0" + "\1\5\1\0\7\6\1\264\20\6\50\0\1\u0197\110\0" + "\1\u0198\63\0\1\u0199\64\0\1\u019a\71\0\1\u019b\100\0" - + "\1\u019c\106\0\1\214\73\0\1\u0157\66\0\1\u019d\67\0" + "\1\u019e\75\0\1\214\76\0\1\u019f\76\0\1\u015d\67\0" - + "\1\u01a0\67\0\1\u01a1\103\0\1\u01a2\34\0\1\u01a3\117\0" + "\1\u01a4\74\0\1\u01a5\101\0\1\u01a6\40\0\1\u01a7\114\0" - + "\1\u01a8\77\0\1\u01a9\46\0\1\u01aa\127\0\1\u01ab\64\0" + "\1\u01ac\73\0\1\u01ad\102\0\1\u01ae\63\0\1\u01af\75\0" - + "\1\u01b0\77\0\1\u01b1\67\0\1\u01b2\106\0\1\u01b3\32\0" + "\1\u01b4\124\0\1\u01b5\101\0\1\u01b6\73\0\1\u01b7\70\0" - + "\1\u01b8\60\0\1\u01b9\73\0\1\u01ba\111\0\1\u01bb\62\0" + "\1\u0157\74\0\1\u01bc\72\0\1\u01bd\66\0\1\u01be\100\0" - + "\1\u01bf\76\0\1\u01c0\104\0\1\u01bd\15\0\1\u01c1\130\0" + "\1\214\101\0\1\u01b1\72\0\1\u018e\72\0\1\u01c2\46\0" - + "\1\u01c3\122\0\1\u01c4\100\0\1\u01c5\74\0\1\u01c6\63\0" + "\1\u01c7\102\0\1\u01c8\66\0\1\u01c9\107\0\1\u01ca\30\0" - + "\1\u01cb\120\0\1\u01cc\75\0\1\u01cd\44\0\1\u01ce\122\0" + "\1\u01cf\65\0\1\u01d0\77\0\1\u01d1\71\0\1\u01d2\110\0" - + "\1\u01c8\33\0\1\u01d3\127\0\1\u01d4\37\0\1\u01d5\126\0" + "\1\u0186\62\0\1\u01d6\111\0\1\u01d7\67\0\1\u013b\76\0" - + "\1\u01bd\66\0\1\u01d8\41\0\1\u01d9\122\0\1\u01da\100\0" + "\1\u01db\60\0\1\u01dc\111\0\1\u01dd\71\0\1\u01de\61\0" - + "\1\u01df\103\0\1\u01e0\73\0\1\u01e1\74\0\1\u01e2\100\0" + "\1\u0155\71\0\1\u01e3\34\0\1\u01e4\126\0\1\u01e5\67\0" - + "\1\u01e6\44\0\1\u01e7\114\0\1\u01e8\107\0\1\u01e9\70\0" + "\1\u01ea\101\0\1\u01eb\66\0\1\u01ec\63\0\1\u01ed\107\0" - + "\1\u01b1\57\0\1\u01ee\34\0\1\u01ef\146\0\1\u01f0\65\0" + "\1\u01f1\101\0\1\u01f2\75\0\1\u01f3\53\0\1\u01f4\114\0" - + "\1\u01f5\52\0\1\u01f6\107\0\1\u01f7\63\0\1\u01f8\75\0" + "\1\u01f9\100\0\1\214\64\0\1\u01fa\102\0\1\u01f9\74\0" - + "\1\u01fb\71\0\1\u01fc\65\0\1\u01b1\103\0\1\u01fd\75\0" + "\1\214\71\0\1\u01fe\57\0\1\u01ff\111\0\1\u0140\72\0" + + "\1\u019c\106\0\1\214\73\0\1\u0157\66\0\1\u019d\67\0" + + "\1\u019e\75\0\1\214\76\0\1\u019f\76\0\1\u015d\67\0" + + "\1\u01a0\67\0\1\u01a1\103\0\1\u01a2\34\0\1\u01a3\117\0" + + "\1\u01a4\74\0\1\u01a5\101\0\1\u01a6\40\0\1\u01a7\114\0" + + "\1\u01a8\77\0\1\u01a9\46\0\1\u01aa\127\0\1\u01ab\64\0" + + "\1\u01ac\73\0\1\u01ad\102\0\1\u01ae\63\0\1\u01af\75\0" + + "\1\u01b0\77\0\1\u01b1\67\0\1\u01b2\106\0\1\u01b3\32\0" + + "\1\u01b4\124\0\1\u01b5\101\0\1\u01b6\73\0\1\u01b7\70\0" + + "\1\u01b8\60\0\1\u01b9\73\0\1\u01ba\111\0\1\u01bb\62\0" + + "\1\u0157\74\0\1\u01bc\72\0\1\u01bd\66\0\1\u01be\100\0" + + "\1\u01bf\76\0\1\u01c0\104\0\1\u01bd\15\0\1\u01c1\130\0" + + "\1\214\101\0\1\u01b1\72\0\1\u018e\72\0\1\u01c2\46\0" + + "\1\u01c3\122\0\1\u01c4\100\0\1\u01c5\74\0\1\u01c6\63\0" + + "\1\u01c7\102\0\1\u01c8\66\0\1\u01c9\107\0\1\u01ca\30\0" + + "\1\u01cb\120\0\1\u01cc\75\0\1\u01cd\44\0\1\u01ce\122\0" + + "\1\u01cf\65\0\1\u01d0\77\0\1\u01d1\71\0\1\u01d2\110\0" + + "\1\u01c8\33\0\1\u01d3\127\0\1\u01d4\37\0\1\u01d5\126\0" + + "\1\u0186\62\0\1\u01d6\111\0\1\u01d7\67\0\1\u013b\76\0" + + "\1\u01bd\66\0\1\u01d8\41\0\1\u01d9\122\0\1\u01da\100\0" + + "\1\u01db\60\0\1\u01dc\111\0\1\u01dd\71\0\1\u01de\61\0" + + "\1\u01df\103\0\1\u01e0\73\0\1\u01e1\74\0\1\u01e2\100\0" + + "\1\u0155\71\0\1\u01e3\34\0\1\u01e4\126\0\1\u01e5\67\0" + + "\1\u01e6\44\0\1\u01e7\114\0\1\u01e8\107\0\1\u01e9\70\0" + + "\1\u01ea\101\0\1\u01eb\66\0\1\u01ec\63\0\1\u01ed\107\0" + + "\1\u01b1\57\0\1\u01ee\34\0\1\u01ef\146\0\1\u01f0\65\0" + + "\1\u01f1\101\0\1\u01f2\75\0\1\u01f3\53\0\1\u01f4\114\0" + + "\1\u01f5\52\0\1\u01f6\107\0\1\u01f7\63\0\1\u01f8\75\0" + + "\1\u01f9\100\0\1\214\64\0\1\u01fa\102\0\1\u01f9\74\0" + + "\1\u01fb\71\0\1\u01fc\65\0\1\u01b1\103\0\1\u01fd\75\0" + + "\1\214\71\0\1\u01fe\57\0\1\u01ff\111\0\1\u0140\72\0" + "\1\214\70\0\1\u01ac\73\0\1\u0200\103\0\1\214\5\0"; - + private static int[] zzUnpackTrans() { int[] result = new int[29520]; 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 */ @@ -407,7 +486,7 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -419,18 +498,20 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\5\1\1\11\1\1\1\11\2\1\1\11\2\1" + "\1\11\3\1\1\11\20\1\1\11\2\1\2\11\1\1" - + "\1\11\5\1\1\11\15\1\1\11\1\0\41\1\2\11" + "\10\0\2\1\1\0\14\1\1\0\15\1\1\0\1\11" + "\16\1\10\0\14\1\1\0\20\1\3\0\11\1\2\0" - + "\1\1\2\0\12\1\1\0\3\1\2\0\13\1\3\0" + "\5\1\4\0\6\1\1\0\1\1\10\0\12\1\3\0" + "\3\1\1\0\1\1\16\0\3\1\1\0\4\1\4\0" - + "\2\1\21\0\2\1\3\0\2\1\4\0\1\1\21\0" + "\1\1\5\0\2\1\23\0\1\1\201\0"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\5\1\1\11\1\1\1\11\2\1\1\11\2\1" + + "\1\11\3\1\1\11\20\1\1\11\2\1\2\11\1\1" + "\1\11\5\1\1\11\15\1\1\11\1\0\41\1\2\11" + + "\10\0\2\1\1\0\14\1\1\0\15\1\1\0\1\11" + "\16\1\10\0\14\1\1\0\20\1\3\0\11\1\2\0" + + "\1\1\2\0\12\1\1\0\3\1\2\0\13\1\3\0" + "\5\1\4\0\6\1\1\0\1\1\10\0\12\1\3\0" + + "\3\1\1\0\1\1\16\0\3\1\1\0\4\1\4\0" + "\2\1\21\0\2\1\3\0\2\1\4\0\1\1\21\0" + + "\1\1\5\0\2\1\23\0\1\1\201\0"; + private static int[] zzUnpackAttribute() { int[] result = new int[512]; 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 */ @@ -444,7 +525,7 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -452,8 +533,8 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * 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 */ @@ -463,77 +544,67 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public LispTokenMaker() {} - + public LispTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addHyperlinkToken(int, int, int) */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -541,21 +612,18 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { ";", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -564,16 +632,16 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.COMMENT_MULTILINE: - state = MLC; - start = text.offset; - break; - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = STRING; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.COMMENT_MULTILINE: + state = MLC; + start = text.offset; + break; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = STRING; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -585,36 +653,34 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -624,34 +690,31 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public LispTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public LispTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -667,7 +730,7 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -677,69 +740,64 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -750,29 +808,27 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -791,8 +847,7 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -832,169 +887,170 @@ public class LispTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 4: { - addNullToken(); - return firstToken; - } - case 24: - break; - case 21: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 25: - break; - case 19: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 26: - break; - case 5: { - addToken(Token.WHITESPACE); - } - case 27: - break; - case 18: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 28: - break; - case 17: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 29: - break; - case 20: { - addToken(Token.RESERVED_WORD); - } - case 30: - break; - case 8: { - addToken(Token.SEPARATOR); - } - case 31: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 32: - break; - case 15: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 33: - break; - case 11: { /* Skip escaped chars. */ - } - case 34: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 35: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 36: - break; - case 23: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 37: - break; - case 22: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 38: - break; - case 16: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 39: - break; - case 9: { - start = zzMarkedPos - 1; - yybegin(STRING); - } - case 40: - break; - case 7: { - start = zzMarkedPos - 1; - yybegin(EOL_COMMENT); - } - case 41: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 42: - break; - case 6: { - addToken(Token.OPERATOR); - } - case 43: - break; - case 13: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 44: - break; - case 10: {} - case 45: - break; - case 14: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 46: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 513: - break; - case STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 514: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 515: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 516: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 4: { + addNullToken(); + return firstToken; + } + case 24: + break; + case 21: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 25: + break; + case 19: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 26: + break; + case 5: { + addToken(Token.WHITESPACE); + } + case 27: + break; + case 18: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 28: + break; + case 17: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 29: + break; + case 20: { + addToken(Token.RESERVED_WORD); + } + case 30: + break; + case 8: { + addToken(Token.SEPARATOR); + } + case 31: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 32: + break; + case 15: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 33: + break; + case 11: { /* Skip escaped chars. */ + } + case 34: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 35: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 36: + break; + case 23: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 37: + break; + case 22: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 38: + break; + case 16: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 39: + break; + case 9: { + start = zzMarkedPos - 1; + yybegin(STRING); + } + case 40: + break; + case 7: { + start = zzMarkedPos - 1; + yybegin(EOL_COMMENT); + } + case 41: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 42: + break; + case 6: { + addToken(Token.OPERATOR); + } + case 43: + break; + case 13: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 44: + break; + case 10: { + } + case 45: + break; + case 14: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 46: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 513: + break; + case STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 514: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 515: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 516: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/LuaTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/LuaTokenMaker.java index 493a4e8..66982b5 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/LuaTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/LuaTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated LuaTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class LuaTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -82,17 +81,19 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\4\0\2\1\1\2\1\3\1\4\1\5\1\6\2\7" + "\1\10\1\1\1\10\10\1\2\10\16\1\1\11\1\12" - + "\1\11\1\13\2\11\1\14\2\2\1\15\1\5\1\6" + "\1\16\1\17\1\20\1\10\21\1\3\0\3\1\1\21" + "\1\10\1\1\1\21\11\1\1\22\2\1\1\23\1\24" - + "\1\15\1\16\1\0\24\1\4\0\13\1\1\25\1\26" + "\11\1\1\21\2\1\1\22\3\1\4\0\6\1\1\27" + "\13\1\1\27\2\0\10\1\2\0\15\1"; - + private static final String ZZ_ACTION_PACKED_0 = "\4\0\2\1\1\2\1\3\1\4\1\5\1\6\2\7" + + "\1\10\1\1\1\10\10\1\2\10\16\1\1\11\1\12" + "\1\11\1\13\2\11\1\14\2\2\1\15\1\5\1\6" + + "\1\16\1\17\1\20\1\10\21\1\3\0\3\1\1\21" + "\1\10\1\1\1\21\11\1\1\22\2\1\1\23\1\24" + + "\1\15\1\16\1\0\24\1\4\0\13\1\1\25\1\26" + "\11\1\1\21\2\1\1\22\3\1\4\0\6\1\1\27" + + "\13\1\1\27\2\0\10\1\2\0\15\1"; + private static int[] zzUnpackAction() { int[] result = new int[201]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -106,7 +107,7 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -116,7 +117,8 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { + "\0\u02be\0\u02f4\0\u032a\0\u0360\0\u0396\0\u03cc\0\u0402\0\u0438" + "\0\u046e\0\u04a4\0\u04a4\0\u04da\0\u0510\0\u0546\0\u057c\0\u05b2" + "\0\u05e8\0\u061e\0\u0654\0\u068a\0\u06c0\0\u06f6\0\u072c\0\u0762" - + "\0\u0798\0\330\0\u07ce\0\330\0\u0804\0\u083a\0\330\0\u0870" + "\0\u08a6\0\330\0\u08dc\0\u0912\0\330\0\330\0\u0948\0\u097e" + + "\0\u0798\0\330\0\u07ce\0\330\0\u0804\0\u083a\0\330\0\u0870" + + "\0\u08a6\0\330\0\u08dc\0\u0912\0\330\0\330\0\u0948\0\u097e" + "\0\u09b4\0\u09ea\0\u0a20\0\u0a56\0\u0a8c\0\u0ac2\0\u0af8\0\u0b2e" + "\0\u0b64\0\u0b9a\0\u0bd0\0\u0c06\0\u0c3c\0\u0c72\0\u0ca8\0\u0cde" + "\0\u0d14\0\u0d4a\0\u0d80\0\u0db6\0\u0dec\0\u0e22\0\u0e58\0\u0e8e" @@ -135,14 +137,14 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { + "\0\u20b2\0\u20e8\0\u211e\0\u2154\0\u218a\0\u21c0\0\u21f6\0\u222c" + "\0\u2262\0\u2298\0\u22ce\0\u2304\0\u233a\0\u2370\0\u23a6\0\u23dc" + "\0\u2412\0\u2448\0\u247e\0\u24b4\0\u24ea\0\u2520\0\u2556\0\u258c" + "\0\u25c2"; - + private static int[] zzUnpackRowMap() { int[] result = new int[201]; 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 */ @@ -153,89 +155,119 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\5\1\6\1\7\1\10\1\11\1\12\1\5\1\13" + "\1\14\1\15\1\16\1\17\1\6\1\20\1\21\1\22" - + "\1\23\1\24\1\25\1\26\1\27\1\30\1\15\1\20" + "\1\31\1\32\2\33\1\34\1\35\1\36\1\37\1\6" - + "\1\40\1\41\1\42\1\6\1\43\1\44\1\45\1\46" + "\2\6\1\47\7\6\1\50\2\6\3\51\1\52\5\51" - + "\1\53\57\51\1\54\5\51\1\55\54\51\3\56\1\57" + "\62\56\67\0\2\6\11\0\1\6\1\0\10\6\6\0" - + "\32\6\1\0\1\60\1\7\10\0\1\7\1\61\1\0" + "\3\60\1\61\4\60\6\0\32\60\4\0\1\11\61\0" + "\3\12\1\0\1\12\1\62\1\63\57\12\3\13\1\0" - + "\2\13\1\64\1\65\56\13\10\0\1\66\67\0\1\67" + "\55\0\1\7\10\0\1\70\53\0\2\6\11\0\1\6" + "\1\0\1\6\1\71\6\6\6\0\2\6\1\72\5\6" - + "\1\73\20\6\1\74\1\0\2\6\11\0\1\6\1\0" + "\3\6\1\75\1\6\1\76\2\6\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\10\6\6\0\1\77\31\6" - + "\1\0\2\6\11\0\1\6\1\0\1\6\1\100\4\6" + "\1\101\1\6\6\0\1\102\31\6\1\0\2\6\11\0" + "\1\6\1\0\2\6\1\103\2\6\1\104\2\6\6\0" - + "\2\6\1\105\27\6\1\0\2\6\11\0\1\6\1\0" + "\7\6\1\106\6\0\1\107\31\6\1\0\2\6\11\0" + "\1\6\1\0\10\6\6\0\2\6\1\110\27\6\1\0" - + "\2\6\11\0\1\6\1\0\3\6\1\111\4\6\6\0" + "\32\6\21\0\1\112\3\0\1\113\4\0\1\20\1\0" + "\1\114\63\0\1\20\34\0\2\6\11\0\1\6\1\0" - + "\3\6\1\115\4\6\6\0\2\6\1\116\2\6\1\117" + "\24\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\2\6\1\120\27\6\1\0\2\6\11\0\1\6\1\0" - + "\1\6\1\121\6\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\1\6\1\122\6\6\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\4\6\1\123\3\6\6\0" - + "\7\6\1\124\22\6\1\0\2\6\11\0\1\6\1\0" + "\10\6\6\0\2\6\1\125\27\6\1\0\2\6\11\0" + "\1\6\1\0\1\6\1\126\3\6\1\127\2\6\6\0" - + "\6\6\1\130\23\6\1\0\2\6\11\0\1\6\1\0" + "\10\6\6\0\10\6\1\131\21\6\1\0\2\6\11\0" + "\1\6\1\0\10\6\6\0\2\6\1\132\27\6\1\0" - + "\2\6\11\0\1\6\1\0\3\6\1\133\4\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\15\6\1\134\14\6\1\0\2\6\11\0\1\6\1\0" + private static final String ZZ_TRANS_PACKED_0 = "\1\5\1\6\1\7\1\10\1\11\1\12\1\5\1\13" + + "\1\14\1\15\1\16\1\17\1\6\1\20\1\21\1\22" + "\1\23\1\24\1\25\1\26\1\27\1\30\1\15\1\20" + + "\1\31\1\32\2\33\1\34\1\35\1\36\1\37\1\6" + "\1\40\1\41\1\42\1\6\1\43\1\44\1\45\1\46" + + "\2\6\1\47\7\6\1\50\2\6\3\51\1\52\5\51" + "\1\53\57\51\1\54\5\51\1\55\54\51\3\56\1\57" + + "\62\56\67\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\32\6\1\0\1\60\1\7\10\0\1\7\1\61\1\0" + + "\3\60\1\61\4\60\6\0\32\60\4\0\1\11\61\0" + "\3\12\1\0\1\12\1\62\1\63\57\12\3\13\1\0" + + "\2\13\1\64\1\65\56\13\10\0\1\66\67\0\1\67" + "\55\0\1\7\10\0\1\70\53\0\2\6\11\0\1\6" + + "\1\0\1\6\1\71\6\6\6\0\2\6\1\72\5\6" + "\1\73\20\6\1\74\1\0\2\6\11\0\1\6\1\0" + + "\3\6\1\75\1\6\1\76\2\6\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\10\6\6\0\1\77\31\6" + + "\1\0\2\6\11\0\1\6\1\0\1\6\1\100\4\6" + "\1\101\1\6\6\0\1\102\31\6\1\0\2\6\11\0" + + "\1\6\1\0\2\6\1\103\2\6\1\104\2\6\6\0" + "\2\6\1\105\27\6\1\0\2\6\11\0\1\6\1\0" + + "\7\6\1\106\6\0\1\107\31\6\1\0\2\6\11\0" + "\1\6\1\0\10\6\6\0\2\6\1\110\27\6\1\0" + + "\2\6\11\0\1\6\1\0\3\6\1\111\4\6\6\0" + "\32\6\21\0\1\112\3\0\1\113\4\0\1\20\1\0" + + "\1\114\63\0\1\20\34\0\2\6\11\0\1\6\1\0" + "\3\6\1\115\4\6\6\0\2\6\1\116\2\6\1\117" + + "\24\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\2\6\1\120\27\6\1\0\2\6\11\0\1\6\1\0" + + "\1\6\1\121\6\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\1\6\1\122\6\6\6\0\32\6\1\0" + + "\2\6\11\0\1\6\1\0\4\6\1\123\3\6\6\0" + "\7\6\1\124\22\6\1\0\2\6\11\0\1\6\1\0" + + "\10\6\6\0\2\6\1\125\27\6\1\0\2\6\11\0" + "\1\6\1\0\1\6\1\126\3\6\1\127\2\6\6\0" + + "\6\6\1\130\23\6\1\0\2\6\11\0\1\6\1\0" + "\10\6\6\0\10\6\1\131\21\6\1\0\2\6\11\0" + + "\1\6\1\0\10\6\6\0\2\6\1\132\27\6\1\0" + "\2\6\11\0\1\6\1\0\3\6\1\133\4\6\6\0" + + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\15\6\1\134\14\6\1\0\2\6\11\0\1\6\1\0" + "\10\6\6\0\20\6\1\135\1\136\10\6\1\0\2\6" + "\11\0\1\6\1\0\10\6\6\0\7\6\1\137\22\6" + "\3\51\1\0\5\51\1\0\54\51\11\0\1\140\65\0" + "\1\141\54\0\3\56\1\0\62\56\1\0\2\60\11\0" + "\1\60\1\0\10\60\6\0\32\60\1\0\2\60\7\0" + "\1\60\1\0\12\60\6\0\32\60\3\12\1\0\1\12" + "\1\142\1\63\57\12\3\13\1\0\2\13\1\64\1\143" + "\56\13\10\0\1\144\70\0\1\20\53\0\2\6\11\0" - + "\1\6\1\0\2\6\1\145\5\6\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\7\6\1\146\6\0\1\147" + "\31\6\1\0\2\6\11\0\1\6\1\0\3\6\1\150" - + "\4\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + "\10\6\6\0\7\6\1\151\22\6\1\0\2\6\11\0" + "\1\6\1\0\1\152\7\6\6\0\7\6\1\153\20\6" - + "\1\154\1\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\11\6\1\155\20\6\1\0\2\6\11\0\1\6" + "\1\0\1\156\7\6\6\0\7\6\1\157\22\6\1\0" - + "\2\6\11\0\1\6\1\0\1\6\1\160\6\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\7\6\1\161" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" - + "\6\0\1\6\1\123\30\6\1\0\2\6\11\0\1\6" + "\1\0\10\6\6\0\1\162\31\6\1\0\2\6\11\0" + "\1\6\1\0\6\6\1\163\1\6\6\0\32\6\1\0" - + "\2\6\11\0\1\6\1\0\1\6\1\123\6\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\7\6\1\164" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" - + "\6\0\1\6\1\121\30\6\1\0\2\6\11\0\1\6" + "\1\0\5\6\1\165\2\6\6\0\6\6\1\166\23\6" + "\1\0\2\6\11\0\1\6\1\0\1\167\5\6\1\170" - + "\1\6\6\0\32\6\36\0\1\171\45\0\1\172\67\0" + "\1\173\2\0\1\174\43\0\2\6\11\0\1\6\1\0" - + "\10\6\6\0\27\6\1\175\2\6\1\0\2\6\11\0" + "\1\6\1\0\1\121\7\6\6\0\32\6\1\0\2\6" + "\11\0\1\6\1\0\6\6\1\123\1\6\6\0\32\6" - + "\1\0\2\6\11\0\1\6\1\0\4\6\1\176\3\6" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\3\6" + "\1\177\4\6\6\0\32\6\1\0\2\6\11\0\1\6" - + "\1\0\5\6\1\127\2\6\6\0\32\6\1\0\2\6" + "\11\0\1\6\1\0\6\6\1\200\1\6\6\0\32\6" + "\1\0\2\6\11\0\1\6\1\0\10\6\6\0\5\6" - + "\1\201\24\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\5\6\1\202\24\6\1\0\2\6\11\0\1\6" + "\1\0\5\6\1\203\2\6\6\0\32\6\1\0\2\6" - + "\11\0\1\6\1\0\10\6\6\0\5\6\1\204\24\6" + "\1\0\2\6\11\0\1\6\1\0\10\6\6\0\1\6" + "\1\205\30\6\1\0\2\6\11\0\1\6\1\0\1\167" - + "\7\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + "\10\6\6\0\16\6\1\206\13\6\1\0\2\6\11\0" + "\1\207\1\0\10\6\6\0\32\6\1\0\2\6\11\0" - + "\1\6\1\0\10\6\6\0\6\6\1\130\23\6\10\0" + "\1\210\56\0\2\6\11\0\1\6\1\0\3\6\1\211" + "\4\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" - + "\1\212\7\6\6\0\32\6\1\0\2\6\11\0\1\6" + "\1\0\2\6\1\213\5\6\6\0\32\6\1\0\2\6" + "\11\0\1\6\1\0\10\6\6\0\1\123\31\6\1\0" - + "\2\6\11\0\1\6\1\0\3\6\1\135\4\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\2\6\1\214" + "\5\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" - + "\3\6\1\215\4\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\2\6\1\216\5\6\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\3\6\1\217\3\6\1\220" - + "\6\0\13\6\1\220\16\6\1\0\2\6\11\0\1\6" + "\1\0\10\6\6\0\5\6\1\117\24\6\1\0\2\6" + "\11\0\1\6\1\0\5\6\1\221\2\6\6\0\32\6" - + "\1\0\2\6\11\0\1\6\1\0\10\6\6\0\2\6" + "\1\222\27\6\1\0\2\6\11\0\1\6\1\0\3\6" + "\1\223\4\6\6\0\32\6\1\0\2\6\11\0\1\6" - + "\1\0\10\6\6\0\6\6\1\224\23\6\1\0\2\6" + "\11\0\1\6\1\0\7\6\1\145\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\3\6\1\225\4\6\6\0" - + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\1\6\1\226\30\6\1\0\2\6\11\0\1\6\1\0" + "\5\6\1\117\2\6\6\0\32\6\1\0\2\6\11\0" - + "\1\6\1\0\4\6\1\227\3\6\6\0\12\6\1\230" + "\17\6\1\0\2\6\11\0\1\6\1\0\3\6\1\231" + "\4\6\6\0\32\6\22\0\1\232\62\0\1\233\114\0" - + "\1\234\65\0\1\235\20\0\2\6\11\0\1\6\1\0" + "\1\135\7\6\6\0\32\6\1\0\2\6\11\0\1\6" + "\1\0\10\6\6\0\5\6\1\236\24\6\1\0\2\6" - + "\11\0\1\6\1\0\5\6\1\237\2\6\6\0\32\6" + "\1\0\2\6\11\0\1\6\1\0\6\6\1\240\1\6" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" - + "\6\0\1\175\31\6\1\0\2\6\11\0\1\6\1\0" + "\1\6\1\241\6\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\6\6\1\242\1\6\6\0\32\6\1\0" - + "\2\6\11\0\1\6\1\0\6\6\1\243\1\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\2\6\1\236" + "\5\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" - + "\10\6\6\0\16\6\1\244\13\6\1\0\2\6\11\0" + "\1\6\1\0\10\6\6\0\22\6\1\245\7\6\1\0" + "\2\6\11\0\1\6\1\0\1\6\1\246\6\6\6\0" - + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\12\6\1\247\17\6\1\0\2\6\11\0\1\6\1\0" + "\1\6\1\150\6\6\6\0\32\6\1\0\2\6\11\0" - + "\1\6\1\0\5\6\1\250\2\6\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\10\6\6\0\5\6\1\251" + "\24\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" - + "\30\6\1\252\1\6\1\0\2\6\11\0\1\6\1\0" + "\3\6\1\175\4\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\10\6\6\0\6\6\1\253\23\6\1\0" - + "\2\6\11\0\1\6\1\0\1\6\1\135\6\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\5\6\1\254\24\6\1\0\2\6\11\0\1\6\1\0" - + "\1\255\7\6\6\0\32\6\1\0\2\6\11\0\1\6" + "\1\0\1\6\1\175\6\6\6\0\32\6\1\0\2\6" + "\11\0\1\6\1\0\4\6\1\176\2\6\1\146\6\0" - + "\32\6\1\0\2\6\11\0\1\6\1\0\3\6\1\256" + "\4\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + "\3\6\1\257\4\6\6\0\32\6\1\0\2\6\11\0" - + "\1\6\1\0\10\6\6\0\6\6\1\175\23\6\31\0" + "\1\260\75\0\1\261\63\0\1\262\47\0\1\232\45\0" - + "\2\6\11\0\1\6\1\0\6\6\1\151\1\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\4\6\1\123\25\6\1\0\2\6\11\0\1\6\1\0" - + "\3\6\1\263\4\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\7\6\1\135\6\0\32\6\1\0\2\6" + "\11\0\1\6\1\0\6\6\1\135\1\6\6\0\32\6" - + "\1\0\2\6\11\0\1\6\1\0\3\6\1\123\4\6" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\23\6\1\264\6\6\1\0\2\6\11\0\1\6" - + "\1\0\10\6\6\0\5\6\1\265\24\6\1\0\2\6" + "\11\0\1\6\1\0\10\6\6\0\3\6\1\266\26\6" + "\1\0\2\6\11\0\1\6\1\0\1\123\7\6\6\0" - + "\32\6\1\0\2\6\11\0\1\6\1\0\1\6\1\151" + "\6\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + "\2\6\1\267\5\6\6\0\32\6\1\0\2\6\11\0" - + "\1\6\1\0\10\6\6\0\4\6\1\135\25\6\1\0" + "\2\6\11\0\1\6\1\0\4\6\1\123\3\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" - + "\5\6\1\270\24\6\1\0\2\6\11\0\1\6\1\0" + "\10\6\6\0\1\271\31\6\1\0\2\6\11\0\1\6" + "\1\0\1\272\7\6\6\0\32\6\34\0\1\273\52\0" - + "\1\274\45\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\6\6\1\275\23\6\1\0\2\6\11\0\1\6\1\0" + "\10\6\6\0\24\6\1\276\5\6\1\0\2\6\11\0" - + "\1\6\1\0\10\6\6\0\1\277\31\6\1\0\2\6" + "\11\0\1\6\1\0\3\6\1\222\4\6\6\0\32\6" + "\1\0\2\6\11\0\1\6\1\0\5\6\1\242\2\6" - + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\2\6\1\150\27\6\1\0\2\6\11\0\1\6" + "\1\0\10\6\6\0\26\6\1\135\3\6\1\0\2\6" - + "\11\0\1\6\1\0\5\6\1\300\2\6\6\0\32\6" + "\47\0\1\232\35\0\1\232\47\0\2\6\11\0\1\6" + "\1\0\1\301\7\6\6\0\32\6\1\0\2\6\11\0" - + "\1\6\1\0\10\6\6\0\25\6\1\302\4\6\1\0" + "\2\6\11\0\1\6\1\0\10\6\6\0\13\6\1\135" + "\16\6\1\0\2\6\11\0\1\6\1\0\1\303\7\6" - + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\13\6\1\304\16\6\1\0\2\6\11\0\1\6" + "\1\0\10\6\6\0\14\6\1\135\15\6\1\0\2\6" - + "\11\0\1\6\1\0\5\6\1\305\2\6\6\0\32\6" + "\1\0\2\6\11\0\1\6\1\0\5\6\1\306\2\6" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" - + "\6\0\3\6\1\236\26\6\1\0\2\6\11\0\1\6" + "\1\0\1\6\1\307\6\6\6\0\32\6\1\0\2\6" + "\11\0\1\6\1\0\10\6\6\0\3\6\1\310\26\6" + + "\1\6\1\0\2\6\1\145\5\6\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\7\6\1\146\6\0\1\147" + + "\31\6\1\0\2\6\11\0\1\6\1\0\3\6\1\150" + "\4\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + + "\10\6\6\0\7\6\1\151\22\6\1\0\2\6\11\0" + "\1\6\1\0\1\152\7\6\6\0\7\6\1\153\20\6" + + "\1\154\1\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\11\6\1\155\20\6\1\0\2\6\11\0\1\6" + + "\1\0\1\156\7\6\6\0\7\6\1\157\22\6\1\0" + "\2\6\11\0\1\6\1\0\1\6\1\160\6\6\6\0" + + "\32\6\1\0\2\6\11\0\1\6\1\0\7\6\1\161" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + + "\6\0\1\6\1\123\30\6\1\0\2\6\11\0\1\6" + "\1\0\10\6\6\0\1\162\31\6\1\0\2\6\11\0" + + "\1\6\1\0\6\6\1\163\1\6\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\1\6\1\123\6\6\6\0" + + "\32\6\1\0\2\6\11\0\1\6\1\0\7\6\1\164" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + + "\6\0\1\6\1\121\30\6\1\0\2\6\11\0\1\6" + "\1\0\5\6\1\165\2\6\6\0\6\6\1\166\23\6" + + "\1\0\2\6\11\0\1\6\1\0\1\167\5\6\1\170" + "\1\6\6\0\32\6\36\0\1\171\45\0\1\172\67\0" + + "\1\173\2\0\1\174\43\0\2\6\11\0\1\6\1\0" + "\10\6\6\0\27\6\1\175\2\6\1\0\2\6\11\0" + + "\1\6\1\0\1\121\7\6\6\0\32\6\1\0\2\6" + "\11\0\1\6\1\0\6\6\1\123\1\6\6\0\32\6" + + "\1\0\2\6\11\0\1\6\1\0\4\6\1\176\3\6" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\3\6" + + "\1\177\4\6\6\0\32\6\1\0\2\6\11\0\1\6" + "\1\0\5\6\1\127\2\6\6\0\32\6\1\0\2\6" + + "\11\0\1\6\1\0\6\6\1\200\1\6\6\0\32\6" + "\1\0\2\6\11\0\1\6\1\0\10\6\6\0\5\6" + + "\1\201\24\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\5\6\1\202\24\6\1\0\2\6\11\0\1\6" + + "\1\0\5\6\1\203\2\6\6\0\32\6\1\0\2\6" + "\11\0\1\6\1\0\10\6\6\0\5\6\1\204\24\6" + + "\1\0\2\6\11\0\1\6\1\0\10\6\6\0\1\6" + "\1\205\30\6\1\0\2\6\11\0\1\6\1\0\1\167" + + "\7\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + "\10\6\6\0\16\6\1\206\13\6\1\0\2\6\11\0" + + "\1\207\1\0\10\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\10\6\6\0\6\6\1\130\23\6\10\0" + + "\1\210\56\0\2\6\11\0\1\6\1\0\3\6\1\211" + "\4\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + + "\1\212\7\6\6\0\32\6\1\0\2\6\11\0\1\6" + "\1\0\2\6\1\213\5\6\6\0\32\6\1\0\2\6" + + "\11\0\1\6\1\0\10\6\6\0\1\123\31\6\1\0" + "\2\6\11\0\1\6\1\0\3\6\1\135\4\6\6\0" + + "\32\6\1\0\2\6\11\0\1\6\1\0\2\6\1\214" + "\5\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + + "\3\6\1\215\4\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\2\6\1\216\5\6\6\0\32\6\1\0" + + "\2\6\11\0\1\6\1\0\3\6\1\217\3\6\1\220" + "\6\0\13\6\1\220\16\6\1\0\2\6\11\0\1\6" + + "\1\0\10\6\6\0\5\6\1\117\24\6\1\0\2\6" + "\11\0\1\6\1\0\5\6\1\221\2\6\6\0\32\6" + + "\1\0\2\6\11\0\1\6\1\0\10\6\6\0\2\6" + "\1\222\27\6\1\0\2\6\11\0\1\6\1\0\3\6" + + "\1\223\4\6\6\0\32\6\1\0\2\6\11\0\1\6" + "\1\0\10\6\6\0\6\6\1\224\23\6\1\0\2\6" + + "\11\0\1\6\1\0\7\6\1\145\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\3\6\1\225\4\6\6\0" + + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\1\6\1\226\30\6\1\0\2\6\11\0\1\6\1\0" + + "\5\6\1\117\2\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\4\6\1\227\3\6\6\0\12\6\1\230" + + "\17\6\1\0\2\6\11\0\1\6\1\0\3\6\1\231" + "\4\6\6\0\32\6\22\0\1\232\62\0\1\233\114\0" + + "\1\234\65\0\1\235\20\0\2\6\11\0\1\6\1\0" + "\1\135\7\6\6\0\32\6\1\0\2\6\11\0\1\6" + + "\1\0\10\6\6\0\5\6\1\236\24\6\1\0\2\6" + "\11\0\1\6\1\0\5\6\1\237\2\6\6\0\32\6" + + "\1\0\2\6\11\0\1\6\1\0\6\6\1\240\1\6" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + + "\6\0\1\175\31\6\1\0\2\6\11\0\1\6\1\0" + "\1\6\1\241\6\6\6\0\32\6\1\0\2\6\11\0" + + "\1\6\1\0\6\6\1\242\1\6\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\6\6\1\243\1\6\6\0" + + "\32\6\1\0\2\6\11\0\1\6\1\0\2\6\1\236" + "\5\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + + "\10\6\6\0\16\6\1\244\13\6\1\0\2\6\11\0" + "\1\6\1\0\10\6\6\0\22\6\1\245\7\6\1\0" + + "\2\6\11\0\1\6\1\0\1\6\1\246\6\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + + "\12\6\1\247\17\6\1\0\2\6\11\0\1\6\1\0" + "\1\6\1\150\6\6\6\0\32\6\1\0\2\6\11\0" + + "\1\6\1\0\5\6\1\250\2\6\6\0\32\6\1\0" + "\2\6\11\0\1\6\1\0\10\6\6\0\5\6\1\251" + + "\24\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\30\6\1\252\1\6\1\0\2\6\11\0\1\6\1\0" + + "\3\6\1\175\4\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\10\6\6\0\6\6\1\253\23\6\1\0" + + "\2\6\11\0\1\6\1\0\1\6\1\135\6\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + + "\5\6\1\254\24\6\1\0\2\6\11\0\1\6\1\0" + "\1\255\7\6\6\0\32\6\1\0\2\6\11\0\1\6" + + "\1\0\1\6\1\175\6\6\6\0\32\6\1\0\2\6" + "\11\0\1\6\1\0\4\6\1\176\2\6\1\146\6\0" + + "\32\6\1\0\2\6\11\0\1\6\1\0\3\6\1\256" + "\4\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + + "\3\6\1\257\4\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\10\6\6\0\6\6\1\175\23\6\31\0" + + "\1\260\75\0\1\261\63\0\1\262\47\0\1\232\45\0" + "\2\6\11\0\1\6\1\0\6\6\1\151\1\6\6\0" + + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\4\6\1\123\25\6\1\0\2\6\11\0\1\6\1\0" + + "\3\6\1\263\4\6\6\0\32\6\1\0\2\6\11\0" + "\1\6\1\0\7\6\1\135\6\0\32\6\1\0\2\6" + + "\11\0\1\6\1\0\6\6\1\135\1\6\6\0\32\6" + "\1\0\2\6\11\0\1\6\1\0\3\6\1\123\4\6" + + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\23\6\1\264\6\6\1\0\2\6\11\0\1\6" + + "\1\0\10\6\6\0\5\6\1\265\24\6\1\0\2\6" + "\11\0\1\6\1\0\10\6\6\0\3\6\1\266\26\6" + + "\1\0\2\6\11\0\1\6\1\0\1\123\7\6\6\0" + "\32\6\1\0\2\6\11\0\1\6\1\0\1\6\1\151" + + "\6\6\6\0\32\6\1\0\2\6\11\0\1\6\1\0" + "\2\6\1\267\5\6\6\0\32\6\1\0\2\6\11\0" + + "\1\6\1\0\10\6\6\0\4\6\1\135\25\6\1\0" + "\2\6\11\0\1\6\1\0\4\6\1\123\3\6\6\0" + + "\32\6\1\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\5\6\1\270\24\6\1\0\2\6\11\0\1\6\1\0" + + "\10\6\6\0\1\271\31\6\1\0\2\6\11\0\1\6" + "\1\0\1\272\7\6\6\0\32\6\34\0\1\273\52\0" + + "\1\274\45\0\2\6\11\0\1\6\1\0\10\6\6\0" + "\6\6\1\275\23\6\1\0\2\6\11\0\1\6\1\0" + + "\10\6\6\0\24\6\1\276\5\6\1\0\2\6\11\0" + "\1\6\1\0\10\6\6\0\1\277\31\6\1\0\2\6" + + "\11\0\1\6\1\0\3\6\1\222\4\6\6\0\32\6" + "\1\0\2\6\11\0\1\6\1\0\5\6\1\242\2\6" + + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\2\6\1\150\27\6\1\0\2\6\11\0\1\6" + + "\1\0\10\6\6\0\26\6\1\135\3\6\1\0\2\6" + "\11\0\1\6\1\0\5\6\1\300\2\6\6\0\32\6" + + "\47\0\1\232\35\0\1\232\47\0\2\6\11\0\1\6" + "\1\0\1\301\7\6\6\0\32\6\1\0\2\6\11\0" + + "\1\6\1\0\10\6\6\0\25\6\1\302\4\6\1\0" + "\2\6\11\0\1\6\1\0\10\6\6\0\13\6\1\135" + + "\16\6\1\0\2\6\11\0\1\6\1\0\1\303\7\6" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + + "\6\0\13\6\1\304\16\6\1\0\2\6\11\0\1\6" + "\1\0\10\6\6\0\14\6\1\135\15\6\1\0\2\6" + + "\11\0\1\6\1\0\5\6\1\305\2\6\6\0\32\6" + "\1\0\2\6\11\0\1\6\1\0\5\6\1\306\2\6" + + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\3\6\1\236\26\6\1\0\2\6\11\0\1\6" + + "\1\0\1\6\1\307\6\6\6\0\32\6\1\0\2\6" + "\11\0\1\6\1\0\10\6\6\0\3\6\1\310\26\6" + "\1\0\2\6\11\0\1\6\1\0\5\6\1\311\2\6" + "\6\0\32\6\1\0\2\6\11\0\1\6\1\0\10\6" + "\6\0\13\6\1\151\16\6"; - + private static int[] zzUnpackTrans() { int[] result = new int[9720]; 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 */ @@ -250,7 +282,7 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -262,16 +294,17 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\1\11\2\1\1\11\4\1\1\11\2\1\1\11" + "\31\1\1\11\1\1\1\11\2\1\1\11\2\1\1\11" - + "\2\1\2\11\23\1\3\0\23\1\2\11\2\1\1\0" + "\24\1\4\0\13\1\1\11\21\1\4\0\22\1\1\11" + "\2\0\10\1\2\0\15\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\1\11\2\1\1\11\4\1\1\11\2\1\1\11" + + "\31\1\1\11\1\1\1\11\2\1\1\11\2\1\1\11" + "\2\1\2\11\23\1\3\0\23\1\2\11\2\1\1\0" + + "\24\1\4\0\13\1\1\11\21\1\4\0\22\1\1\11" + "\2\0\10\1\2\0\15\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[201]; 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 */ @@ -285,7 +318,7 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -293,8 +326,8 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -304,62 +337,54 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public LuaTokenMaker() {} - + public LuaTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -367,21 +392,18 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "--", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -390,16 +412,16 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.COMMENT_MULTILINE: - state = MLC; - start = text.offset; - break; - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = LONGSTRING; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.COMMENT_MULTILINE: + state = MLC; + start = text.offset; + break; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = LONGSTRING; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -411,36 +433,34 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -450,34 +470,31 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public LuaTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public LuaTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -493,7 +510,7 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -503,69 +520,64 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -576,29 +588,27 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -617,8 +627,7 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -658,166 +667,167 @@ public class LuaTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 3: { - addNullToken(); - return firstToken; - } - case 24: - break; - case 13: { - addToken(Token.LITERAL_CHAR); - } - case 25: - break; - case 15: { - start = zzMarkedPos - 2; - yybegin(LONGSTRING); - } - case 26: - break; - case 19: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 27: - break; - case 4: { - addToken(Token.WHITESPACE); - } - case 28: - break; - case 2: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 29: - break; - case 17: { - addToken(Token.RESERVED_WORD); - } - case 30: - break; - case 21: { - start = zzMarkedPos - 4; - yybegin(MLC); - } - case 31: - break; - case 7: { - addToken(Token.SEPARATOR); - } - case 32: - break; - case 1: { - addToken(Token.IDENTIFIER); - } - case 33: - break; - case 18: { - addToken(Token.FUNCTION); - } - case 34: - break; - case 5: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 35: - break; - case 6: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 36: - break; - case 23: { - addToken(Token.DATA_TYPE); - } - case 37: - break; - case 22: { - addToken(Token.LITERAL_BOOLEAN); - } - case 38: - break; - case 20: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 39: - break; - case 14: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 40: - break; - case 11: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 41: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - return firstToken; - } - case 42: - break; - case 8: { - addToken(Token.OPERATOR); - } - case 43: - break; - case 16: { - start = zzMarkedPos - 2; - yybegin(LINECOMMENT); - } - case 44: - break; - case 9: {} - case 45: - break; - case 10: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 46: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 202: - break; - case LONGSTRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 203: - break; - case LINECOMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - return firstToken; - } - case 204: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 205: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 3: { + addNullToken(); + return firstToken; + } + case 24: + break; + case 13: { + addToken(Token.LITERAL_CHAR); + } + case 25: + break; + case 15: { + start = zzMarkedPos - 2; + yybegin(LONGSTRING); + } + case 26: + break; + case 19: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 27: + break; + case 4: { + addToken(Token.WHITESPACE); + } + case 28: + break; + case 2: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 29: + break; + case 17: { + addToken(Token.RESERVED_WORD); + } + case 30: + break; + case 21: { + start = zzMarkedPos - 4; + yybegin(MLC); + } + case 31: + break; + case 7: { + addToken(Token.SEPARATOR); + } + case 32: + break; + case 1: { + addToken(Token.IDENTIFIER); + } + case 33: + break; + case 18: { + addToken(Token.FUNCTION); + } + case 34: + break; + case 5: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 35: + break; + case 6: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 36: + break; + case 23: { + addToken(Token.DATA_TYPE); + } + case 37: + break; + case 22: { + addToken(Token.LITERAL_BOOLEAN); + } + case 38: + break; + case 20: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 39: + break; + case 14: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 40: + break; + case 11: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 41: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + return firstToken; + } + case 42: + break; + case 8: { + addToken(Token.OPERATOR); + } + case 43: + break; + case 16: { + start = zzMarkedPos - 2; + yybegin(LINECOMMENT); + } + case 44: + break; + case 9: { + } + case 45: + break; + case 10: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 46: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case YYINITIAL: { + addNullToken(); + return firstToken; } + case 202: + break; + case LONGSTRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 203: + break; + case LINECOMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + return firstToken; + } + case 204: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 205: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/MakefileTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/MakefileTokenMaker.java index 9726654..df4edc9 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/MakefileTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/MakefileTokenMaker.java @@ -23,16 +23,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -42,16 +41,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated MakefileTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -59,7 +58,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -80,17 +79,17 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\2\0\2\1\1\2\2\1\1\3\1\4\1\5\1\6" + "\1\1\1\7\1\10\14\1\2\11\1\12\1\13\1\14" - + "\1\15\1\16\1\17\1\20\1\5\1\6\1\21\2\0" + "\1\22\23\1\1\23\1\24\1\20\1\21\1\22\2\1" + "\1\25\43\1\1\25\14\1\1\25\5\1\1\0\2\1" - + "\1\0\1\1\1\0\1\25"; - + private static final String ZZ_ACTION_PACKED_0 = "\2\0\2\1\1\2\2\1\1\3\1\4\1\5\1\6" + + "\1\1\1\7\1\10\14\1\2\11\1\12\1\13\1\14" + "\1\15\1\16\1\17\1\20\1\5\1\6\1\21\2\0" + + "\1\22\23\1\1\23\1\24\1\20\1\21\1\22\2\1" + "\1\25\43\1\1\25\14\1\1\25\5\1\1\0\2\1" + "\1\0\1\1\1\0\1\25"; + private static int[] zzUnpackAction() { int[] result = new int[129]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -104,7 +103,7 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -112,7 +111,8 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\51\0\122\0\173\0\244\0\315\0\366\0\122" + "\0\u011f\0\u0148\0\u0171\0\u019a\0\u01c3\0\122\0\u01ec\0\u0215" + "\0\u023e\0\u0267\0\u0290\0\u02b9\0\u02e2\0\u030b\0\u0334\0\u035d" - + "\0\u0386\0\u03af\0\u03d8\0\u0401\0\u042a\0\122\0\122\0\122" + "\0\122\0\122\0\122\0\u0453\0\u047c\0\122\0\u019a\0\u04a5" + + "\0\u0386\0\u03af\0\u03d8\0\u0401\0\u042a\0\122\0\122\0\122" + + "\0\122\0\122\0\122\0\u0453\0\u047c\0\122\0\u019a\0\u04a5" + "\0\122\0\u04ce\0\u04f7\0\u0520\0\u0549\0\u0572\0\u059b\0\u05c4" + "\0\u05ed\0\u0616\0\u063f\0\u0668\0\u0691\0\u06ba\0\u06e3\0\u070c" + "\0\u0735\0\u075e\0\u0787\0\u07b0\0\122\0\122\0\u0148\0\u0171" @@ -124,14 +124,14 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { + "\0\u0def\0\u0e18\0\u0e41\0\u0e6a\0\u0e93\0\u0ebc\0\u0ee5\0\u0f0e" + "\0\u0f37\0\u0f60\0\u0f89\0\u0fb2\0\u0fdb\0\u1004\0\u102d\0\u1056" + "\0\u107f\0\u10a8\0\u10d1\0\u10fa\0\u1123\0\u114c\0\u1175\0\u119e" + "\0\122"; - + private static int[] zzUnpackRowMap() { int[] result = new int[129]; 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 */ @@ -142,60 +142,78 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\5\1\6\1\7\2\3\1\10\1\11" + "\1\12\1\3\1\13\1\14\1\15\1\6\1\16\1\17" - + "\1\20\1\21\1\4\1\22\1\23\1\24\1\4\1\25" + "\1\4\1\26\1\27\3\4\1\3\1\30\1\4\1\31" + "\2\4\1\32\1\4\2\3\4\33\1\34\10\33\1\35" + private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\5\1\6\1\7\2\3\1\10\1\11" + + "\1\12\1\3\1\13\1\14\1\15\1\6\1\16\1\17" + "\1\20\1\21\1\4\1\22\1\23\1\24\1\4\1\25" + + "\1\4\1\26\1\27\3\4\1\3\1\30\1\4\1\31" + "\2\4\1\32\1\4\2\3\4\33\1\34\10\33\1\35" + "\31\33\1\36\1\37\52\0\2\4\1\40\14\0\17\4" + "\1\0\7\4\4\0\1\5\65\0\1\16\36\0\1\41" + "\1\42\52\0\1\11\40\0\7\12\1\0\1\12\1\43" + "\1\44\36\12\7\13\1\0\2\13\1\45\1\46\35\13" - + "\7\47\1\0\2\47\1\50\1\47\1\51\34\47\7\15" + "\1\0\41\15\1\0\2\4\1\40\14\0\1\4\1\52" + "\15\4\1\0\7\4\3\0\2\4\1\40\14\0\4\4" - + "\1\53\1\4\1\54\10\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\1\55\16\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\13\4\1\56\1\4\1\57\1\4\1\0" - + "\7\4\3\0\2\4\1\40\14\0\6\4\1\60\10\4" + "\1\0\1\61\6\4\3\0\2\4\1\40\14\0\5\4" + "\1\62\11\4\1\0\7\4\3\0\2\4\1\40\14\0" - + "\11\4\1\63\4\4\1\64\1\0\1\65\3\4\1\66" + "\2\4\3\0\2\4\1\40\14\0\1\67\16\4\1\0" + "\7\4\3\0\2\4\1\40\14\0\17\4\1\0\1\70" - + "\6\4\3\0\2\4\1\40\14\0\3\4\1\71\13\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\6\4\1\72" + "\10\4\1\0\1\73\6\4\3\0\2\4\1\40\14\0" - + "\17\4\1\0\1\74\6\4\2\0\4\33\1\0\10\33" + "\1\0\31\33\7\0\1\75\1\76\42\0\7\35\1\0" - + "\41\35\7\12\1\0\1\12\1\77\1\44\36\12\7\13" + "\1\0\2\13\1\45\1\100\35\13\7\47\1\0\2\47" - + "\1\50\1\47\1\101\34\47\1\0\2\4\1\40\14\0" + "\1\4\1\102\15\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\5\4\1\103\11\4\1\0\7\4\3\0\2\4" - + "\1\40\14\0\3\4\1\104\13\4\1\0\7\4\3\0" + "\2\4\1\40\14\0\16\4\1\105\1\0\7\4\3\0" + "\2\4\1\40\14\0\1\4\1\106\15\4\1\0\7\4" - + "\3\0\2\4\1\40\14\0\10\4\1\107\6\4\1\0" + "\7\4\3\0\2\4\1\40\14\0\3\4\1\110\7\4" + "\1\111\1\4\1\112\1\4\1\0\7\4\3\0\2\4" - + "\1\40\14\0\3\4\1\113\13\4\1\0\7\4\3\0" + "\2\4\1\40\14\0\1\4\1\114\2\4\1\115\6\4" + "\1\116\3\4\1\0\7\4\3\0\2\4\1\40\14\0" - + "\5\4\1\117\11\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\3\4\1\120\13\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\3\4\1\121\13\4\1\0\7\4\3\0" - + "\2\4\1\40\14\0\4\4\1\122\12\4\1\0\7\4" + "\3\0\2\4\1\40\14\0\10\4\1\123\6\4\1\0" + "\7\4\3\0\2\4\1\40\14\0\16\4\1\124\1\0" - + "\7\4\3\0\2\4\1\40\14\0\6\4\1\125\10\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\15\4\1\126" + "\1\4\1\0\7\4\3\0\2\4\1\40\14\0\3\4" - + "\1\127\13\4\1\0\7\4\3\0\2\4\1\40\14\0" + "\6\4\1\130\10\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\2\4\1\131\5\4\1\132\6\4\1\0\7\4" - + "\3\0\2\4\1\40\14\0\6\4\1\133\10\4\1\0" + "\7\4\3\0\2\4\1\40\14\0\17\4\1\0\4\4" + "\1\134\2\4\3\0\2\4\1\40\14\0\4\4\1\135" - + "\1\4\1\135\10\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\4\4\1\104\12\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\10\4\1\136\6\4\1\0\7\4\3\0" - + "\2\4\1\40\14\0\1\4\1\137\15\4\1\0\7\4" + "\3\0\2\4\1\40\14\0\16\4\1\140\1\0\7\4" + "\3\0\2\4\1\40\14\0\4\4\1\141\12\4\1\0" - + "\7\4\3\0\2\4\1\40\14\0\4\4\1\135\12\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\17\4\1\0" + "\6\4\1\104\3\0\2\4\1\40\14\0\1\4\1\114" - + "\2\4\1\115\12\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\5\4\1\142\11\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\6\4\1\143\10\4\1\0\7\4\3\0" - + "\2\4\1\40\14\0\16\4\1\104\1\0\7\4\3\0" + "\2\4\1\40\14\0\15\4\1\144\1\4\1\0\7\4" + "\3\0\2\4\1\40\14\0\4\4\1\145\12\4\1\0" - + "\7\4\3\0\2\4\1\40\14\0\1\4\1\146\15\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\17\4\1\0" + "\1\4\1\74\5\4\3\0\2\4\1\40\14\0\1\4" - + "\1\147\15\4\1\0\7\4\3\0\2\4\1\40\14\0" + "\1\4\1\150\15\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\13\4\1\104\3\4\1\0\7\4\3\0\2\4" - + "\1\40\14\0\3\4\1\151\13\4\1\0\7\4\3\0" + "\2\4\1\40\14\0\11\4\1\63\5\4\1\0\7\4" + "\3\0\2\4\1\40\14\0\13\4\1\107\3\4\1\0" - + "\7\4\3\0\2\4\1\40\14\0\10\4\1\152\6\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\5\4\1\104" + "\11\4\1\0\7\4\3\0\2\4\1\40\14\0\16\4" - + "\1\153\1\0\7\4\3\0\2\4\1\40\14\0\10\4" + "\1\154\6\4\1\0\7\4\3\0\2\4\1\40\14\0" + "\4\4\1\155\12\4\1\0\7\4\3\0\2\4\1\40" - + "\14\0\1\156\16\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\6\4\1\157\10\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\2\4\1\104\14\4\1\0\7\4\3\0" - + "\2\4\1\40\14\0\15\4\1\104\1\4\1\0\7\4" + "\3\0\2\4\1\40\14\0\13\4\1\160\3\4\1\0" + "\7\4\3\0\2\4\1\40\14\0\6\4\1\54\10\4" - + "\1\0\7\4\3\0\2\4\1\40\14\0\17\4\1\0" + "\3\4\1\161\3\4\3\0\2\4\1\40\14\0\10\4" + "\1\104\6\4\1\0\7\4\3\0\2\4\1\40\14\0" - + "\4\4\1\117\12\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\11\4\1\162\5\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\17\4\1\0\2\4\1\163\4\4\3\0" - + "\2\4\1\40\14\0\16\4\1\164\1\0\7\4\3\0" + "\2\4\1\40\14\0\3\4\1\165\13\4\1\0\7\4" + "\3\0\2\4\1\40\14\0\17\4\1\0\3\4\1\166" - + "\3\4\3\0\2\4\1\40\14\0\7\4\1\104\7\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\1\167\16\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\1\170\16\4" - + "\1\0\7\4\3\0\2\4\1\40\14\0\12\4\1\171" + "\4\4\1\0\7\4\3\0\2\4\1\40\14\0\17\4" + "\1\0\1\170\6\4\3\0\2\4\1\40\14\0\3\4" - + "\1\172\13\4\1\0\7\4\3\0\2\4\1\40\14\0" + "\17\4\1\173\7\4\3\0\2\4\1\40\14\0\17\4" + "\1\0\4\4\1\104\2\4\3\0\2\4\1\40\14\0" - + "\14\4\1\107\2\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\3\4\1\174\13\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\10\4\1\121\6\4\1\0\7\4\3\0" - + "\2\4\1\40\14\0\6\4\1\175\10\4\1\0\7\4" + "\42\0\1\176\11\0\2\4\1\40\14\0\1\4\1\104" + "\15\4\1\0\7\4\3\0\2\4\1\40\14\0\13\4" + + "\7\47\1\0\2\47\1\50\1\47\1\51\34\47\7\15" + "\1\0\41\15\1\0\2\4\1\40\14\0\1\4\1\52" + + "\15\4\1\0\7\4\3\0\2\4\1\40\14\0\4\4" + "\1\53\1\4\1\54\10\4\1\0\7\4\3\0\2\4" + + "\1\40\14\0\1\55\16\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\13\4\1\56\1\4\1\57\1\4\1\0" + + "\7\4\3\0\2\4\1\40\14\0\6\4\1\60\10\4" + "\1\0\1\61\6\4\3\0\2\4\1\40\14\0\5\4" + + "\1\62\11\4\1\0\7\4\3\0\2\4\1\40\14\0" + "\11\4\1\63\4\4\1\64\1\0\1\65\3\4\1\66" + + "\2\4\3\0\2\4\1\40\14\0\1\67\16\4\1\0" + "\7\4\3\0\2\4\1\40\14\0\17\4\1\0\1\70" + + "\6\4\3\0\2\4\1\40\14\0\3\4\1\71\13\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\6\4\1\72" + + "\10\4\1\0\1\73\6\4\3\0\2\4\1\40\14\0" + "\17\4\1\0\1\74\6\4\2\0\4\33\1\0\10\33" + + "\1\0\31\33\7\0\1\75\1\76\42\0\7\35\1\0" + "\41\35\7\12\1\0\1\12\1\77\1\44\36\12\7\13" + + "\1\0\2\13\1\45\1\100\35\13\7\47\1\0\2\47" + "\1\50\1\47\1\101\34\47\1\0\2\4\1\40\14\0" + + "\1\4\1\102\15\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\5\4\1\103\11\4\1\0\7\4\3\0\2\4" + + "\1\40\14\0\3\4\1\104\13\4\1\0\7\4\3\0" + "\2\4\1\40\14\0\16\4\1\105\1\0\7\4\3\0" + + "\2\4\1\40\14\0\1\4\1\106\15\4\1\0\7\4" + "\3\0\2\4\1\40\14\0\10\4\1\107\6\4\1\0" + + "\7\4\3\0\2\4\1\40\14\0\3\4\1\110\7\4" + "\1\111\1\4\1\112\1\4\1\0\7\4\3\0\2\4" + + "\1\40\14\0\3\4\1\113\13\4\1\0\7\4\3\0" + "\2\4\1\40\14\0\1\4\1\114\2\4\1\115\6\4" + + "\1\116\3\4\1\0\7\4\3\0\2\4\1\40\14\0" + "\5\4\1\117\11\4\1\0\7\4\3\0\2\4\1\40" + + "\14\0\3\4\1\120\13\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\3\4\1\121\13\4\1\0\7\4\3\0" + + "\2\4\1\40\14\0\4\4\1\122\12\4\1\0\7\4" + "\3\0\2\4\1\40\14\0\10\4\1\123\6\4\1\0" + + "\7\4\3\0\2\4\1\40\14\0\16\4\1\124\1\0" + "\7\4\3\0\2\4\1\40\14\0\6\4\1\125\10\4" + + "\1\0\7\4\3\0\2\4\1\40\14\0\15\4\1\126" + "\1\4\1\0\7\4\3\0\2\4\1\40\14\0\3\4" + + "\1\127\13\4\1\0\7\4\3\0\2\4\1\40\14\0" + "\6\4\1\130\10\4\1\0\7\4\3\0\2\4\1\40" + + "\14\0\2\4\1\131\5\4\1\132\6\4\1\0\7\4" + "\3\0\2\4\1\40\14\0\6\4\1\133\10\4\1\0" + + "\7\4\3\0\2\4\1\40\14\0\17\4\1\0\4\4" + "\1\134\2\4\3\0\2\4\1\40\14\0\4\4\1\135" + + "\1\4\1\135\10\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\4\4\1\104\12\4\1\0\7\4\3\0\2\4" + + "\1\40\14\0\10\4\1\136\6\4\1\0\7\4\3\0" + "\2\4\1\40\14\0\1\4\1\137\15\4\1\0\7\4" + + "\3\0\2\4\1\40\14\0\16\4\1\140\1\0\7\4" + "\3\0\2\4\1\40\14\0\4\4\1\141\12\4\1\0" + + "\7\4\3\0\2\4\1\40\14\0\4\4\1\135\12\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\17\4\1\0" + + "\6\4\1\104\3\0\2\4\1\40\14\0\1\4\1\114" + "\2\4\1\115\12\4\1\0\7\4\3\0\2\4\1\40" + + "\14\0\5\4\1\142\11\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\6\4\1\143\10\4\1\0\7\4\3\0" + + "\2\4\1\40\14\0\16\4\1\104\1\0\7\4\3\0" + "\2\4\1\40\14\0\15\4\1\144\1\4\1\0\7\4" + + "\3\0\2\4\1\40\14\0\4\4\1\145\12\4\1\0" + "\7\4\3\0\2\4\1\40\14\0\1\4\1\146\15\4" + + "\1\0\7\4\3\0\2\4\1\40\14\0\17\4\1\0" + "\1\4\1\74\5\4\3\0\2\4\1\40\14\0\1\4" + + "\1\147\15\4\1\0\7\4\3\0\2\4\1\40\14\0" + "\1\4\1\150\15\4\1\0\7\4\3\0\2\4\1\40" + + "\14\0\13\4\1\104\3\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\3\4\1\151\13\4\1\0\7\4\3\0" + + "\2\4\1\40\14\0\11\4\1\63\5\4\1\0\7\4" + "\3\0\2\4\1\40\14\0\13\4\1\107\3\4\1\0" + + "\7\4\3\0\2\4\1\40\14\0\10\4\1\152\6\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\5\4\1\104" + + "\11\4\1\0\7\4\3\0\2\4\1\40\14\0\16\4" + "\1\153\1\0\7\4\3\0\2\4\1\40\14\0\10\4" + + "\1\154\6\4\1\0\7\4\3\0\2\4\1\40\14\0" + "\4\4\1\155\12\4\1\0\7\4\3\0\2\4\1\40" + + "\14\0\1\156\16\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\6\4\1\157\10\4\1\0\7\4\3\0\2\4" + + "\1\40\14\0\2\4\1\104\14\4\1\0\7\4\3\0" + "\2\4\1\40\14\0\15\4\1\104\1\4\1\0\7\4" + + "\3\0\2\4\1\40\14\0\13\4\1\160\3\4\1\0" + "\7\4\3\0\2\4\1\40\14\0\6\4\1\54\10\4" + + "\1\0\7\4\3\0\2\4\1\40\14\0\17\4\1\0" + "\3\4\1\161\3\4\3\0\2\4\1\40\14\0\10\4" + + "\1\104\6\4\1\0\7\4\3\0\2\4\1\40\14\0" + "\4\4\1\117\12\4\1\0\7\4\3\0\2\4\1\40" + + "\14\0\11\4\1\162\5\4\1\0\7\4\3\0\2\4" + "\1\40\14\0\17\4\1\0\2\4\1\163\4\4\3\0" + + "\2\4\1\40\14\0\16\4\1\164\1\0\7\4\3\0" + "\2\4\1\40\14\0\3\4\1\165\13\4\1\0\7\4" + + "\3\0\2\4\1\40\14\0\17\4\1\0\3\4\1\166" + "\3\4\3\0\2\4\1\40\14\0\7\4\1\104\7\4" + + "\1\0\7\4\3\0\2\4\1\40\14\0\1\167\16\4" + "\1\0\7\4\3\0\2\4\1\40\14\0\1\170\16\4" + + "\1\0\7\4\3\0\2\4\1\40\14\0\12\4\1\171" + "\4\4\1\0\7\4\3\0\2\4\1\40\14\0\17\4" + + "\1\0\1\170\6\4\3\0\2\4\1\40\14\0\3\4" + "\1\172\13\4\1\0\7\4\3\0\2\4\1\40\14\0" + + "\17\4\1\173\7\4\3\0\2\4\1\40\14\0\17\4" + "\1\0\4\4\1\104\2\4\3\0\2\4\1\40\14\0" + + "\14\4\1\107\2\4\1\0\7\4\3\0\2\4\1\40" + "\14\0\3\4\1\174\13\4\1\0\7\4\3\0\2\4" + + "\1\40\14\0\10\4\1\121\6\4\1\0\7\4\3\0" + "\2\4\1\40\14\0\6\4\1\175\10\4\1\0\7\4" + + "\42\0\1\176\11\0\2\4\1\40\14\0\1\4\1\104" + "\15\4\1\0\7\4\3\0\2\4\1\40\14\0\13\4" + "\1\177\3\4\1\0\7\4\33\0\1\200\20\0\2\4" + "\1\40\14\0\17\4\1\0\1\4\1\104\5\4\40\0" + "\1\201\12\0"; - + private static int[] zzUnpackTrans() { int[] result = new int[4551]; 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 */ @@ -210,7 +228,7 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -222,16 +240,16 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\11\4\1\1\11\5\1\1\11\17\1\6\11" + "\2\1\1\11\2\0\1\11\23\1\2\11\74\1\1\0" - + "\2\1\1\0\1\1\1\0\1\11"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\11\4\1\1\11\5\1\1\11\17\1\6\11" + + "\2\1\1\11\2\0\1\11\23\1\2\11\74\1\1\0" + "\2\1\1\0\1\1\1\0\1\11"; + private static int[] zzUnpackAttribute() { int[] result = new int[129]; 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 */ @@ -245,7 +263,7 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -253,8 +271,8 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -264,63 +282,55 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ private Stack varDepths; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public MakefileTokenMaker() {} - + public MakefileTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -328,35 +338,30 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** - * Returns whether tokens of the specified type should have "mark - * occurrences" enabled for the current programming language. + * Returns whether tokens of the specified type should have "mark occurrences" + * enabled for the current programming language. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.IDENTIFIER || type == Token.VARIABLE; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -372,36 +377,34 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -411,34 +414,31 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public MakefileTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public MakefileTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -454,7 +454,7 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -464,69 +464,64 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -537,29 +532,27 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -578,8 +571,7 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -619,170 +611,171 @@ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 13: { - addToken(Token.PREPROCESSOR); + case 13: { + addToken(Token.PREPROCESSOR); + } + case 22: + break; + case 15: { + if (varDepths == null) { + varDepths = new Stack(); + } else { + varDepths.clear(); } - case 22: - break; - case 15: { - if (varDepths == null) { - varDepths = new Stack(); - } else { - varDepths.clear(); - } - varDepths.push(Boolean.FALSE); - start = zzMarkedPos - 2; - yybegin(VAR); - } - case 23: - break; - case 3: { - addNullToken(); - return firstToken; - } - case 24: - break; - case 16: { - addToken(Token.LITERAL_CHAR); - } - case 25: - break; - case 12: { - if (!varDepths.empty() && varDepths.peek() == Boolean.TRUE) { - varDepths.pop(); - if (varDepths.empty()) { - addToken(start, zzStartRead, Token.VARIABLE); - yybegin(YYINITIAL); - } + varDepths.push(Boolean.FALSE); + start = zzMarkedPos - 2; + yybegin(VAR); + } + case 23: + break; + case 3: { + addNullToken(); + return firstToken; + } + case 24: + break; + case 16: { + addToken(Token.LITERAL_CHAR); + } + case 25: + break; + case 12: { + if (!varDepths.empty() && varDepths.peek() == Boolean.TRUE) { + varDepths.pop(); + if (varDepths.empty()) { + addToken(start, zzStartRead, Token.VARIABLE); + yybegin(YYINITIAL); } } - case 26: - break; - case 11: { - if (!varDepths.empty() && varDepths.peek() == Boolean.FALSE) { - varDepths.pop(); - if (varDepths.empty()) { - addToken(start, zzStartRead, Token.VARIABLE); - yybegin(YYINITIAL); - } + } + case 26: + break; + case 11: { + if (!varDepths.empty() && varDepths.peek() == Boolean.FALSE) { + varDepths.pop(); + if (varDepths.empty()) { + addToken(start, zzStartRead, Token.VARIABLE); + yybegin(YYINITIAL); } } - case 27: - break; - case 4: { - addToken(Token.WHITESPACE); + } + case 27: + break; + case 4: { + addToken(Token.WHITESPACE); + } + case 28: + break; + case 21: { + addToken(Token.RESERVED_WORD); + } + case 29: + break; + case 20: { + varDepths.push(Boolean.FALSE); + } + case 30: + break; + case 18: { + addToken(Token.LITERAL_BACKQUOTE); + } + case 31: + break; + case 19: { + varDepths.push(Boolean.TRUE); + } + case 32: + break; + case 1: { + addToken(Token.IDENTIFIER); + } + case 33: + break; + case 14: { + if (varDepths == null) { + varDepths = new Stack(); + } else { + varDepths.clear(); } - case 28: - break; - case 21: { - addToken(Token.RESERVED_WORD); - } - case 29: - break; - case 20: { - varDepths.push(Boolean.FALSE); - } - case 30: - break; - case 18: { - addToken(Token.LITERAL_BACKQUOTE); - } - case 31: - break; - case 19: { - varDepths.push(Boolean.TRUE); - } - case 32: - break; - case 1: { - addToken(Token.IDENTIFIER); - } - case 33: - break; - case 14: { - if (varDepths == null) { - varDepths = new Stack(); - } else { - varDepths.clear(); + varDepths.push(Boolean.TRUE); + start = zzMarkedPos - 2; + yybegin(VAR); + } + case 34: + break; + case 5: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 35: + break; + case 6: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 36: + break; + case 10: { + int temp1 = zzStartRead; + int temp2 = zzMarkedPos; + addToken(start, zzStartRead - 1, Token.VARIABLE); + addToken(temp1, temp2 - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 37: + break; + case 17: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 38: + break; + case 7: { + addToken(Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 39: + break; + case 2: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 40: + break; + case 8: { + addToken(Token.OPERATOR); + } + case 41: + break; + case 9: { + } + case 42: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case VAR: { + addToken(start, zzStartRead - 1, Token.VARIABLE); + addNullToken(); + return firstToken; } - varDepths.push(Boolean.TRUE); - start = zzMarkedPos - 2; - yybegin(VAR); - } - case 34: - break; - case 5: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 35: - break; - case 6: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 36: - break; - case 10: { - int temp1 = zzStartRead; - int temp2 = zzMarkedPos; - addToken(start, zzStartRead - 1, Token.VARIABLE); - addToken(temp1, temp2 - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 37: - break; - case 17: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 38: - break; - case 7: { - addToken(Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 39: - break; - case 2: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 40: - break; - case 8: { - addToken(Token.OPERATOR); - } - case 41: - break; - case 9: {} - case 42: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case VAR: { - addToken(start, zzStartRead - 1, Token.VARIABLE); - addNullToken(); - return firstToken; - } - case 130: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 131: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 130: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; } + case 131: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/MxmlTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/MxmlTokenMaker.java index 702c556..6493550 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/MxmlTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/MxmlTokenMaker.java @@ -19,16 +19,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -38,16 +37,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated MXMLTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -55,7 +54,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -78,10 +77,11 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\12\1\10\1\0\1\7\1\36\22\0\1\105\1\16\1\32" + "\1\37\1\40\1\63\1\13\1\31\2\73\1\42\1\51\1\61\1\50" + "\1\6\1\41\1\3\3\27\4\27\2\2\1\5\1\14\1\11\1\15" - + "\1\25\1\64\1\72\1\22\1\26\1\20\1\21\1\47\1\45\1\1" + "\1\122\1\121\1\1\1\110\1\44\1\111\1\112\1\113\1\116\1\123" + + "\1\25\1\64\1\72\1\22\1\26\1\20\1\21\1\47\1\45\1\1" + + "\1\122\1\121\1\1\1\110\1\44\1\111\1\112\1\113\1\116\1\123" + "\1\120\1\66\1\23\1\117\1\115\1\1\1\43\2\1\1\17\1\30" + "\1\24\1\62\1\4\1\0\1\55\1\35\1\67\1\76\1\54\1\46" - + "\1\106\1\74\1\70\1\114\1\77\1\56\1\102\1\34\1\100\1\71" + "\1\103\1\53\1\57\1\52\1\33\1\107\1\75\1\104\1\101\1\1" - + "\1\60\1\62\1\60\1\65\uff81\0"; + + "\1\106\1\74\1\70\1\114\1\77\1\56\1\102\1\34\1\100\1\71" + + "\1\103\1\53\1\57\1\52\1\33\1\107\1\75\1\104\1\101\1\1" + "\1\60\1\62\1\60\1\65\uff81\0"; /** * Translates characters to character classes */ @@ -90,23 +90,27 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\5\0\2\1\1\0\2\1\4\0\2\2\1\3\1\4" + "\1\5\1\6\1\1\1\7\5\1\1\10\2\1\1\11" - + "\1\12\2\13\1\14\1\15\1\16\1\17\1\20\1\1" + "\1\21\1\1\1\22\1\23\1\24\1\25\2\1\1\26" + "\1\2\2\27\1\2\1\30\2\14\1\2\1\14\1\31" - + "\3\2\1\31\1\14\1\2\1\32\1\33\3\2\2\26" + "\1\14\3\2\2\14\25\2\1\1\1\34\5\1\1\35" + "\3\1\1\36\1\37\1\4\1\40\1\6\5\0\1\41" - + "\1\0\1\26\1\42\2\43\1\27\2\42\1\44\1\42" + "\3\0\3\2\1\0\1\14\1\2\1\32\1\45\2\33" + "\1\46\5\2\1\47\3\2\1\26\1\50\1\51\21\2" - + "\1\47\20\2\2\47\12\2\1\47\2\2\1\47\11\2" + "\1\52\12\0\1\53\2\0\1\54\2\0\1\55\1\26" + "\1\43\1\0\2\44\3\0\3\2\1\56\1\2\2\32" - + "\1\33\1\57\1\33\6\2\1\47\4\2\1\26\1\0" + "\1\60\5\2\1\47\23\2\1\47\10\2\1\60\24\2" + "\1\47\1\2\1\60\7\2\11\0\1\61\2\0\1\62" - + "\1\26\3\0\2\2\1\32\1\63\1\32\1\33\10\2" + "\1\26\1\64\6\2\1\0\1\65\13\2\1\66\3\2" + "\1\66\36\2\2\0\1\67\2\0\1\70\3\0\1\26" - + "\2\0\1\2\1\32\1\33\7\2\1\26\5\2\1\47" + "\1\0\26\2\1\66\13\2\5\0\1\26\2\0\1\2" + "\1\32\1\33\6\2\1\26\5\2\1\0\30\2\3\0" + private static final String ZZ_ACTION_PACKED_0 = "\5\0\2\1\1\0\2\1\4\0\2\2\1\3\1\4" + + "\1\5\1\6\1\1\1\7\5\1\1\10\2\1\1\11" + "\1\12\2\13\1\14\1\15\1\16\1\17\1\20\1\1" + + "\1\21\1\1\1\22\1\23\1\24\1\25\2\1\1\26" + "\1\2\2\27\1\2\1\30\2\14\1\2\1\14\1\31" + + "\3\2\1\31\1\14\1\2\1\32\1\33\3\2\2\26" + "\1\14\3\2\2\14\25\2\1\1\1\34\5\1\1\35" + + "\3\1\1\36\1\37\1\4\1\40\1\6\5\0\1\41" + "\1\0\1\26\1\42\2\43\1\27\2\42\1\44\1\42" + + "\3\0\3\2\1\0\1\14\1\2\1\32\1\45\2\33" + "\1\46\5\2\1\47\3\2\1\26\1\50\1\51\21\2" + + "\1\47\20\2\2\47\12\2\1\47\2\2\1\47\11\2" + "\1\52\12\0\1\53\2\0\1\54\2\0\1\55\1\26" + + "\1\43\1\0\2\44\3\0\3\2\1\56\1\2\2\32" + "\1\33\1\57\1\33\6\2\1\47\4\2\1\26\1\0" + + "\1\60\5\2\1\47\23\2\1\47\10\2\1\60\24\2" + "\1\47\1\2\1\60\7\2\11\0\1\61\2\0\1\62" + + "\1\26\3\0\2\2\1\32\1\63\1\32\1\33\10\2" + "\1\26\1\64\6\2\1\0\1\65\13\2\1\66\3\2" + + "\1\66\36\2\2\0\1\67\2\0\1\70\3\0\1\26" + "\2\0\1\2\1\32\1\33\7\2\1\26\5\2\1\47" + + "\1\0\26\2\1\66\13\2\5\0\1\26\2\0\1\2" + "\1\32\1\33\6\2\1\26\5\2\1\0\30\2\3\0" + "\4\2\1\26\2\2\1\0\23\2\3\0\1\2\1\66" + "\1\2\1\47\21\2\1\71\1\0\1\72\4\2\1\66" + "\40\2"; - + private static int[] zzUnpackAction() { int[] result = new int[624]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -120,7 +124,7 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -203,14 +207,14 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { + "\0\ub520\0\ub574\0\ub5c8\0\ub61c\0\ub670\0\ub6c4\0\ub718\0\ub76c" + "\0\ub7c0\0\ub814\0\ub868\0\ub8bc\0\ub910\0\ub964\0\ub9b8\0\uba0c" + "\0\uba60\0\ubab4\0\ubb08\0\ubb5c\0\ubbb0\0\ubc04\0\ubc58\0\ubcac"; - + private static int[] zzUnpackRowMap() { int[] result = new int[624]; 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 */ @@ -221,7 +225,7 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * The transition table of the DFA */ @@ -236,17 +240,18 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { + "\1\104\1\105\1\106\1\107\1\110\1\62\1\111\1\72" + "\1\112\1\62\1\113\1\114\1\62\1\115\1\116\1\117" + "\1\120\1\121\1\122\1\123\1\124\1\73\1\71\2\72" + "\2\43\1\125\1\126\1\127\1\130\1\61\1\73\1\62" + "\1\131\1\132\1\62\1\133\1\62\1\134\2\62\1\23" + "\1\135\1\136\1\137\1\140\1\141\1\142\1\62\1\143" - + "\6\62\10\144\1\145\31\144\1\146\3\144\1\147\25\144" + "\1\150\1\151\26\144\10\152\1\153\35\152\1\154\25\152" - + "\1\155\1\156\26\152\10\17\4\0\71\17\1\0\25\17" + "\1\20\2\0\1\23\1\0\71\17\1\23\16\17\125\0" - + "\1\157\3\0\1\157\10\0\1\160\1\0\4\157\2\0" + "\1\157\4\0\3\157\3\0\1\161\1\0\5\157\2\0" - + "\6\157\4\0\1\162\1\0\4\157\2\0\11\157\1\0" + "\16\157\7\0\1\23\2\0\1\23\72\0\1\23\16\0" - + "\12\24\1\0\1\24\1\163\70\24\1\0\16\24\10\25" + "\1\0\35\25\1\0\1\25\1\0\23\25\2\0\26\25" - + "\52\0\1\164\15\0\1\165\103\0\1\166\125\0\1\167" + "\146\0\1\170\26\0\10\33\1\0\53\33\1\0\37\33" - + "\25\0\1\171\76\0\10\36\1\0\14\36\1\0\76\36" + "\10\41\1\0\1\41\1\0\2\41\1\0\7\41\1\0" - + "\3\41\2\0\6\41\1\0\43\41\1\0\25\41\1\42" + "\1\0\1\41\1\23\2\41\1\0\7\41\1\0\3\41" - + "\2\0\6\41\1\0\43\41\1\23\16\41\25\0\1\44" + "\76\0\32\50\1\0\71\50\31\52\1\0\72\52\24\57" - + "\1\0\77\57\24\0\1\172\77\0\5\61\13\0\4\61" + "\2\0\3\61\2\0\3\61\1\0\2\61\2\0\5\61" - + "\2\0\6\61\6\0\5\61\1\0\11\61\1\0\17\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + + "\6\62\10\144\1\145\31\144\1\146\3\144\1\147\25\144" + + "\1\150\1\151\26\144\10\152\1\153\35\152\1\154\25\152" + "\1\155\1\156\26\152\10\17\4\0\71\17\1\0\25\17" + + "\1\20\2\0\1\23\1\0\71\17\1\23\16\17\125\0" + "\1\157\3\0\1\157\10\0\1\160\1\0\4\157\2\0" + + "\1\157\4\0\3\157\3\0\1\161\1\0\5\157\2\0" + "\6\157\4\0\1\162\1\0\4\157\2\0\11\157\1\0" + + "\16\157\7\0\1\23\2\0\1\23\72\0\1\23\16\0" + "\12\24\1\0\1\24\1\163\70\24\1\0\16\24\10\25" + + "\1\0\35\25\1\0\1\25\1\0\23\25\2\0\26\25" + "\52\0\1\164\15\0\1\165\103\0\1\166\125\0\1\167" + + "\146\0\1\170\26\0\10\33\1\0\53\33\1\0\37\33" + "\25\0\1\171\76\0\10\36\1\0\14\36\1\0\76\36" + + "\10\41\1\0\1\41\1\0\2\41\1\0\7\41\1\0" + "\3\41\2\0\6\41\1\0\43\41\1\0\25\41\1\42" + + "\1\0\1\41\1\23\2\41\1\0\7\41\1\0\3\41" + "\2\0\6\41\1\0\43\41\1\23\16\41\25\0\1\44" + + "\76\0\32\50\1\0\71\50\31\52\1\0\72\52\24\57" + "\1\0\77\57\24\0\1\172\77\0\5\61\13\0\4\61" + + "\2\0\3\61\2\0\3\61\1\0\2\61\2\0\5\61" + "\2\0\6\61\6\0\5\61\1\0\11\61\1\0\17\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\2\174\2\63" + "\1\174\1\0\1\175\11\0\1\174\1\176\2\174\2\0" + "\1\174\1\63\1\174\2\0\3\174\1\0\2\174\2\0" + "\1\174\1\177\2\176\1\200\2\0\2\174\1\200\1\174" + "\1\177\1\174\6\0\5\174\1\0\2\174\1\176\6\174" + "\1\0\20\174\1\201\1\202\1\174\1\0\1\175\11\0" @@ -258,133 +263,134 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\3\62\1\210\2\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\1\62\1\211\4\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\24\0\1\212\114\0\1\43" - + "\7\0\1\213\76\0\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\4\62" - + "\1\214\4\62\1\0\16\62\30\102\1\215\1\216\72\102" + "\10\103\1\217\17\103\1\220\1\103\1\221\71\103\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\1\62" + "\1\222\1\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\5\62\1\223\6\0\2\62\1\224\1\225\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\1\226\2\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\2\62\1\227\1\230\2\62\6\0" - + "\4\62\1\61\1\0\4\62\1\231\4\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\62" + "\1\232\4\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\16\62\5\61\13\0\4\61\2\0\3\61\2\0\3\61" + "\1\0\2\61\2\0\5\61\2\0\6\61\6\0\2\61" - + "\1\233\2\61\1\0\11\61\1\0\16\61\15\0\1\43" + "\23\0\1\234\1\235\61\0\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" - + "\11\62\1\0\3\62\1\236\12\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\1\237\2\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\1\240\2\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\3\62\1\241\1\62" - + "\1\242\6\0\2\62\1\243\1\62\1\61\1\0\4\62" + "\1\244\4\62\1\0\16\62\15\0\1\43\32\0\1\43" - + "\70\0\1\43\33\0\1\43\52\0\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\1\62\1\245\1\246\1\247" + "\2\62\6\0\4\62\1\61\1\0\1\250\3\62\1\251" - + "\1\252\3\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\2\62\1\253\1\254\2\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\4\62\1\255\1\256" - + "\6\0\4\62\1\61\1\0\7\62\1\257\1\260\1\0" + "\1\62\1\261\14\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\1\62\1\262\1\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\2\62\1\262\6\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\1\257\1\62\1\257" + "\1\263\2\62\6\0\4\62\1\61\1\0\4\62\1\264" - + "\4\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\1\265\2\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\1\266\1\62\1\267\3\62\6\0" + "\1\62\1\270\2\62\1\61\1\0\1\62\1\271\7\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\1\272\1\62\1\273\3\62\6\0\4\62\1\61" + "\1\0\4\62\1\274\4\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\3\62\1\275\1\276" - + "\1\62\6\0\4\62\1\61\1\0\4\62\1\277\4\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\1\62\1\300\1\62\1\0\1\61\1\62" + "\2\0\3\62\1\301\1\62\2\0\5\62\1\302\6\0" - + "\4\62\1\61\1\0\6\62\1\303\2\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\1\304\2\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\1\62\1\305\1\62\1\306\1\307\1\62\6\0\4\62" - + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\2\62\1\310" + "\1\62\1\61\1\0\1\311\10\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\2\62\1\312" - + "\3\62\6\0\4\62\1\61\1\0\4\62\1\257\1\313" + "\3\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\1\62\1\314\1\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\1\62\1\257\4\62\6\0" - + "\4\62\1\61\1\0\11\62\1\0\1\62\1\315\14\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\3\62" + "\1\316\2\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\1\257\1\62\1\317\3\62\6\0\4\62\1\61\1\0" + "\4\62\1\320\4\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\3\62\1\321\2\62\6\0" - + "\4\62\1\61\1\0\4\62\1\322\4\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\2\62" + "\1\323\3\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\3\62\1\324\2\62\6\0\4\62\1\61\1\0\4\62" + "\1\325\4\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\1\326\2\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\2\62\1\327\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\2\62\1\330\3\62\6\0\4\62" - + "\1\61\1\0\11\62\1\0\16\62\10\144\1\0\31\144" + "\1\0\3\144\1\0\25\144\2\0\26\144\41\0\1\331" - + "\134\0\1\332\15\0\1\333\105\0\1\334\146\0\1\335" + "\26\0\10\152\1\0\35\152\1\0\25\152\2\0\26\152" - + "\52\0\1\336\15\0\1\337\105\0\1\340\146\0\1\341" + "\27\0\3\157\1\0\2\157\11\0\4\157\2\0\2\157" - + "\3\0\3\157\5\0\6\157\1\0\6\157\6\0\4\157" + "\2\0\11\157\1\0\16\157\17\0\1\342\30\0\1\343" - + "\54\0\1\344\3\0\1\344\12\0\4\344\2\0\1\344" + "\4\0\3\344\5\0\5\344\2\0\6\344\6\0\4\344" - + "\2\0\11\344\1\0\16\344\71\0\1\345\110\0\1\346" + "\72\0\1\347\150\0\1\350\146\0\1\351\53\0\1\352" - + "\76\0\5\61\13\0\4\61\2\0\3\61\2\0\1\353" + "\2\61\1\0\2\61\2\0\5\61\2\0\6\61\6\0" - + "\5\61\1\0\11\61\1\0\16\61\5\174\13\0\4\174" + "\2\0\3\174\2\0\3\174\1\0\2\174\2\0\5\174" - + "\2\0\6\174\6\0\5\174\1\0\11\174\1\0\20\174" + "\2\175\1\174\13\0\1\174\1\176\2\174\2\0\1\174" - + "\1\175\1\174\2\0\3\174\1\0\2\174\2\0\2\174" + "\2\176\1\200\2\0\2\174\1\200\3\174\6\0\5\174" - + "\1\0\2\174\1\176\6\174\1\0\20\174\2\354\1\174" + "\13\0\4\174\2\0\1\174\1\354\1\174\2\0\3\174" - + "\1\0\2\174\2\0\5\174\2\355\6\174\6\0\5\174" + "\1\0\11\174\1\0\20\174\2\201\1\174\1\0\1\175" - + "\11\0\1\174\1\176\2\174\2\0\1\174\1\201\1\174" + "\2\0\3\174\1\0\2\174\2\0\2\174\2\176\1\200" - + "\2\0\2\174\1\200\3\174\6\0\5\174\1\0\2\174" + "\1\176\6\174\1\0\20\174\1\201\1\202\1\174\1\0" - + "\1\175\11\0\1\174\1\176\2\174\2\0\1\174\1\202" + "\1\174\2\0\3\174\1\0\2\174\2\0\1\174\1\356" - + "\2\176\1\200\2\0\2\174\1\200\1\174\1\356\1\174" + "\6\0\5\174\1\0\2\174\1\176\6\174\1\0\20\174" - + "\2\357\1\174\13\0\3\357\1\174\2\0\2\357\1\174" + "\2\0\2\174\1\357\1\0\2\174\2\0\2\174\3\357" - + "\2\0\2\174\2\357\2\174\6\0\1\174\1\357\3\174" + "\1\0\2\174\1\357\6\174\1\0\16\174\17\0\1\360" - + "\105\0\1\361\3\0\1\361\12\0\4\361\2\0\1\361" + "\4\0\3\361\5\0\5\361\2\0\6\361\6\0\1\362" - + "\3\361\2\0\11\361\1\0\16\361\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\4\62\1\363\1\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\1\364\5\62\6\0" + + "\7\0\1\213\76\0\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\4\62" + "\1\214\4\62\1\0\16\62\30\102\1\215\1\216\72\102" + + "\10\103\1\217\17\103\1\220\1\103\1\221\71\103\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\1\62" + + "\1\222\1\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\5\62\1\223\6\0\2\62\1\224\1\225\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\1\226\2\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\2\62\1\227\1\230\2\62\6\0" + "\4\62\1\61\1\0\4\62\1\231\4\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\62" + + "\1\232\4\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\5\61\13\0\4\61\2\0\3\61\2\0\3\61" + + "\1\0\2\61\2\0\5\61\2\0\6\61\6\0\2\61" + "\1\233\2\61\1\0\11\61\1\0\16\61\15\0\1\43" + + "\23\0\1\234\1\235\61\0\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\3\62\1\236\12\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\1\237\2\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\1\240\2\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\3\62\1\241\1\62" + "\1\242\6\0\2\62\1\243\1\62\1\61\1\0\4\62" + + "\1\244\4\62\1\0\16\62\15\0\1\43\32\0\1\43" + "\70\0\1\43\33\0\1\43\52\0\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\1\62\1\245\1\246\1\247" + + "\2\62\6\0\4\62\1\61\1\0\1\250\3\62\1\251" + "\1\252\3\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\2\62\1\253\1\254\2\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\1\62\1\365\4\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\25\0" - + "\1\366\113\0\1\43\7\0\1\72\76\0\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\4\62\1\367\4\62\1\0\16\62\3\370" - + "\1\102\4\370\1\0\16\370\4\102\1\371\2\102\10\370" + "\1\102\3\370\2\102\50\370\30\217\1\372\1\217\1\373" - + "\74\217\1\103\4\217\1\0\16\217\4\103\1\374\2\103" + "\10\217\1\103\3\217\2\103\50\217\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\2\62\1\375\1\62\1\376" - + "\1\62\6\0\4\62\1\61\1\0\2\62\1\377\6\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\2\62\1\257\3\62\6\0\4\62\1\61\1\0" - + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\1\62\1\u0100\1\62\1\0\1\61" + + "\1\61\1\62\2\0\5\62\2\0\4\62\1\255\1\256" + "\6\0\4\62\1\61\1\0\7\62\1\257\1\260\1\0" + + "\1\62\1\261\14\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\1\62\1\262\1\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\2\62\1\262\6\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\1\257\1\62\1\257" + + "\1\263\2\62\6\0\4\62\1\61\1\0\4\62\1\264" + "\4\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\1\265\2\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\1\266\1\62\1\267\3\62\6\0" + + "\1\62\1\270\2\62\1\61\1\0\1\62\1\271\7\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\272\1\62\1\273\3\62\6\0\4\62\1\61" + + "\1\0\4\62\1\274\4\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\3\62\1\275\1\276" + "\1\62\6\0\4\62\1\61\1\0\4\62\1\277\4\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\1\62\1\300\1\62\1\0\1\61\1\62" + + "\2\0\3\62\1\301\1\62\2\0\5\62\1\302\6\0" + "\4\62\1\61\1\0\6\62\1\303\2\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\1\304\2\62\1\0\1\61\1\62\2\0\5\62\2\0" + + "\1\62\1\305\1\62\1\306\1\307\1\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\2\62\1\310" + + "\1\62\1\61\1\0\1\311\10\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\2\62\1\312" + "\3\62\6\0\4\62\1\61\1\0\4\62\1\257\1\313" + + "\3\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\1\62\1\314\1\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\1\62\1\257\4\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\1\62\1\315\14\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\3\62" + + "\1\316\2\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\1\257\1\62\1\317\3\62\6\0\4\62\1\61\1\0" + + "\4\62\1\320\4\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\3\62\1\321\2\62\6\0" + "\4\62\1\61\1\0\4\62\1\322\4\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\2\62" + + "\1\323\3\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\3\62\1\324\2\62\6\0\4\62\1\61\1\0\4\62" + + "\1\325\4\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\1\326\2\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" - + "\2\62\1\u0101\6\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\4\62\1\u0102\1\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + + "\2\0\2\62\1\173\2\0\2\62\1\327\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\2\62\1\330\3\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\10\144\1\0\31\144" + + "\1\0\3\144\1\0\25\144\2\0\26\144\41\0\1\331" + "\134\0\1\332\15\0\1\333\105\0\1\334\146\0\1\335" + + "\26\0\10\152\1\0\35\152\1\0\25\152\2\0\26\152" + "\52\0\1\336\15\0\1\337\105\0\1\340\146\0\1\341" + + "\27\0\3\157\1\0\2\157\11\0\4\157\2\0\2\157" + "\3\0\3\157\5\0\6\157\1\0\6\157\6\0\4\157" + + "\2\0\11\157\1\0\16\157\17\0\1\342\30\0\1\343" + "\54\0\1\344\3\0\1\344\12\0\4\344\2\0\1\344" + + "\4\0\3\344\5\0\5\344\2\0\6\344\6\0\4\344" + "\2\0\11\344\1\0\16\344\71\0\1\345\110\0\1\346" + + "\72\0\1\347\150\0\1\350\146\0\1\351\53\0\1\352" + "\76\0\5\61\13\0\4\61\2\0\3\61\2\0\1\353" + + "\2\61\1\0\2\61\2\0\5\61\2\0\6\61\6\0" + "\5\61\1\0\11\61\1\0\16\61\5\174\13\0\4\174" + + "\2\0\3\174\2\0\3\174\1\0\2\174\2\0\5\174" + "\2\0\6\174\6\0\5\174\1\0\11\174\1\0\20\174" + + "\2\175\1\174\13\0\1\174\1\176\2\174\2\0\1\174" + "\1\175\1\174\2\0\3\174\1\0\2\174\2\0\2\174" + + "\2\176\1\200\2\0\2\174\1\200\3\174\6\0\5\174" + "\1\0\2\174\1\176\6\174\1\0\20\174\2\354\1\174" + + "\13\0\4\174\2\0\1\174\1\354\1\174\2\0\3\174" + "\1\0\2\174\2\0\5\174\2\355\6\174\6\0\5\174" + + "\1\0\11\174\1\0\20\174\2\201\1\174\1\0\1\175" + "\11\0\1\174\1\176\2\174\2\0\1\174\1\201\1\174" + + "\2\0\3\174\1\0\2\174\2\0\2\174\2\176\1\200" + "\2\0\2\174\1\200\3\174\6\0\5\174\1\0\2\174" + + "\1\176\6\174\1\0\20\174\1\201\1\202\1\174\1\0" + "\1\175\11\0\1\174\1\176\2\174\2\0\1\174\1\202" + + "\1\174\2\0\3\174\1\0\2\174\2\0\1\174\1\356" + "\2\176\1\200\2\0\2\174\1\200\1\174\1\356\1\174" + + "\6\0\5\174\1\0\2\174\1\176\6\174\1\0\20\174" + "\2\357\1\174\13\0\3\357\1\174\2\0\2\357\1\174" + + "\2\0\2\174\1\357\1\0\2\174\2\0\2\174\3\357" + "\2\0\2\174\2\357\2\174\6\0\1\174\1\357\3\174" + + "\1\0\2\174\1\357\6\174\1\0\16\174\17\0\1\360" + "\105\0\1\361\3\0\1\361\12\0\4\361\2\0\1\361" + + "\4\0\3\361\5\0\5\361\2\0\6\361\6\0\1\362" + "\3\361\2\0\11\361\1\0\16\361\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\4\62\1\363\1\62\6\0" + + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\1\364\5\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\1\62\1\365\4\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\25\0" + "\1\366\113\0\1\43\7\0\1\72\76\0\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" - + "\1\61\1\0\1\62\1\u0103\6\62\1\u0104\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\u0105" + "\5\62\6\0\4\62\1\61\1\0\6\62\1\u0106\2\62" + + "\1\61\1\0\4\62\1\367\4\62\1\0\16\62\3\370" + "\1\102\4\370\1\0\16\370\4\102\1\371\2\102\10\370" + + "\1\102\3\370\2\102\50\370\30\217\1\372\1\217\1\373" + "\74\217\1\103\4\217\1\0\16\217\4\103\1\374\2\103" + + "\10\217\1\103\3\217\2\103\50\217\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\2\62\1\375\1\62\1\376" + "\1\62\6\0\4\62\1\61\1\0\2\62\1\377\6\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\1\257\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\2\62\1\u0107\3\62\6\0\4\62\1\61\1\0" - + "\11\62\1\0\16\62\5\61\13\0\4\61\2\0\3\61" + "\2\0\1\61\1\u0108\1\61\1\0\2\61\2\0\5\61" - + "\2\0\6\61\6\0\5\61\1\0\11\61\1\0\16\61" + "\42\0\1\u0109\61\0\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\1\62\1\u010a\3\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\1\62\1\u010b\1\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\1\62\1\u010c\1\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + + "\2\0\2\62\1\257\3\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\1\62\1\u0100\1\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\2\62\1\u0101\6\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\4\62\1\u0102\1\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\4\62\1\u010d\1\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" - + "\1\62\1\u010e\2\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\1\62\1\u010f\1\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\1\62\1\u0103\6\62\1\u0104\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\u0105" + + "\5\62\6\0\4\62\1\61\1\0\6\62\1\u0106\2\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\257\5\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\2\62\1\u0107\3\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\5\61\13\0\4\61\2\0\3\61" + + "\2\0\1\61\1\u0108\1\61\1\0\2\61\2\0\5\61" + "\2\0\6\61\6\0\5\61\1\0\11\61\1\0\16\61" + + "\42\0\1\u0109\61\0\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\1\62\1\u010a\3\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\1\62\1\u010b\1\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\1\62\1\u010c\1\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\4\62\1\u010d\1\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\1\62\1\u010e\2\62\1\61\1\0\11\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\1\62\1\u010f\1\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\1\62\1\u0110\4\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\1\u0111\2\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\3\62\1\u0112\2\62\6\0\4\62\1\61" + "\1\0\5\62\1\257\3\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\4\62\1\u0113\1\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\1\62\1\u0114" + "\4\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\62" + + "\1\u0115\4\62\6\0\2\62\1\u0116\1\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\1\u0117\15\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\6\62\6\0\3\62\1\u0118\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\1\u0119\5\62\6\0\4\62\1\61\1\0" + + "\6\62\1\u011a\2\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\1\62\1\u011b\1\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\5\62\1\223\6\0" + + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\1\62" + "\1\u011c\2\62\1\61\1\0\11\62\1\0\16\62\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\1\u011d\5\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\3\62\1\u011e" + "\2\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + + "\6\0\4\62\1\61\1\0\2\62\1\257\6\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\2\62\1\u011f\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\1\62\1\u0110\4\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\1\u0111\2\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\3\62\1\u0112\2\62\6\0\4\62\1\61" - + "\1\0\5\62\1\257\3\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\4\62\1\u0113\1\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\1\62\1\u0114" - + "\4\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\62" + "\1\u0115\4\62\6\0\2\62\1\u0116\1\62\1\61\1\0" - + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\1\u0117\15\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\3\62\1\u0118\1\61\1\0" - + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\1\u0119\5\62\6\0\4\62\1\61\1\0" + "\6\62\1\u011a\2\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\1\62\1\u011b\1\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" - + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\5\62\1\223\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\1\62" - + "\1\u011c\2\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" - + "\1\0\1\61\1\62\2\0\5\62\2\0\1\u011d\5\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\3\62\1\u011e" - + "\2\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\2\62\1\257\6\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\2\62\1\u011f\1\0\1\61\1\62\2\0\5\62" - + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\3\62\1\u0120\2\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\3\62\1\u0121\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" @@ -410,191 +416,202 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\4\62\1\u0131\11\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\3\62\1\u0132\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\2\62\1\u0133\1\0\1\61\1\62" - + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\2\62\1\u0134\3\62\6\0\2\62\1\u0135" + "\1\62\1\61\1\0\4\62\1\u0136\4\62\1\0\16\62" - + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\62" - + "\1\u0137\4\62\6\0\1\62\1\u0138\2\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\3\62\1\u0139\2\62\6\0\4\62\1\61" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\2\62\1\u0134\3\62\6\0\2\62\1\u0135" + + "\1\62\1\61\1\0\4\62\1\u0136\4\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\62" + "\1\u0137\4\62\6\0\1\62\1\u0138\2\62\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\3\62\1\u0139\2\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\1\u013a\5\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\1\u013a\5\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\2\62\1\u013b\1\62" - + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\3\62\1\u013c\1\62\2\0\4\62\1\u013d" + "\1\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" - + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\1\62\1\u013e\1\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\1\u013f\3\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\2\62\1\u0140\3\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\10\62\1\u0141" + + "\2\0\5\62\2\0\6\62\6\0\2\62\1\u013b\1\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\3\62\1\u013c\1\62\2\0\4\62\1\u013d" + + "\1\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\1\62\1\u013e\1\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\1\61\4\62\13\0\1\u013f\3\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\2\62\1\u0140\3\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\1\u0142\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\u0143\5\62\6\0\4\62\1\61\1\0\11\62" + + "\2\0\6\62\6\0\4\62\1\61\1\0\10\62\1\u0141" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\u0142\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\1\62\1\257\4\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\2\62\1\262\1\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + + "\2\0\1\u0143\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\62\1\257\4\62\6\0\4\62\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\6\62\6\0\2\62\1\262\1\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\5\62\1\u0144\3\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\1\u0145\5\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\1\u0146\2\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\1\62\1\u0147\14\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\4\62\1\u0148" + "\1\62\6\0\4\62\1\61\1\0\6\62\1\u0149\2\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\6\62\1\u014a\7\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\6\62\6\0\1\62\1\u014b\2\62\1\61" + "\1\0\11\62\1\0\16\62\71\0\1\u014c\110\0\1\u014d" - + "\117\0\1\u014e\146\0\1\u014f\117\0\1\u0150\110\0\1\u0151" + "\117\0\1\u0152\146\0\1\u0153\46\0\1\u0154\153\0\1\u0155" - + "\54\0\3\344\1\0\2\344\11\0\4\344\2\0\2\344" + "\3\0\3\344\5\0\6\344\1\0\6\344\6\0\4\344" - + "\2\0\11\344\1\0\16\344\5\0\1\u0156\172\0\1\345" + "\140\0\1\u0157\40\0\1\u0158\115\0\2\61\2\u0159\1\61" - + "\13\0\3\u0159\1\61\2\0\2\u0159\1\61\2\0\2\61" + "\1\u0159\1\0\2\61\2\0\2\61\3\u0159\2\0\2\61" - + "\2\u0159\2\61\6\0\1\61\1\u0159\3\61\1\0\2\61" + "\1\u0159\6\61\1\0\16\61\2\174\2\354\1\174\13\0" - + "\1\174\1\176\2\174\2\0\1\174\1\354\1\174\2\0" + "\3\174\1\0\2\174\2\0\2\174\2\176\1\174\2\0" - + "\6\174\6\0\5\174\1\0\2\174\1\176\6\174\1\0" + "\16\174\2\0\2\354\23\0\1\354\74\0\2\174\2\357" - + "\1\174\13\0\3\357\1\174\2\0\2\357\1\174\2\0" + "\2\174\1\357\1\0\2\174\2\0\1\174\1\356\3\357" - + "\2\0\2\174\2\357\1\356\1\174\6\0\1\174\1\357" + "\3\174\1\0\2\174\1\357\6\174\1\0\16\174\20\0" - + "\1\u015a\104\0\3\361\1\0\1\u015b\1\361\11\0\4\361" + "\2\0\2\361\3\0\3\361\5\0\6\361\1\0\6\361" - + "\6\0\4\361\2\0\11\361\1\0\16\361\1\0\3\361" + "\1\0\1\u015b\1\361\11\0\4\361\2\0\2\361\3\0" - + "\3\361\5\0\6\361\1\0\6\361\6\0\1\361\1\u015c" + "\2\361\2\0\11\361\1\0\16\361\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\4\62\1\u015d\4\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u0144\3\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\3\62\1\323" - + "\2\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\4\62" + "\1\u015e\1\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\16\62\30\370\1\u015f\1\u0160\74\370\2\u0161\14\370\3\u0161" + "\3\370\2\u0161\1\u015f\1\u0160\3\370\1\u0161\7\370\3\u0161" - + "\4\370\2\u0161\11\370\1\u0161\6\370\1\u0161\25\370\10\217" + "\1\0\115\217\2\u0162\14\217\3\u0162\3\217\2\u0162\1\372" - + "\1\217\1\373\2\217\1\u0162\7\217\3\u0162\4\217\2\u0162" + "\11\217\1\u0162\6\217\1\u0162\25\217\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\5\62\1\256\6\0\4\62" - + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\4\62\1\u0163\4\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u0164\3\62" - + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" - + "\1\0\1\61\1\62\2\0\5\62\2\0\1\u0144\5\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\3\62\1\u0165" - + "\2\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\4\62" + "\1\257\1\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\4\62\1\u0166\1\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\u0167\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\6\62\6\0\2\62\1\u0168\1\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\2\62\1\u0169\3\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\3\62\1\u016a\2\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\5\61\13\0\4\61" - + "\2\0\3\61\2\0\3\61\1\0\2\61\2\0\5\61" + "\2\0\6\61\6\0\1\61\1\u016b\3\61\1\0\11\61" - + "\1\0\16\61\41\0\1\u016c\62\0\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\1\u016d\3\62" + "\1\61\1\0\11\62\1\0\4\62\1\u016e\11\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" - + "\1\62\1\u016f\2\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\1\62\1\u0170\2\62\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\5\62\1\u0111\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\6\62\6\0\4\62\1\61\1\0\4\62\1\u0171\4\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\3\62\1\u0172\2\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" - + "\1\u0173\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\2\62\1\u0174\3\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\1\62\1\u0175\2\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\4\62\1\u0176\1\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\1\u0177\15\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\4\62\1\u0178\4\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\5\62\1\257\6\0" - + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\1\u0179\15\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u017a\3\62" - + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\1\u017b" - + "\2\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" - + "\4\62\1\61\1\0\4\62\1\u017c\4\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\2\62\1\u017d\6\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\3\62\1\u017e\2\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\2\62\1\u017f\3\62\6\0\4\62\1\61\1\0" - + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\4\62\1\u0180\1\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\2\62\1\u0102\3\62\6\0\4\62" - + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\2\62\1\u0181\6\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\2\62\1\321\3\62" + + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\6\62\1\u014a\7\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\1\62\1\u014b\2\62\1\61" + + "\1\0\11\62\1\0\16\62\71\0\1\u014c\110\0\1\u014d" + + "\117\0\1\u014e\146\0\1\u014f\117\0\1\u0150\110\0\1\u0151" + + "\117\0\1\u0152\146\0\1\u0153\46\0\1\u0154\153\0\1\u0155" + "\54\0\3\344\1\0\2\344\11\0\4\344\2\0\2\344" + + "\3\0\3\344\5\0\6\344\1\0\6\344\6\0\4\344" + "\2\0\11\344\1\0\16\344\5\0\1\u0156\172\0\1\345" + + "\140\0\1\u0157\40\0\1\u0158\115\0\2\61\2\u0159\1\61" + "\13\0\3\u0159\1\61\2\0\2\u0159\1\61\2\0\2\61" + + "\1\u0159\1\0\2\61\2\0\2\61\3\u0159\2\0\2\61" + "\2\u0159\2\61\6\0\1\61\1\u0159\3\61\1\0\2\61" + + "\1\u0159\6\61\1\0\16\61\2\174\2\354\1\174\13\0" + "\1\174\1\176\2\174\2\0\1\174\1\354\1\174\2\0" + + "\3\174\1\0\2\174\2\0\2\174\2\176\1\174\2\0" + "\6\174\6\0\5\174\1\0\2\174\1\176\6\174\1\0" + + "\16\174\2\0\2\354\23\0\1\354\74\0\2\174\2\357" + "\1\174\13\0\3\357\1\174\2\0\2\357\1\174\2\0" + + "\2\174\1\357\1\0\2\174\2\0\1\174\1\356\3\357" + "\2\0\2\174\2\357\1\356\1\174\6\0\1\174\1\357" + + "\3\174\1\0\2\174\1\357\6\174\1\0\16\174\20\0" + "\1\u015a\104\0\3\361\1\0\1\u015b\1\361\11\0\4\361" + + "\2\0\2\361\3\0\3\361\5\0\6\361\1\0\6\361" + "\6\0\4\361\2\0\11\361\1\0\16\361\1\0\3\361" + + "\1\0\1\u015b\1\361\11\0\4\361\2\0\2\361\3\0" + "\3\361\5\0\6\361\1\0\6\361\6\0\1\361\1\u015c" + + "\2\361\2\0\11\361\1\0\16\361\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\4\62\1\u015d\4\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u0144\3\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" - + "\1\0\1\61\1\62\2\0\5\62\2\0\1\u0182\1\u0183" + "\4\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" - + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" - + "\6\0\3\62\1\u0184\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\10\62\1\u0185" - + "\5\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\6\62\6\0\4\62\1\61\1\0\4\62\1\u0186\4\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\u012a\5\62\6\0\4\62\1\61\1\0\11\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\6\62\6\0\2\62\1\u0187\1\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\2\62\1\u010b\3\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\1\62\1\u0188\1\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\1\62\1\u013a" - + "\2\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\5\62\1\u0116\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\1\u0189\4\62\1\231" - + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" - + "\1\0\1\61\1\62\2\0\5\62\2\0\2\62\1\u018a" + "\3\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\3\62\1\323" + "\2\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\4\62" - + "\1\u018b\1\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\1\62\1\u018c\4\62\6\0\4\62\1\61\1\0\11\62" + + "\1\u015e\1\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\30\370\1\u015f\1\u0160\74\370\2\u0161\14\370\3\u0161" + + "\3\370\2\u0161\1\u015f\1\u0160\3\370\1\u0161\7\370\3\u0161" + + "\4\370\2\u0161\11\370\1\u0161\6\370\1\u0161\25\370\10\217" + + "\1\0\115\217\2\u0162\14\217\3\u0162\3\217\2\u0162\1\372" + + "\1\217\1\373\2\217\1\u0162\7\217\3\u0162\4\217\2\u0162" + + "\11\217\1\u0162\6\217\1\u0162\25\217\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\5\62\1\256\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\4\62\1\u0163\4\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u0164\3\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\1\u0144\5\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\3\62\1\u0165" + "\2\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\4\62" + + "\1\257\1\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\4\62\1\u0166\1\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\6\62\6\0\2\62\1\u018d\1\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\3\62\1\u018e\2\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\4\62\1\u018f\1\62\6\0\4\62" + "\1\61\1\0\4\62\1\u0190\4\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\4\62\1\u0182" - + "\1\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\1\62\1\u0167" - + "\14\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\1\62\1\u0191\1\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\1\62\1\u0192\14\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\1\u0193\5\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\5\62\1\u0194\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" - + "\3\62\1\u0195\5\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\5\62\1\u0180\3\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" - + "\1\61\1\0\1\257\10\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\4\62\1\223\1\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\3\62\1\u0196" - + "\2\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\2\62" + "\1\u0197\3\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\3\62\1\u0198\2\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\4\62\1\u0199\1\62\6\0\4\62\1\61\1\0" + + "\2\0\1\u0167\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\2\62\1\u0168\1\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\1\62\1\u019a\4\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\5\62\1\u019b\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\3\62" + "\1\u019c\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\7\62\1\u019d\1\u0185\1\u019e\4\62" + + "\5\62\2\0\2\62\1\u0169\3\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\3\62\1\u016a\2\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\16\62\5\61\13\0\4\61" + "\2\0\3\61\2\0\3\61\1\0\2\61\2\0\5\61" + + "\2\0\6\61\6\0\1\61\1\u016b\3\61\1\0\11\61" + "\1\0\16\61\41\0\1\u016c\62\0\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\1\u016d\3\62" + + "\1\61\1\0\11\62\1\0\4\62\1\u016e\11\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\1\62\1\u016f\2\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" - + "\6\0\4\62\1\61\1\0\4\62\1\u019f\4\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\6\62\6\0\4\62\1\61\1\0\1\u0144\10\62\1\0" + + "\6\0\1\62\1\u0170\2\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\5\62\1\u0111\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\5\62\1\364\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\6\62\6\0\2\62\1\u01a0\1\62\1\61\1\0\11\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\4\62\1\u0144\1\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\2\62\1\u01a1\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + + "\6\62\6\0\4\62\1\61\1\0\4\62\1\u0171\4\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\3\62\1\u0172\2\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\2\62\1\u01a2\3\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\1\363\5\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\5\0\1\u01a3\172\0\1\u014c" + "\140\0\1\u01a4\40\0\1\u01a5\122\0\1\u01a6\172\0\1\u0150" - + "\140\0\1\u01a7\40\0\1\u01a8\136\0\1\u01a9\143\0\1\u01aa" + "\67\0\1\u0156\51\0\1\345\45\0\3\u0158\3\u01ab\4\0" - + "\5\u01ab\4\u0158\1\u01ab\1\0\2\u0158\1\0\1\u01ab\1\0" + "\3\u0158\1\0\1\u01ab\2\u0158\1\u01ab\5\u0158\2\u01ab\6\u0158" - + "\1\0\1\u01ab\1\0\3\u01ab\4\u0158\2\u01ab\11\u0158\1\0" + "\16\u0158\2\61\2\u01ac\1\61\13\0\3\u01ac\1\61\2\0" - + "\2\u01ac\1\61\2\0\2\61\1\u01ac\1\0\2\61\2\0" + "\2\61\3\u01ac\2\0\2\61\2\u01ac\2\61\6\0\1\61" - + "\1\u01ac\3\61\1\0\2\61\1\u01ac\6\61\1\0\16\61" + "\21\0\1\u01ad\103\0\3\361\1\0\1\u015b\1\361\11\0" - + "\4\361\2\0\2\361\3\0\3\361\5\0\6\361\1\0" + "\6\361\6\0\1\362\3\361\2\0\11\361\1\0\16\361" - + "\1\0\3\361\1\0\1\u015b\1\361\11\0\4\361\2\0" + "\2\361\3\0\3\361\5\0\6\361\1\0\1\361\1\u01ae" - + "\4\361\6\0\4\361\2\0\11\361\1\0\16\361\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" - + "\1\0\1\61\1\62\2\0\5\62\2\0\1\62\1\u0144" + "\4\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" + "\1\u0173\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\2\62\1\u0174\3\62\6\0\4\62\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\6\62\6\0\1\62\1\u0175\2\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\4\62\1\u0176\1\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\1\u0177\15\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\4\62\1\u0178\4\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\5\62\1\257\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\1\u0179\15\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u017a\3\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\1\u017b" + "\2\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\4\62\1\u017c\4\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + + "\6\0\4\62\1\61\1\0\2\62\1\u017d\6\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\3\62\1\u017e\2\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\2\62\1\u017f\3\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\4\62\1\u0180\1\62\6\0\4\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\2\62\1\u0102\3\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\2\62\1\u0181\6\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\2\62\1\321\3\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\1\u0182\1\u0183" + + "\4\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\3\62\1\u0184\1\61\1\0\11\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\10\62\1\u0185" + "\5\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\6\62\6\0\4\62\1\61\1\0\4\62\1\u0186\4\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\1\u012a\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\2\62\1\u0187\1\62\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\2\62\1\u010b\3\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\1\62\1\u0188\1\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\6\62\6\0\1\62\1\u013a" + "\2\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\5\62\1\u0116\6\0" + + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\1\u0189\4\62\1\231" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\2\62\1\u018a" + + "\3\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\4\62" + "\1\u018b\1\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + + "\1\62\1\u018c\4\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\2\62\1\u018d\1\62\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\3\62\1\u018e\2\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\4\62\1\u018f\1\62\6\0\4\62" + + "\1\61\1\0\4\62\1\u0190\4\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\4\62\1\u0182" + "\1\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\1\62\1\u0167" + "\14\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\1\62\1\u0191\1\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\1\62\1\u0192\14\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\1\u0193\5\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\5\62\1\u0194\6\0\4\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\3\62\1\u0195\5\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\5\62\1\u0180\3\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\1\257\10\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\4\62\1\223\1\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\3\62\1\u0196" + "\2\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\2\62" - + "\1\u01af\3\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\10\370\1\0\115\370\2\u01b0\14\370\3\u01b0\3\370" - + "\2\u01b0\1\u015f\1\u0160\3\370\1\u01b0\7\370\3\u01b0\4\370" + "\2\u01b0\11\370\1\u01b0\6\370\1\u01b0\25\370\2\217\2\u01b1" - + "\14\217\3\u01b1\3\217\2\u01b1\1\372\1\217\1\373\2\217" + "\1\u01b1\7\217\3\u01b1\4\217\2\u01b1\11\217\1\u01b1\6\217" + + "\1\u0197\3\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\3\62\1\u0198\2\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\4\62\1\u0199\1\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\1\62\1\u019a\4\62\6\0\4\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\5\62\1\u019b\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\3\62" + + "\1\u019c\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\11\62\1\0\7\62\1\u019d\1\u0185\1\u019e\4\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\4\62\1\u019f\4\62\1\0" + + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + + "\6\62\6\0\4\62\1\61\1\0\1\u0144\10\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\5\62\1\364\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + + "\6\62\6\0\2\62\1\u01a0\1\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\4\62\1\u0144\1\62\6\0\4\62\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\2\62\1\u01a1\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\2\62\1\u01a2\3\62\6\0\4\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\1\363\5\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\5\0\1\u01a3\172\0\1\u014c" + + "\140\0\1\u01a4\40\0\1\u01a5\122\0\1\u01a6\172\0\1\u0150" + + "\140\0\1\u01a7\40\0\1\u01a8\136\0\1\u01a9\143\0\1\u01aa" + + "\67\0\1\u0156\51\0\1\345\45\0\3\u0158\3\u01ab\4\0" + + "\5\u01ab\4\u0158\1\u01ab\1\0\2\u0158\1\0\1\u01ab\1\0" + + "\3\u0158\1\0\1\u01ab\2\u0158\1\u01ab\5\u0158\2\u01ab\6\u0158" + + "\1\0\1\u01ab\1\0\3\u01ab\4\u0158\2\u01ab\11\u0158\1\0" + + "\16\u0158\2\61\2\u01ac\1\61\13\0\3\u01ac\1\61\2\0" + "\2\u01ac\1\61\2\0\2\61\1\u01ac\1\0\2\61\2\0" + + "\2\61\3\u01ac\2\0\2\61\2\u01ac\2\61\6\0\1\61" + "\1\u01ac\3\61\1\0\2\61\1\u01ac\6\61\1\0\16\61" + + "\21\0\1\u01ad\103\0\3\361\1\0\1\u015b\1\361\11\0" + "\4\361\2\0\2\361\3\0\3\361\5\0\6\361\1\0" + + "\6\361\6\0\1\362\3\361\2\0\11\361\1\0\16\361" + "\1\0\3\361\1\0\1\u015b\1\361\11\0\4\361\2\0" + + "\2\361\3\0\3\361\5\0\6\361\1\0\1\361\1\u01ae" + "\4\361\6\0\4\361\2\0\11\361\1\0\16\361\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\1\62\1\u0144" + + "\4\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\2\62" + "\1\u01af\3\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\10\370\1\0\115\370\2\u01b0\14\370\3\u01b0\3\370" + + "\2\u01b0\1\u015f\1\u0160\3\370\1\u01b0\7\370\3\u01b0\4\370" + + "\2\u01b0\11\370\1\u01b0\6\370\1\u01b0\25\370\2\217\2\u01b1" + + "\14\217\3\u01b1\3\217\2\u01b1\1\372\1\217\1\373\2\217" + + "\1\u01b1\7\217\3\u01b1\4\217\2\u01b1\11\217\1\u01b1\6\217" + "\1\u01b1\25\217\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\3\62\1\u01b2\2\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\3\62\1\u01b3\1\62\2\0\6\62\6\0\4\62\1\61" @@ -606,9 +623,10 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\1\62\1\223\14\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\5\62" + "\1\u01b8\6\0\4\62\1\61\1\0\11\62\1\0\16\62" - + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\3\62\1\257\5\62\1\0" - + "\16\62\5\61\13\0\4\61\2\0\3\61\2\0\3\61" + "\1\0\2\61\2\0\5\61\2\0\4\61\1\u01b9\1\61" - + "\6\0\5\61\1\0\11\61\1\0\17\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + + "\6\0\4\62\1\61\1\0\3\62\1\257\5\62\1\0" + "\16\62\5\61\13\0\4\61\2\0\3\61\2\0\3\61" + + "\1\0\2\61\2\0\5\61\2\0\4\61\1\u01b9\1\61" + "\6\0\5\61\1\0\11\61\1\0\17\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\4\62\1\u01ba\4\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\4\62\1\u01bb\4\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\1\u01bc\5\62" @@ -628,18 +646,19 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\4\62\1\u01c4\4\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\1\62\1\u01c5\4\62\6\0\4\62\1\61\1\0\11\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\1\62\1\u01c6\14\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\4\62" + "\1\u01c7\4\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\3\62\1\u0175\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\1\62\1\u01c8\1\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\3\62\1\u01c9\3\62\1\u01ca\6\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\2\62\1\u01cb\1\62\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\1\u01cc\5\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\1\62\1\u01cd\1\u01ce\1\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\1\62\1\u01c6\14\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\4\62" + + "\1\u01c7\4\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\3\62\1\u0175\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\1\62\1\u01c8\1\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\3\62\1\u01c9\3\62\1\u01ca\6\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + + "\6\0\2\62\1\u01cb\1\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\1\u01cc\5\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\1\61\4\62\13\0\1\62\1\u01cd\1\u01ce\1\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\1\62\1\u01cf\4\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\4\62\1\u011e\1\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" @@ -650,134 +669,142 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { + "\2\62\1\u01d1\1\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\62" + "\1\u01d2\4\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\1\u01d3\2\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\3\62\1\u01d4\2\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\1\62\1\u01d5\1\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" - + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\4\62\1\u0180\11\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\2\62\1\u01d6\3\62\6\0\4\62" - + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\1\62\1\231\4\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\1\u01d7\5\62\6\0" - + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\3\62\1\u0197\2\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\2\62\1\u01d8" - + "\3\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\2\62" + "\1\u01d9\3\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\3\62\1\u01da\2\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\1\u01db\2\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\1\223\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\6\62\1\u0182" - + "\2\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\6\62\6\0\2\62\1\u01dc\1\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\1\62\1\u01dd\4\62\6\0\4\62" - + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\1\62\1\270" + "\2\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\2\62" - + "\1\u01de\1\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" - + "\1\0\1\61\1\62\2\0\5\62\2\0\2\62\1\u01df" + "\3\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" - + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" - + "\6\0\4\62\1\61\1\0\11\62\1\0\12\62\1\u01e0" + "\3\62\1\61\4\62\13\0\2\62\1\u01e1\1\62\2\0" + + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\3\62\1\u01d4\2\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\1\62\1\u01d5\1\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\2\62\1\u01e2\3\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\2\62\1\u015d\3\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\6\62\6\0\1\62\1\u0100\2\62" + "\1\61\1\0\11\62\1\0\16\62\41\0\1\u01e3\67\0" - + "\1\u01a3\51\0\1\u014c\45\0\3\u01a5\3\u01e4\4\0\5\u01e4" + "\4\u01a5\1\u01e4\1\0\2\u01a5\1\0\1\u01e4\1\0\3\u01a5" - + "\1\0\1\u01e4\2\u01a5\1\u01e4\5\u01a5\2\u01e4\6\u01a5\1\0" + "\1\u01e4\1\0\3\u01e4\4\u01a5\2\u01e4\11\u01a5\1\0\16\u01a5" - + "\41\0\1\u01e5\67\0\1\u01a6\51\0\1\u0150\45\0\3\u01a8" + "\3\u01e6\4\0\5\u01e6\4\u01a8\1\u01e6\1\0\2\u01a8\1\0" - + "\1\u01e6\1\0\3\u01a8\1\0\1\u01e6\2\u01a8\1\u01e6\5\u01a8" + "\2\u01e6\6\u01a8\1\0\1\u01e6\1\0\3\u01e6\4\u01a8\2\u01e6" - + "\11\u01a8\1\0\16\u01a8\22\0\1\u01e7\142\0\1\u0158\62\0" + "\2\61\2\u01e8\1\61\13\0\3\u01e8\1\61\2\0\2\u01e8" - + "\1\61\2\0\2\61\1\u01e8\1\0\2\61\2\0\2\61" + "\3\u01e8\2\0\2\61\2\u01e8\2\61\6\0\1\61\1\u01e8" - + "\3\61\1\0\2\61\1\u01e8\6\61\1\0\16\61\22\0" + "\1\u01e9\102\0\3\361\1\0\1\u015b\1\361\11\0\4\361" - + "\2\0\2\361\3\0\3\361\5\0\6\361\1\0\6\361" + "\6\0\2\361\1\u01ea\1\361\2\0\11\361\1\0\16\361" - + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\3\62" - + "\1\u01eb\2\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\2\370\2\u01ec\14\370\3\u01ec\3\370\2\u01ec\1\u015f" - + "\1\u0160\3\370\1\u01ec\7\370\3\u01ec\4\370\2\u01ec\11\370" + "\1\u01ec\6\370\1\u01ec\25\370\2\217\2\u01ed\14\217\3\u01ed" - + "\3\217\2\u01ed\1\372\1\217\1\373\2\217\1\u01ed\7\217" + "\3\u01ed\4\217\2\u01ed\11\217\1\u01ed\6\217\1\u01ed\25\217" - + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" - + "\6\0\4\62\1\61\1\0\2\62\1\u01ee\6\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\6\62\6\0\2\62\1\u01ef\1\62\1\61\1\0\11\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\2\62\1\u01f0\3\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\1\62\1\u0175\1\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\1\62\1\u01f1\4\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\1\62\1\u01f2" - + "\2\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\3\62" + "\1\u01f3\1\61\1\0\11\62\1\0\16\62\5\61\13\0" - + "\4\61\2\0\3\61\2\0\1\u01f4\2\61\1\0\2\61" + "\2\0\5\61\2\0\6\61\6\0\5\61\1\0\11\61" - + "\1\0\17\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\6\62\6\0\1\62\1\u01f5\2\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\2\62\1\364" - + "\6\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\6\62\6\0\2\62\1\u01f6\1\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\2\62\1\u01f7\1\62" - + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\6\62\1\u01f8\2\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\4\62\1\u01f9\1\62" - + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\55\0" + "\1\u01fa\46\0\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\3\62\1\u01fb\2\62\6\0\4\62\1\61\1\0" - + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\1\u01fc\5\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\2\62\1\u01fd\3\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\3\62\1\257\1\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\1\62\1\257\1\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + + "\1\0\4\62\1\u0180\11\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\2\62\1\u01d6\3\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\1\62\1\231\4\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u01fe\3\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" - + "\4\62\1\61\1\0\6\62\1\u0180\2\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\2\62\1\u0116\6\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\6\62\6\0\4\62\1\61\1\0\4\62\1\u01ff\4\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\3\62\1\u0200\2\62\6\0\4\62\1\61\1\0" + + "\1\61\1\62\2\0\5\62\2\0\1\u01d7\5\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\3\62\1\u0197\2\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\2\62\1\u01d8" + "\3\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\2\62" + + "\1\u01d9\3\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\3\62\1\u01da\2\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\1\u01db\2\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\223\5\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\6\62\6\0\4\62\1\61\1\0\6\62\1\u0182" + "\2\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\2\62\1\u01dc\1\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\1\62\1\u01dd\4\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\1\62\1\270" + + "\2\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\2\62" + "\1\u01de\1\62\1\61\1\0\11\62\1\0\16\62\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\2\62\1\u01df" + + "\3\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\12\62\1\u01e0" + + "\3\62\1\61\4\62\13\0\2\62\1\u01e1\1\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\2\62\1\u01e2\3\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\6\62\6\0\1\62\1\257\2\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\1\62" - + "\1\u01cd\2\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + + "\5\62\2\0\2\62\1\u015d\3\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\1\62\1\u0100\2\62" + + "\1\61\1\0\11\62\1\0\16\62\41\0\1\u01e3\67\0" + "\1\u01a3\51\0\1\u014c\45\0\3\u01a5\3\u01e4\4\0\5\u01e4" + + "\4\u01a5\1\u01e4\1\0\2\u01a5\1\0\1\u01e4\1\0\3\u01a5" + + "\1\0\1\u01e4\2\u01a5\1\u01e4\5\u01a5\2\u01e4\6\u01a5\1\0" + + "\1\u01e4\1\0\3\u01e4\4\u01a5\2\u01e4\11\u01a5\1\0\16\u01a5" + + "\41\0\1\u01e5\67\0\1\u01a6\51\0\1\u0150\45\0\3\u01a8" + + "\3\u01e6\4\0\5\u01e6\4\u01a8\1\u01e6\1\0\2\u01a8\1\0" + + "\1\u01e6\1\0\3\u01a8\1\0\1\u01e6\2\u01a8\1\u01e6\5\u01a8" + + "\2\u01e6\6\u01a8\1\0\1\u01e6\1\0\3\u01e6\4\u01a8\2\u01e6" + + "\11\u01a8\1\0\16\u01a8\22\0\1\u01e7\142\0\1\u0158\62\0" + + "\2\61\2\u01e8\1\61\13\0\3\u01e8\1\61\2\0\2\u01e8" + "\1\61\2\0\2\61\1\u01e8\1\0\2\61\2\0\2\61" + + "\3\u01e8\2\0\2\61\2\u01e8\2\61\6\0\1\61\1\u01e8" + "\3\61\1\0\2\61\1\u01e8\6\61\1\0\16\61\22\0" + + "\1\u01e9\102\0\3\361\1\0\1\u015b\1\361\11\0\4\361" + "\2\0\2\361\3\0\3\361\5\0\6\361\1\0\6\361" + + "\6\0\2\361\1\u01ea\1\361\2\0\11\361\1\0\16\361" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\3\62" + "\1\u01eb\2\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\2\370\2\u01ec\14\370\3\u01ec\3\370\2\u01ec\1\u015f" + + "\1\u0160\3\370\1\u01ec\7\370\3\u01ec\4\370\2\u01ec\11\370" + + "\1\u01ec\6\370\1\u01ec\25\370\2\217\2\u01ed\14\217\3\u01ed" + + "\3\217\2\u01ed\1\372\1\217\1\373\2\217\1\u01ed\7\217" + + "\3\u01ed\4\217\2\u01ed\11\217\1\u01ed\6\217\1\u01ed\25\217" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\2\62\1\u01ee\6\62\1\0" + + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + + "\6\62\6\0\2\62\1\u01ef\1\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\2\62\1\u01f0\3\62\6\0\4\62\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\1\62\1\u0175\1\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\1\62\1\u01f1\4\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\1\62\1\u0201\4\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\4\62\1\u0202\1\62" - + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + + "\1\62\2\0\5\62\2\0\6\62\6\0\1\62\1\u01f2" + "\2\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\3\62" + + "\1\u01f3\1\61\1\0\11\62\1\0\16\62\5\61\13\0" + "\4\61\2\0\3\61\2\0\1\u01f4\2\61\1\0\2\61" + + "\2\0\5\61\2\0\6\61\6\0\5\61\1\0\11\61" + "\1\0\17\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\6\62\6\0\1\62\1\u01f5\2\62\1\61\1\0\11\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\6\62\6\0\4\62\1\61\1\0\2\62\1\364" + "\6\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\2\62\1\u01f6\1\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\2\62\1\u01f7\1\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\6\62\1\u01f8\2\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\4\62\1\u01f9\1\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\55\0" + + "\1\u01fa\46\0\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\3\62\1\u01fb\2\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\1\u01fc\5\62\6\0\4\62\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\2\62\1\u01fd\3\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\3\62\1\257\1\62\2\0\6\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\1\62\1\257\1\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u01fe\3\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\6\62\1\u0180\2\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + + "\6\0\4\62\1\61\1\0\2\62\1\u0116\6\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\6\62\6\0\4\62\1\61\1\0\4\62\1\u01ff\4\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\3\62\1\u0200\2\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\1\62\1\257\2\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\1\62" + "\1\u01cd\2\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\1\62\1\u0201\4\62\6\0" + + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\4\62\1\u0202\1\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\4\62\1\u0203\4\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\1\u0144\15\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\1\62\1\u0204\1\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\1\62\1\u0205\1\62\1\0\1\61\1\62\2\0" + "\3\62\1\u01f3\1\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" - + "\2\62\1\223\6\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\6\62\1\u0206\2\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\2\62" - + "\1\u0207\1\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" - + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\6\62\1\u0208\2\62\1\0\16\62" - + "\1\61\4\62\13\0\2\62\1\u0209\1\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\4\62\1\u020a\11\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\1\62\1\u020b\2\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\2\62\1\u020c\2\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\13\62\1\u020d\2\62\1\61" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\2\62\1\223\6\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\6\62\1\u0206\2\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\2\62" + "\1\u0207\1\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" - + "\4\62\1\61\1\0\11\62\1\0\1\223\15\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" - + "\1\0\1\61\1\62\2\0\5\62\2\0\4\62\1\231" + "\1\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + + "\4\62\1\61\1\0\6\62\1\u0208\2\62\1\0\16\62" + "\1\61\4\62\13\0\2\62\1\u0209\1\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\4\62\1\u020a\11\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\6\62\6\0\1\62\1\u020b\2\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\2\62\1\u020c\2\62\2\0\6\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\13\62\1\u020d\2\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\1\223\15\62\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\4\62\1\231" + + "\1\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\3\62\1\u020e\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" - + "\6\0\3\62\1\u020e\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\2\62\1\u01d3\1\62\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\6\62\6\0\4\62\1\61\1\0\6\62\1\u020f\2\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\62\1\u0210\4\62\6\0\4\62\1\61\1\0" - + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\1\62\1\u0180\3\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\1\62\1\u0211\1\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" - + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\1\u0212\3\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\41\0\1\u01a5\123\0" - + "\1\u01a8\105\0\1\u0213\100\0\2\61\2\62\1\61\13\0" + "\3\62\1\61\2\0\2\62\1\61\2\0\2\61\1\62" - + "\1\0\2\61\2\0\2\61\3\62\2\0\2\61\2\62" + "\2\61\6\0\1\61\1\62\3\61\1\0\2\61\1\62" - + "\6\61\1\0\16\61\23\0\1\u0214\101\0\3\361\1\0" + "\1\u015b\1\361\11\0\4\361\2\0\2\361\3\0\3\361" - + "\5\0\6\361\1\0\6\361\6\0\3\361\1\u0215\2\0" + "\11\361\1\0\16\361\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\1\62\1\u0144\1\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\2\370\2\102\14\370\3\102" + "\3\370\2\102\1\u015f\1\u0160\3\370\1\102\7\370\3\102" + + "\6\0\2\62\1\u01d3\1\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\6\62\6\0\4\62\1\61\1\0\6\62\1\u020f\2\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\1\62\1\u0210\4\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\1\62\1\u0180\3\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\1\62\1\u0211\1\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + + "\1\u0212\3\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\16\62\41\0\1\u01a5\123\0" + "\1\u01a8\105\0\1\u0213\100\0\2\61\2\62\1\61\13\0" + + "\3\62\1\61\2\0\2\62\1\61\2\0\2\61\1\62" + "\1\0\2\61\2\0\2\61\3\62\2\0\2\61\2\62" + + "\2\61\6\0\1\61\1\62\3\61\1\0\2\61\1\62" + "\6\61\1\0\16\61\23\0\1\u0214\101\0\3\361\1\0" + + "\1\u015b\1\361\11\0\4\361\2\0\2\361\3\0\3\361" + "\5\0\6\361\1\0\6\361\6\0\3\361\1\u0215\2\0" + + "\11\361\1\0\16\361\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\1\62\1\u0144\1\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\2\370\2\102\14\370\3\102" + + "\3\370\2\102\1\u015f\1\u0160\3\370\1\102\7\370\3\102" + "\4\370\2\102\11\370\1\102\6\370\1\102\25\370\2\217" + "\2\103\14\217\3\103\3\217\2\103\1\372\1\217\1\373" + "\2\217\1\103\7\217\3\103\4\217\2\103\11\217\1\103" + "\6\217\1\103\25\217\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\11\62" @@ -866,112 +893,114 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\1\62\1\u0241\1\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\1\u0242\1\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" - + "\4\62\1\u0243\4\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\1\u0180\5\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\1\62\1\u0244\14\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\1\62\1\u0180\4\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" - + "\2\62\1\u0245\1\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\1\u0246\3\62\1\61\1\0\11\62\1\0\10\62" - + "\1\u0247\5\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\6\62\6\0\2\62\1\u0248\1\62\1\61\1\0" + "\11\62\1\0\16\62\17\0\1\u0249\123\0\1\366\105\0" - + "\3\361\1\0\1\u015b\1\361\1\u024a\2\0\1\u024a\5\0" + "\4\361\1\0\1\u024b\2\361\3\0\3\361\5\0\6\361" - + "\1\0\6\361\6\0\4\361\2\0\11\361\1\u024a\16\361" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\u024c" + "\5\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" - + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" - + "\6\0\4\62\1\61\1\0\2\62\1\u0180\6\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\2\62\1\231\3\62\6\0\4\62\1\61\1\0\11\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\1\u024d\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" - + "\1\u024e\15\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\1\62\1\u024f\14\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\2\62\1\u0250\3\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\3\62\1\u0251\2\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" - + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" - + "\1\0\4\62\1\u0252\4\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\1\62\1\u0253\4\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" - + "\4\62\1\61\1\0\4\62\1\u0254\4\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\u0116" + "\5\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" - + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" - + "\6\0\2\62\1\u0255\1\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\3\62\1\u022b\2\62\6\0\4\62\1\61\1\0\11\62" - + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\2\62\1\u0256\3\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\4\62" - + "\1\u0257\4\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\1\u0258\5\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\4\62\1\307\1\62\6\0\4\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\4\62\1\u0243\4\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\1\u0180\5\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\3\62\1\u0144" + "\1\61\1\0\11\62\1\0\16\62\7\0\1\u024a\2\0" - + "\1\u024a\12\0\1\u024b\57\0\1\u024a\16\0\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u0259\3\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" - + "\4\62\1\61\1\0\1\u0180\10\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" - + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\1\u025a\10\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" - + "\2\62\1\u025b\1\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\4\62\1\u020a" - + "\11\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\2\62\1\u025c\1\0\1\61\1\62\2\0\5\62" - + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\1\u025d\2\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\1\62\1\u0244\14\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\1\62\1\u0180\4\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\2\62\1\u0245\1\62\1\61\1\0\11\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + + "\6\0\1\u0246\3\62\1\61\1\0\11\62\1\0\10\62" + "\1\u0247\5\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\2\62\1\u0248\1\62\1\61\1\0" + + "\11\62\1\0\16\62\17\0\1\u0249\123\0\1\366\105\0" + "\3\361\1\0\1\u015b\1\361\1\u024a\2\0\1\u024a\5\0" + + "\4\361\1\0\1\u024b\2\361\3\0\3\361\5\0\6\361" + "\1\0\6\361\6\0\4\361\2\0\11\361\1\u024a\16\361" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\u024c" + + "\5\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\4\62\1\61\1\0\2\62\1\u0180\6\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\1\u0139\5\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\3\62\1\u025e\2\62\6\0\4\62\1\61\1\0\11\62" + + "\2\62\1\231\3\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\u024d\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" - + "\2\0\1\u025f\5\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\1\62\1\231\1\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" - + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\1\62\1\u0180\1\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" - + "\4\62\1\u0260\4\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\1\62\1\u0261\4\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" - + "\1\61\1\0\11\62\1\0\15\62\1\u0262\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" - + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u0263\3\62" + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" - + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\4\62\1\u0264" - + "\1\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" - + "\1\62\1\u0265\1\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\1\u024e\15\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\1\62\1\u024f\14\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\5\62\2\0\2\62\1\u0250\3\62\6\0\4\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\3\62\1\u0251\2\62\6\0\4\62" + + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + "\1\0\4\62\1\u0252\4\62\1\0\16\62\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\1\62\1\u0253\4\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\4\62\1\u0254\4\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\1\u0116" + + "\5\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + "\6\0\2\62\1\u0255\1\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\6\62\6\0\4\62\1\61\1\0\2\62\1\u0216\6\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\6\62\1\u0266" - + "\2\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\6\62\6\0\3\62\1\u0180\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\4\62\1\u0267\2\0\6\62\6\0\4\62\1\61\1\0" - + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\1\u0268\2\62\1\0\1\61\1\62" - + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\1\u0269\3\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" - + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\2\62\1\u026a\3\62\6\0\4\62\1\61" - + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" - + "\2\62\1\u026b\6\62\1\0\16\62\1\61\4\62\13\0" + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" - + "\1\62\2\0\5\62\2\0\3\62\1\u026c\2\62\6\0" + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" - + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" - + "\1\61\1\0\11\62\1\0\1\62\1\u026d\14\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" - + "\1\0\1\61\1\62\2\0\5\62\2\0\3\62\1\u026e" + "\2\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" - + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\4\62" - + "\1\u026f\1\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\5\62\1\u0250\6\0\4\62\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\5\62\1\u0180\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" - + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\6\62\6\0\3\62\1\u0250\1\61\1\0\11\62\1\0" - + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" - + "\2\62\1\u020d\3\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" - + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\4\62\1\u0270\1\62\6\0\4\62\1\61\1\0" + + "\3\62\1\u022b\2\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\2\62\1\u0256\3\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" - + "\5\62\2\0\6\62\6\0\2\62\1\u0260\1\62\1\61" + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" - + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\2\62\1\u0253\1\62" + "\1\61\1\0\11\62\1\0\16\62"; - + + "\5\62\2\0\6\62\6\0\4\62\1\61\1\0\4\62" + "\1\u0257\4\62\1\0\16\62\1\61\4\62\13\0\4\62" + + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\1\u0258\5\62\6\0\4\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\4\62\1\307\1\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\3\62\1\u0144" + + "\1\61\1\0\11\62\1\0\16\62\7\0\1\u024a\2\0" + "\1\u024a\12\0\1\u024b\57\0\1\u024a\16\0\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u0259\3\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\4\62\1\61\1\0\1\u0180\10\62\1\0\16\62\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + + "\4\62\1\61\1\0\1\u025a\10\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\6\62\6\0" + "\2\62\1\u025b\1\62\1\61\1\0\11\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\6\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\4\62\1\u020a" + "\11\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\2\62\1\u025c\1\0\1\61\1\62\2\0\5\62" + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\1\u025d\2\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\1\u0139\5\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + + "\3\62\1\u025e\2\62\6\0\4\62\1\61\1\0\11\62" + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + "\2\0\1\u025f\5\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\1\62\1\231\1\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\1\62\1\u0180\1\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\6\62\6\0\4\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\4\62\1\u0260\4\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\1\62\1\u0261\4\62\6\0" + + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\15\62\1\u0262\1\61\4\62" + + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + "\1\61\1\62\2\0\5\62\2\0\2\62\1\u0263\3\62" + + "\6\0\4\62\1\61\1\0\11\62\1\0\16\62\1\61" + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + + "\1\0\1\61\1\62\2\0\5\62\2\0\4\62\1\u0264" + "\1\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + "\1\62\1\u0265\1\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\6\62\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\6\62\6\0\4\62\1\61\1\0\2\62\1\u0216\6\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\6\62\6\0\4\62\1\61\1\0\6\62\1\u0266" + "\2\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\3\62\1\u0180\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + + "\4\62\1\u0267\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\1\u0268\2\62\1\0\1\61\1\62" + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + + "\11\62\1\0\16\62\1\61\4\62\13\0\1\u0269\3\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\2\62\1\u026a\3\62\6\0\4\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\4\62\1\61\1\0" + "\2\62\1\u026b\6\62\1\0\16\62\1\61\4\62\13\0" + + "\4\62\2\0\2\62\1\173\2\0\3\62\1\0\1\61" + "\1\62\2\0\5\62\2\0\3\62\1\u026c\2\62\6\0" + + "\4\62\1\61\1\0\11\62\1\0\16\62\1\61\4\62" + "\13\0\4\62\2\0\2\62\1\173\2\0\3\62\1\0" + + "\1\61\1\62\2\0\5\62\2\0\6\62\6\0\4\62" + "\1\61\1\0\11\62\1\0\1\62\1\u026d\14\62\1\61" + + "\4\62\13\0\4\62\2\0\2\62\1\173\2\0\3\62" + "\1\0\1\61\1\62\2\0\5\62\2\0\3\62\1\u026e" + + "\2\62\6\0\4\62\1\61\1\0\11\62\1\0\16\62" + "\1\61\4\62\13\0\4\62\2\0\2\62\1\173\2\0" + + "\3\62\1\0\1\61\1\62\2\0\5\62\2\0\4\62" + "\1\u026f\1\62\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + + "\5\62\1\u0250\6\0\4\62\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\5\62\1\u0180\6\0\4\62\1\61\1\0\11\62\1\0" + + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + + "\6\62\6\0\3\62\1\u0250\1\61\1\0\11\62\1\0" + "\16\62\1\61\4\62\13\0\4\62\2\0\2\62\1\173" + + "\2\0\3\62\1\0\1\61\1\62\2\0\5\62\2\0" + "\2\62\1\u020d\3\62\6\0\4\62\1\61\1\0\11\62" + + "\1\0\16\62\1\61\4\62\13\0\4\62\2\0\2\62" + "\1\173\2\0\3\62\1\0\1\61\1\62\2\0\5\62" + + "\2\0\4\62\1\u0270\1\62\6\0\4\62\1\61\1\0" + "\11\62\1\0\16\62\1\61\4\62\13\0\4\62\2\0" + + "\2\62\1\173\2\0\3\62\1\0\1\61\1\62\2\0" + "\5\62\2\0\6\62\6\0\2\62\1\u0260\1\62\1\61" + + "\1\0\11\62\1\0\16\62\1\61\4\62\13\0\4\62" + "\2\0\2\62\1\173\2\0\3\62\1\0\1\61\1\62" + + "\2\0\5\62\2\0\6\62\6\0\2\62\1\u0253\1\62" + "\1\61\1\0\11\62\1\0\16\62"; + private static int[] zzUnpackTrans() { int[] result = new int[48384]; 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 */ @@ -986,7 +1015,7 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -998,19 +1027,21 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\2\1\1\0\2\1\4\0\2\1\1\11\4\1" + "\1\11\5\1\1\11\2\1\2\11\2\1\4\11\2\1" - + "\1\11\1\1\4\11\7\1\1\11\2\1\1\11\1\1" + "\1\11\13\1\1\11\35\1\1\11\5\1\1\11\6\1" + "\2\11\5\0\1\11\1\0\11\1\3\0\3\1\1\0" - + "\3\1\1\11\2\1\1\11\12\1\1\11\74\1\1\11" + "\12\0\1\1\2\0\1\11\2\0\1\11\2\1\1\0" + "\2\1\3\0\3\1\1\11\4\1\1\11\15\1\1\0" - + "\102\1\11\0\1\11\2\0\2\1\3\0\3\1\1\11" + "\13\1\1\11\6\1\1\0\57\1\2\0\1\1\2\0" + "\1\1\3\0\1\1\2\0\21\1\1\0\42\1\5\0" + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\2\1\1\0\2\1\4\0\2\1\1\11\4\1" + + "\1\11\5\1\1\11\2\1\2\11\2\1\4\11\2\1" + "\1\11\1\1\4\11\7\1\1\11\2\1\1\11\1\1" + + "\1\11\13\1\1\11\35\1\1\11\5\1\1\11\6\1" + "\2\11\5\0\1\11\1\0\11\1\3\0\3\1\1\0" + + "\3\1\1\11\2\1\1\11\12\1\1\11\74\1\1\11" + "\12\0\1\1\2\0\1\11\2\0\1\11\2\1\1\0" + + "\2\1\3\0\3\1\1\11\4\1\1\11\15\1\1\0" + "\102\1\11\0\1\11\2\0\2\1\3\0\3\1\1\11" + + "\13\1\1\11\6\1\1\0\57\1\2\0\1\1\2\0" + "\1\1\3\0\1\1\2\0\21\1\1\0\42\1\5\0" + "\1\1\2\0\17\1\1\0\30\1\3\0\7\1\1\0" + "\23\1\3\0\3\1\1\11\21\1\1\11\1\0\1\11" + "\45\1"; - + private static int[] zzUnpackAttribute() { int[] result = new int[624]; 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 */ @@ -1024,7 +1055,7 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -1032,8 +1063,8 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -1043,8 +1074,7 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ @@ -1061,126 +1091,113 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { */ public static final int INTERNAL_ATTR_SINGLE = -2; /** - * Token type specific to this class; this signals that the user has - * ended a line with an unclosed XML tag; thus a new line is beginning - * still inside of the tag. + * Token type specific to this class; this signals that the user has ended a + * line with an unclosed XML tag; thus a new line is beginning still inside of + * the tag. */ public static final int INTERNAL_INTAG = -3; /** - * Token type specific to this class; this signals that the user has - * ended a line with an unclosed Script tag; thus a new line is beginning - * still inside of the tag. + * Token type specific to this class; this signals that the user has ended a + * line with an unclosed Script tag; thus a new line is beginning still inside + * of the tag. */ public static final int INTERNAL_INTAG_SCRIPT = -4; /** - * Token type specific to this class; this signals that the user has - * ended a line in the middle of a double-quoted attribute in a Script - * tag. + * Token type specific to this class; this signals that the user has ended a + * line in the middle of a double-quoted attribute in a Script tag. */ public static final int INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT = -5; /** - * Token type specific to this class; this signals that the user has - * ended a line in the middle of a single-quoted attribute in a Script - * tag. + * Token type specific to this class; this signals that the user has ended a + * line in the middle of a single-quoted attribute in a Script tag. */ public static final int INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT = -6; /** - * Token type specific to this class; this signals that the user has - * ended a line in an ActionScript code block (text content inside a - * Script tag). + * Token type specific to this class; this signals that the user has ended a + * line in an ActionScript code block (text content inside a Script tag). */ public static final int INTERNAL_IN_AS = -7; /** - * Token type specific to this class; this signals that the user has - * ended a line in an MLC in an ActionScript code block (text content - * inside a Script tag). + * Token type specific to this class; this signals that the user has ended a + * line in an MLC in an ActionScript code block (text content inside a Script + * tag). */ public static final int INTERNAL_IN_AS_MLC = -8; /** * Whether closing markup tags are automatically completed for HTML. */ private static boolean completeCloseTags; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public MxmlTokenMaker() {} - + public MxmlTokenMaker() { + } + static { completeCloseTags = true; } - + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** - * Returns whether markup close tags should be completed. For XML, the - * default value is true. + * Returns whether markup close tags should be completed. For XML, the default + * value is true. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) @@ -1189,11 +1206,11 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { public boolean getCompleteCloseTags() { return completeCloseTags; } - + /** - * Static version of {@link #getCompleteCloseTags()}. This hack is - * unfortunately needed for applications to be able to query this value - * without instantiating this class. + * Static version of {@link #getCompleteCloseTags()}. This hack is unfortunately + * needed for applications to be able to query this value without instantiating + * this class. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) @@ -1201,35 +1218,30 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { public static boolean getCompleteCloseMarkupTags() { return completeCloseTags; } - + /** * Always returns false, as you never want "mark occurrences" * working in XML files. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return false; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -1238,56 +1250,56 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.MARKUP_COMMENT: - state = COMMENT; - start = text.offset; - break; - case Token.MARKUP_DTD: - state = DTD; - start = text.offset; - break; - case INTERNAL_ATTR_DOUBLE: - state = INATTR_DOUBLE; - start = text.offset; - break; - case INTERNAL_ATTR_SINGLE: - state = INATTR_SINGLE; - start = text.offset; - break; - case Token.MARKUP_PROCESSING_INSTRUCTION: - state = PI; - start = text.offset; - break; - case INTERNAL_INTAG: - state = INTAG; - start = text.offset; - break; - case INTERNAL_INTAG_SCRIPT: - state = INTAG_SCRIPT; - start = text.offset; - break; - case INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT: - state = INATTR_DOUBLE_SCRIPT; - start = text.offset; - break; - case INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT: - state = INATTR_SINGLE_SCRIPT; - start = text.offset; - break; - case INTERNAL_IN_AS: - state = AS; - start = text.offset; - break; - case INTERNAL_IN_AS_MLC: - state = AS_MLC; - start = text.offset; - break; - case Token.MARKUP_CDATA: - state = CDATA; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.MARKUP_COMMENT: + state = COMMENT; + start = text.offset; + break; + case Token.MARKUP_DTD: + state = DTD; + start = text.offset; + break; + case INTERNAL_ATTR_DOUBLE: + state = INATTR_DOUBLE; + start = text.offset; + break; + case INTERNAL_ATTR_SINGLE: + state = INATTR_SINGLE; + start = text.offset; + break; + case Token.MARKUP_PROCESSING_INSTRUCTION: + state = PI; + start = text.offset; + break; + case INTERNAL_INTAG: + state = INTAG; + start = text.offset; + break; + case INTERNAL_INTAG_SCRIPT: + state = INTAG_SCRIPT; + start = text.offset; + break; + case INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT: + state = INATTR_DOUBLE_SCRIPT; + start = text.offset; + break; + case INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT: + state = INATTR_SINGLE_SCRIPT; + start = text.offset; + break; + case INTERNAL_IN_AS: + state = AS; + start = text.offset; + break; + case INTERNAL_IN_AS_MLC: + state = AS_MLC; + start = text.offset; + break; + case Token.MARKUP_CDATA: + state = CDATA; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -1299,47 +1311,44 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { return new TokenImpl(); } } - + /** * Sets whether markup close tags should be completed. * - * @param complete - * Whether closing markup tags are completed. + * @param complete Whether closing markup tags are completed. * @see #getCompleteCloseTags() */ public static void setCompleteCloseTags(boolean complete) { completeCloseTags = complete; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -1349,34 +1358,31 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public MxmlTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public MxmlTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -1392,7 +1398,7 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1402,69 +1408,64 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1475,29 +1476,27 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1516,8 +1515,7 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1557,467 +1555,466 @@ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 2: { - addToken(Token.IDENTIFIER); - } - case 59: - break; - case 53: { - addToken(Token.LITERAL_BOOLEAN); - } - case 60: - break; - case 29: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addEndToken(INTERNAL_IN_AS); - return firstToken; - } - case 61: - break; - case 50: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); - start = zzMarkedPos; - } - case 62: - break; - case 51: { - addToken(Token.ERROR_CHAR); - } - case 63: - break; - case 34: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 64: - break; - case 24: { - addEndToken(INTERNAL_IN_AS); - return firstToken; - } - case 65: - break; - case 19: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE_SCRIPT); - } - case 66: - break; - case 13: { - yybegin(YYINITIAL); - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 67: - break; - case 26: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 68: - break; - case 38: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 69: - break; - case 54: { - addToken(Token.FUNCTION); - } - case 70: - break; - case 43: { - int count = yylength(); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - (count - 2), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - yybegin(INTAG); - } - case 71: - break; - case 31: { - start = zzMarkedPos - 2; - yybegin(DTD); - } - case 72: - break; - case 27: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 73: - break; - case 21: { + case 2: { + addToken(Token.IDENTIFIER); + } + case 59: + break; + case 53: { + addToken(Token.LITERAL_BOOLEAN); + } + case 60: + break; + case 29: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addEndToken(INTERNAL_IN_AS); + return firstToken; + } + case 61: + break; + case 50: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); + start = zzMarkedPos; + } + case 62: + break; + case 51: { + addToken(Token.ERROR_CHAR); + } + case 63: + break; + case 34: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 64: + break; + case 24: { + addEndToken(INTERNAL_IN_AS); + return firstToken; + } + case 65: + break; + case 19: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE_SCRIPT); + } + case 66: + break; + case 13: { + yybegin(YYINITIAL); + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 67: + break; + case 26: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 68: + break; + case 38: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 69: + break; + case 54: { + addToken(Token.FUNCTION); + } + case 70: + break; + case 43: { + int count = yylength(); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - (count - 2), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + yybegin(INTAG); + } + case 71: + break; + case 31: { + start = zzMarkedPos - 2; + yybegin(DTD); + } + case 72: + break; + case 27: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 73: + break; + case 21: { + yybegin(INTAG_SCRIPT); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 74: + break; + case 57: { + addToken(Token.MARKUP_CDATA_DELIMITER); + start = zzMarkedPos; + yybegin(CDATA); + } + case 75: + break; + case 22: { + addToken(Token.ERROR_IDENTIFIER); + } + case 76: + break; + case 4: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(INTAG); + } + case 77: + break; + case 28: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_AS_MLC); + return firstToken; + } + case 78: + break; + case 46: { + addToken(Token.MARKUP_CDATA_DELIMITER); + } + case 79: + break; + case 45: { + int temp = zzStartRead; + yybegin(YYINITIAL); + addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); + addToken(temp, zzMarkedPos - 1, Token.MARKUP_CDATA_DELIMITER); + } + case 80: + break; + case 17: { + yybegin(INTAG); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 81: + break; + case 37: { + addToken(Token.LITERAL_CHAR); + } + case 82: + break; + case 32: { + start = zzMarkedPos - 2; + yybegin(PI); + } + case 83: + break; + case 15: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE); + } + case 84: + break; + case 42: { + yybegin(AS); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 85: + break; + case 7: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + return firstToken; + } + case 86: + break; + case 9: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + return firstToken; + } + case 87: + break; + case 36: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 88: + break; + case 8: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 89: + break; + case 20: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE_SCRIPT); + } + case 90: + break; + case 41: { + start = zzMarkedPos - 2; + yybegin(AS_MLC); + } + case 91: + break; + case 16: { + addToken(Token.MARKUP_TAG_DELIMITER); /* + * Not valid but we'll still accept it + */ + } + case 92: + break; + case 5: { + addToken(Token.WHITESPACE); + } + case 93: + break; + case 30: { + int count = yylength(); + String tag = yytext(); // Get before addToken calls + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - (count - 1), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + if (tag.endsWith(":Script") || tag.equals("' + while (Character.isWhitespace(text.charAt(tagNameEnd))) { + tagNameEnd--; } - case 78: - break; - case 46: { - addToken(Token.MARKUP_CDATA_DELIMITER); + int tagNameLen = tagNameEnd - 1; + yybegin(YYINITIAL); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(origStart + 2, origStart + 2 + tagNameLen - 1, Token.MARKUP_TAG_NAME); + if (tagNameEnd < text.length() - 2) { + addToken(origStart + tagNameEnd + 1, zzMarkedPos - 2, Token.WHITESPACE); } - case 79: - break; - case 45: { - int temp = zzStartRead; - yybegin(YYINITIAL); - addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); - addToken(temp, zzMarkedPos - 1, Token.MARKUP_CDATA_DELIMITER); - } - case 80: - break; - case 17: { - yybegin(INTAG); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 81: - break; - case 37: { - addToken(Token.LITERAL_CHAR); - } - case 82: - break; - case 32: { - start = zzMarkedPos - 2; - yybegin(PI); - } - case 83: - break; - case 15: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE); - } - case 84: - break; - case 42: { - yybegin(AS); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 85: - break; - case 7: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - return firstToken; - } - case 86: - break; - case 9: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - return firstToken; - } - case 87: - break; - case 36: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 88: - break; - case 8: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 89: - break; - case 20: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE_SCRIPT); - } - case 90: - break; - case 41: { - start = zzMarkedPos - 2; - yybegin(AS_MLC); - } - case 91: - break; - case 16: { - addToken(Token.MARKUP_TAG_DELIMITER); /* - * Not valid but - * we'll still - * accept it - */ - } - case 92: - break; - case 5: { - addToken(Token.WHITESPACE); - } - case 93: - break; - case 30: { - int count = yylength(); - String tag = yytext(); // Get before addToken calls - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - (count - 1), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - if (tag.endsWith(":Script") || tag.equals("' - while (Character.isWhitespace(text.charAt(tagNameEnd))) { - tagNameEnd--; + case 625: + break; + case AS_MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_AS_MLC); + return firstToken; } - int tagNameLen = tagNameEnd - 1; - yybegin(YYINITIAL); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(origStart + 2, origStart + 2 + tagNameLen - 1, Token.MARKUP_TAG_NAME); - if (tagNameEnd < text.length() - 2) { - addToken(origStart + tagNameEnd + 1, zzMarkedPos - 2, Token.WHITESPACE); + case 626: + break; + case INTAG_SCRIPT: { + addToken(start, zzStartRead - 1, INTERNAL_INTAG_SCRIPT); + return firstToken; } - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 114: - break; - case 47: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 115: - break; - case 1: {} - case 116: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case AS_EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addEndToken(INTERNAL_IN_AS); - return firstToken; - } - case 625: - break; - case AS_MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_AS_MLC); - return firstToken; - } - case 626: - break; - case INTAG_SCRIPT: { - addToken(start, zzStartRead - 1, INTERNAL_INTAG_SCRIPT); - return firstToken; - } - case 627: - break; - case INATTR_DOUBLE_SCRIPT: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); - return firstToken; - } - case 628: - break; - case CDATA: { - addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); - return firstToken; - } - case 629: - break; - case INATTR_SINGLE_SCRIPT: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); - return firstToken; - } - case 630: - break; - case DTD: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - return firstToken; - } - case 631: - break; - case INATTR_SINGLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE); - return firstToken; - } - case 632: - break; - case INATTR_DOUBLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE); - return firstToken; - } - case 633: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 634: - break; - case AS: { - addEndToken(INTERNAL_IN_AS); - return firstToken; - } - case 635: - break; - case INTAG: { - addToken(start, zzStartRead - 1, INTERNAL_INTAG); - return firstToken; - } - case 636: - break; - case COMMENT: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - return firstToken; - } - case 637: - break; - case PI: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 638: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 627: + break; + case INATTR_DOUBLE_SCRIPT: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); + return firstToken; } + case 628: + break; + case CDATA: { + addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); + return firstToken; + } + case 629: + break; + case INATTR_SINGLE_SCRIPT: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); + return firstToken; + } + case 630: + break; + case DTD: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + return firstToken; + } + case 631: + break; + case INATTR_SINGLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE); + return firstToken; + } + case 632: + break; + case INATTR_DOUBLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE); + return firstToken; + } + case 633: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 634: + break; + case AS: { + addEndToken(INTERNAL_IN_AS); + return firstToken; + } + case 635: + break; + case INTAG: { + addToken(start, zzStartRead - 1, INTERNAL_INTAG); + return firstToken; + } + case 636: + break; + case COMMENT: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + return firstToken; + } + case 637: + break; + case PI: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 638: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/NSISTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/NSISTokenMaker.java index 4b39bc2..d74c804 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/NSISTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/NSISTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated NSISTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -85,23 +84,27 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\6\0\2\1\2\2\2\1\1\3\1\4\1\1\1\5" + "\1\6\1\7\1\5\2\1\1\10\2\1\1\10\2\1" - + "\1\11\7\5\1\12\3\1\1\10\11\1\1\13\1\14" + "\1\15\1\16\1\14\1\17\1\14\1\20\1\21\1\22" - + "\1\14\1\23\1\14\1\24\1\25\1\14\1\26\10\14" + "\1\27\6\14\1\0\1\30\1\31\1\30\6\1\2\10" - + "\5\1\1\0\10\1\1\32\17\1\2\10\23\1\14\0" + "\45\1\1\33\1\34\1\0\1\35\1\0\1\36\4\14" + "\4\0\4\14\5\0\1\31\17\1\1\0\11\1\1\0" - + "\33\1\1\10\12\1\1\10\13\1\10\0\1\37\2\0" + "\1\37\3\0\7\1\1\40\26\1\1\10\16\1\1\10" + "\20\1\4\0\4\14\4\0\4\14\5\0\14\1\1\0" - + "\6\1\1\41\1\1\1\42\11\1\1\40\4\1\1\40" + "\1\1\1\10\34\1\1\10\5\1\16\0\1\10\30\1" + "\1\40\43\1\2\0\1\34\2\0\1\35\3\14\1\43" - + "\2\0\3\14\1\44\3\0\11\1\1\0\101\1\14\0" + "\61\1\1\10\11\1\4\0\1\14\2\0\1\14\3\0" + "\10\1\1\0\41\1\1\40\22\1\1\10\1\1\7\0" - + "\1\37\3\1\1\40\25\1\1\40\32\1\4\0\12\1" + "\1\0\30\1\1\10\20\1\1\37\6\1\5\0\55\1" + "\4\0\7\1\1\0\11\1\1\37\1\1\1\40\42\1" - + "\3\0\2\1\1\40\45\1\2\0\44\1\3\0\60\1" + "\1\40\13\1\1\37\4\1\3\0\2\1\1\40\45\1" + "\1\40\6\1\1\0\10\1\1\40\147\1"; - + private static final String ZZ_ACTION_PACKED_0 = "\6\0\2\1\2\2\2\1\1\3\1\4\1\1\1\5" + + "\1\6\1\7\1\5\2\1\1\10\2\1\1\10\2\1" + "\1\11\7\5\1\12\3\1\1\10\11\1\1\13\1\14" + + "\1\15\1\16\1\14\1\17\1\14\1\20\1\21\1\22" + "\1\14\1\23\1\14\1\24\1\25\1\14\1\26\10\14" + + "\1\27\6\14\1\0\1\30\1\31\1\30\6\1\2\10" + "\5\1\1\0\10\1\1\32\17\1\2\10\23\1\14\0" + + "\45\1\1\33\1\34\1\0\1\35\1\0\1\36\4\14" + "\4\0\4\14\5\0\1\31\17\1\1\0\11\1\1\0" + + "\33\1\1\10\12\1\1\10\13\1\10\0\1\37\2\0" + "\1\37\3\0\7\1\1\40\26\1\1\10\16\1\1\10" + + "\20\1\4\0\4\14\4\0\4\14\5\0\14\1\1\0" + "\6\1\1\41\1\1\1\42\11\1\1\40\4\1\1\40" + + "\1\1\1\10\34\1\1\10\5\1\16\0\1\10\30\1" + "\1\40\43\1\2\0\1\34\2\0\1\35\3\14\1\43" + + "\2\0\3\14\1\44\3\0\11\1\1\0\101\1\14\0" + "\61\1\1\10\11\1\4\0\1\14\2\0\1\14\3\0" + + "\10\1\1\0\41\1\1\40\22\1\1\10\1\1\7\0" + "\1\37\3\1\1\40\25\1\1\40\32\1\4\0\12\1" + + "\1\0\30\1\1\10\20\1\1\37\6\1\5\0\55\1" + "\4\0\7\1\1\0\11\1\1\37\1\1\1\40\42\1" + + "\3\0\2\1\1\40\45\1\2\0\44\1\3\0\60\1" + "\1\40\13\1\1\37\4\1\3\0\2\1\1\40\45\1" + + "\1\40\6\1\1\0\10\1\1\40\147\1"; + private static int[] zzUnpackAction() { int[] result = new int[1321]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -115,7 +118,7 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -248,7 +251,8 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { + "\0\uf888\0\uf8ca\0\uf90c\0\uf94e\0\uf990\0\uf9d2\0\ufa14\0\ufa56" + "\0\ufa98\0\ufada\0\ufb1c\0\ufb5e\0\ufba0\0\ufbe2\0\ufc24\0\ufc66" + "\0\ufca8\0\ufcea\0\ufd2c\0\ufd6e\0\ufdb0\0\ufdf2\0\ufe34\0\ufe76" - + "\0\ufeb8\0\ufefa\0\uff3c\0\uff7e\0\uffc0\1\2\1\104\1\206" + "\1\310\1\u010a\1\u014c\1\u018e\1\u01d0\1\u0212\0\uaaac\1\u0254" + + "\0\ufeb8\0\ufefa\0\uff3c\0\uff7e\0\uffc0\1\2\1\104\1\206" + + "\1\310\1\u010a\1\u014c\1\u018e\1\u01d0\1\u0212\0\uaaac\1\u0254" + "\1\u0296\1\u02d8\1\u031a\1\u035c\1\u039e\1\u03e0\1\u0422\1\u0464" + "\1\u04a6\1\u04e8\1\u052a\1\u056c\1\u05ae\1\u05f0\1\u0632\1\u0674" + "\1\u06b6\1\u06f8\1\u073a\1\u077c\1\u07be\1\u0800\1\u0842\1\u0884" @@ -284,14 +288,14 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { + "\1\u4412\1\u4454\1\u4496\1\u44d8\1\u451a\1\u455c\1\u459e\1\u45e0" + "\1\u4622\1\u4664\1\u46a6\1\u46e8\1\u472a\1\u476c\1\u47ae\1\u47f0" + "\1\u4832\1\u4874\1\u48b6\1\u48f8\1\u493a\1\u497c\1\u49be\1\u4a00" + "\1\u4a42"; - + private static int[] zzUnpackRowMap() { int[] result = new int[1321]; 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 */ @@ -302,17 +306,18 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\7\2\10\1\11\1\12\1\13\1\11\1\14\1\15" + "\1\16\1\7\1\17\1\20\1\21\1\22\1\23\1\16" - + "\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33" + "\1\34\1\7\1\35\1\36\1\37\2\23\1\40\1\23" - + "\1\41\1\42\1\43\1\42\2\34\1\7\1\44\1\7" + "\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54" - + "\1\55\1\56\1\57\2\10\1\60\1\61\3\11\1\7" + "\1\62\1\30\1\45\1\50\10\63\1\64\1\63\1\65" - + "\1\66\1\63\1\67\64\63\12\70\1\71\1\66\1\70" + "\1\72\33\70\1\73\30\70\12\74\1\75\1\76\1\74" - + "\1\77\60\74\1\100\3\74\15\101\1\102\1\101\1\103" + "\5\101\1\104\25\101\1\105\2\101\1\106\20\101\1\107" + private static final String ZZ_TRANS_PACKED_0 = "\1\7\2\10\1\11\1\12\1\13\1\11\1\14\1\15" + + "\1\16\1\7\1\17\1\20\1\21\1\22\1\23\1\16" + "\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33" + + "\1\34\1\7\1\35\1\36\1\37\2\23\1\40\1\23" + "\1\41\1\42\1\43\1\42\2\34\1\7\1\44\1\7" + + "\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54" + "\1\55\1\56\1\57\2\10\1\60\1\61\3\11\1\7" + + "\1\62\1\30\1\45\1\50\10\63\1\64\1\63\1\65" + "\1\66\1\63\1\67\64\63\12\70\1\71\1\66\1\70" + + "\1\72\33\70\1\73\30\70\12\74\1\75\1\76\1\74" + "\1\77\60\74\1\100\3\74\15\101\1\102\1\101\1\103" + + "\5\101\1\104\25\101\1\105\2\101\1\106\20\101\1\107" + "\1\110\1\111\15\112\1\113\7\112\1\114\25\112\1\115" + "\2\112\1\116\20\112\1\117\1\120\1\121\103\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" + "\3\10\3\123\2\11\1\123\1\11\1\123\1\0\3\123" + "\5\0\10\123\17\0\1\123\2\0\17\123\3\11\1\0" + "\10\123\1\124\1\123\1\124\1\123\1\0\3\123\5\0" @@ -409,7 +414,8 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { + "\1\0\1\10\1\u0123\5\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u0124\13\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\7\10\1\u0125\22\0\22\10\2\0\3\10\57\0\1\u0126" + "\45\0\1\u0127\3\0\1\u0128\27\0\1\u0129\1\u012a\103\0" - + "\1\u012b\106\0\1\u012c\40\0\1\u012d\100\0\1\u012e\31\0" + "\1\u012f\17\0\1\u012e\30\0\1\u0130\135\0\1\u0131\43\0" + + "\1\u012b\106\0\1\u012c\40\0\1\u012d\100\0\1\u012e\31\0" + + "\1\u012f\17\0\1\u012e\30\0\1\u0130\135\0\1\u0131\43\0" + "\1\u0132\103\0\1\u0133\77\0\1\u0134\56\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\7\10\1\u0135\1\u0136" + "\11\10\2\0\3\10\1\0\6\10\1\134\2\0\1\122" + "\2\10\4\0\6\10\1\u0137\1\10\22\0\1\10\1\u0138" + "\3\10\1\u0139\1\10\1\u0138\12\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\7\10\1\u0104\22\0" @@ -448,193 +454,203 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { + "\5\0\3\u0174\1\0\7\305\2\0\1\u0175\2\305\4\0" + "\10\305\22\0\22\305\2\0\3\305\1\0\2\u0176\2\0" + "\1\u0176\1\0\1\u0176\3\0\2\u0176\4\0\10\u0176\22\0" + "\17\u0176\5\0\3\u0176\15\101\1\0\1\101\1\0\34\101" + "\1\u0177\22\101\3\0\15\101\1\0\1\101\1\0\7\101" + "\1\u0178\47\101\3\0\15\101\1\0\1\101\1\0\2\101" - + "\1\u0179\54\101\3\0\15\101\1\0\1\101\1\0\36\101" + "\1\u017a\20\101\2\0\1\u017b\56\0\1\u017b\22\0\1\u017b" + + "\1\u0179\54\101\3\0\15\101\1\0\1\101\1\0\36\101" + + "\1\u017a\20\101\2\0\1\u017b\56\0\1\u017b\22\0\1\u017b" + "\54\0\1\u017c\54\0\1\u017d\74\0\1\u017e\57\0\15\112" + "\1\0\36\112\1\u017f\22\112\3\0\15\112\1\0\11\112" - + "\1\u0180\47\112\3\0\15\112\1\0\4\112\1\u0181\54\112" + "\3\0\15\112\1\0\40\112\1\u0182\20\112\2\0\1\u0183" - + "\56\0\1\u0183\22\0\1\u0183\54\0\1\u0184\54\0\1\u0185" + "\74\0\1\u0186\62\0\4\u0187\15\0\3\u0187\31\0\1\u0187" - + "\1\0\1\u0187\7\0\3\u0187\2\0\1\u0187\3\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u0188" - + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u0189\15\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u018a" + "\6\10\22\0\1\134\21\10\2\0\1\10\1\134\1\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u018b" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\1\10\1\u018c\20\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\2\10\1\134\5\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u018d\4\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\4\10\1\u018e\15\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\11\10\1\160\10\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\3\10\1\u018f\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\4\10\1\u0190\15\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u0191" - + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\7\10\1\u0192\22\0\1\10\1\u0193" - + "\20\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\7\10\1\u018f\22\0\22\10\2\0\3\10\1\0" - + "\7\351\2\0\1\u0194\2\351\4\0\10\351\16\0\1\135" + "\3\0\22\351\2\0\3\351\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\4\10\1\u0195\15\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\6\10\1\u0196\13\10\2\0\3\10\1\0\6\10" + "\1\u0197\2\0\1\122\2\10\4\0\10\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\7\10\1\360\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u018f" + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\7\10\1\u0198\12\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u018f" - + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\7\10\1\u0199\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\2\10\1\u019a\17\10\2\0\3\10\14\0\1\u019b" - + "\66\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u019c" + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\3\10\1\u019d\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\1\10\1\u019e\6\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\1\10" - + "\1\u019f\20\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\6\10\1\u01a0\13\10\2\0" - + "\3\10\1\0\6\10\1\u01a1\2\0\1\122\2\10\4\0" + "\10\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\7\10\1\u01a2\12\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\3\10\1\u01a3\4\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\5\10\1\253\2\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\7\10\1\u01a4\12\10\2\0" - + "\3\10\1\0\6\10\1\u01a5\2\0\1\122\2\10\4\0" + "\10\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u01a6\17\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\1\u0113\21\10\2\0\1\10\1\u0113\1\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\2\10\1\277\17\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\5\10\1\u01a7\14\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\5\10\1\u01a8\2\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\1\u013c" + "\21\10\2\0\1\10\1\u013c\1\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\11\10\1\u01a9\10\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\5\10\1\u01aa\14\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\7\10\1\365\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\7\10\1\u01ab\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u01ac\4\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\7\10\1\u01ad\12\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\5\10\1\u0152\14\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\2\10\1\u0172\5\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\6\10\1\u01ae\13\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\1\u01af\21\10\2\0\1\10\1\u01af\1\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\6\10\1\u01b0" + "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\5\10\1\u01b1\2\10\22\0\22\10\2\0\3\10" + "\1\0\4\10\1\u01b2\2\10\2\0\1\122\2\10\4\0" - + "\7\10\1\u01b3\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u01b4" - + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\1\10\1\134\6\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\10\10\1\u01b5\11\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\3\10\1\u01b6\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\7\10\1\u01b7\12\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u01b8\5\10" - + "\1\u01b9\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\7\10\1\u01ba\22\0\5\10\1\u01bb" - + "\14\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\6\10\1\u01bc\1\10\22\0\5\10\1\u01bd\14\10" - + "\2\0\3\10\1\0\4\10\1\u01be\2\10\2\0\1\122" + "\2\10\4\0\2\10\1\u013d\1\u013e\1\u01bf\1\u01c0\1\10" - + "\1\u01c1\22\0\1\10\1\u01c2\1\10\1\u01c3\1\10\1\u01c4" + "\1\u01c5\1\u01c6\12\10\2\0\1\u01bf\1\10\1\u01c3\1\0" - + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u01c7\5\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\7\10\1\u01c8\12\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" - + "\1\u01c9\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\242\4\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\1\10\1\u01ca\6\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\3\10\1\u01cb\16\10\2\0\2\10\1\u01cb\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\5\10\1\u01cc" + "\14\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\3\10\1\u01cd\4\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\u01ce" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\6\10\1\u01cf\13\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u01d0\6\10\22\0\22\10\2\0\3\10\62\0\1\u01d1" - + "\42\0\1\u01d2\106\0\1\u01d3\133\0\1\u01d4\72\0\1\u01d5" + "\24\0\1\u01d5\63\0\1\u01d6\47\0\1\u01d7\131\0\1\u01d8" - + "\100\0\1\u0126\2\0\1\u01d1\47\0\1\u01d9\27\0\1\u01da" + "\44\0\1\u01db\103\0\1\u01dc\51\0\1\u01dc\62\0\1\u01dd" - + "\44\0\1\u01de\57\0\7\10\2\0\1\122\2\10\4\0" + "\3\10\1\u01df\4\10\22\0\7\10\1\u01e0\12\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\1\u01e1\21\10\2\0\1\10\1\u01e1\1\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\11\10" + "\1\134\10\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\7\10\1\134\12\10\2\0" + "\3\10\1\0\6\10\1\134\2\0\1\122\2\10\4\0" - + "\2\10\1\134\5\10\22\0\5\10\1\134\14\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" - + "\1\u013c\4\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\10\10\1\u01e2" - + "\11\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\3\10\1\u01e3\4\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u01e4" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u01e5\17\10" + "\2\0\3\10\1\0\4\10\1\176\2\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u01e6\4\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\2\10\1\u01e7\17\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\4\10" + "\1\u01e8\3\10\22\0\5\10\1\u01e9\1\242\13\10\2\0" - + "\1\u01e8\2\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\10\1\u01ea\6\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u01eb\6\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\4\10\1\u013c\15\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" - + "\1\u01ec\4\10\22\0\22\10\2\0\3\10\1\0\4\10" + "\1\u01ed\2\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\10\10\1\u01ee\11\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\6\10\1\134\13\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\5\10\1\u01ef\2\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\13\10\1\134\6\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u01f0\4\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\1\10\1\u01f1\6\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\7\10\1\u01f2\12\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\3\10\1\u01f3\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\11\10\1\u01f4\10\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\134" - + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\2\10\1\u01f5\5\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\10\1\u018a\6\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\5\10\1\u01f6\2\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\5\10\1\u01f7\14\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" - + "\1\132\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\6\10\1\u01f8\1\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\1\10\1\u01f9\6\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u01fa" + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\5\10\1\u01fb\14\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\4\10\1\u01fc\15\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" - + "\1\u01fd\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\14\10\1\u01fe\5\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u01ff\6\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\1\10\1\u0200" + "\20\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\4\10\1\u0201\3\10\22\0\22\10\2\0\1\u0201" + "\2\10\1\0\7\10\2\0\1\122\2\10\4\0\6\10" - + "\1\u0202\1\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\5\10\1\u0203\2\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\3\10\1\u0204\4\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u01b8" + "\1\10\1\u0205\3\10\1\u0206\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u0207" + "\2\10\1\u0208\1\10\1\u0209\1\10\22\0\3\10\1\u020a" - + "\1\10\1\u020b\1\10\1\u020c\12\10\2\0\1\u0208\1\10" + "\1\u020a\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\6\10\1\u013c\13\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\1\10\1\u020d\1\u020e\2\10" - + "\1\u020f\1\10\1\u0210\22\0\2\10\1\u0211\3\10\1\u0212" + "\1\u0213\4\10\1\u0214\5\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\7\10\1\u0215\22\0\22\10" + "\2\0\3\10\1\0\6\10\1\u01f4\2\0\1\122\2\10" - + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\5\10\1\u0216" - + "\14\10\2\0\3\10\1\0\4\10\1\134\2\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\7\10\1\u0217\12\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\3\10\1\u0218\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\2\10\1\u0219\5\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" - + "\1\u021a\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\3\10\1\u021b\4\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u013c\6\10\22\0\22\10\2\0\3\10\7\0\1\u021c" - + "\73\0\7\u0174\2\0\1\u021d\2\u0174\4\0\10\u0174\16\0" + "\1\u021e\3\0\22\u0174\2\0\3\u0174\7\0\1\u021f\73\0" - + "\7\u0176\2\0\1\u0220\2\u0176\4\0\10\u0176\16\0\1\u0221" + "\3\0\22\u0176\2\0\3\u0176\15\101\1\0\1\101\1\0" - + "\25\101\1\u0222\31\101\3\0\15\101\1\0\1\101\1\0" + "\4\101\1\u0177\52\101\3\0\15\101\1\0\1\101\1\0" - + "\34\101\1\u0223\22\101\3\0\15\101\1\0\1\101\1\0" + "\12\101\1\u0224\44\101\35\0\1\u0225\114\0\1\u0226\60\0" - + "\1\u017c\131\0\1\u0227\25\0\15\112\1\0\27\112\1\u0228" + "\31\112\3\0\15\112\1\0\6\112\1\u017f\52\112\3\0" - + "\15\112\1\0\36\112\1\u0229\22\112\3\0\15\112\1\0" + "\14\112\1\u022a\44\112\35\0\1\u022b\114\0\1\u022c\60\0" - + "\1\u0184\131\0\1\u022d\30\0\4\u022e\15\0\3\u022e\31\0" + "\1\u022e\1\0\1\u022e\7\0\3\u022e\2\0\1\u022e\3\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\7\10" + "\1\u022f\12\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\10\10\1\u0230\11\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\6\10\1\u0137\13\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\5\10\1\u0231\2\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\20\10\1\134\1\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\10\10\1\375\11\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\7\10\1\u0232\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\7\10\1\u0233\12\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\10\10\1\u0234" - + "\11\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\2\10\1\u0235\5\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u0236" + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\2\10\1\u0237\5\10\22\0\22\10" + "\2\0\3\10\7\0\1\u0238\73\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\7\10\1\u0239\12\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\10\10\1\u023a\11\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\10\10\1\u023b" - + "\11\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\13\10\1\u023c\6\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\5\10\1\u023d\14\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\14\10\1\u023e\5\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\6\10\1\u023f\13\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" - + "\1\u0240\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\6\10\1\u0172\13\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" + "\1\u0146\5\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\2\10\1\u0241\1\u0242\4\10" + "\22\0\2\10\1\u0243\3\10\1\u023f\13\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u0244" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\6\10\1\u0245\1\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\3\10\1\u0246\4\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" - + "\1\u0247\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\7\10\1\u0248\22\0\3\10\1\u0249\16\10" - + "\2\0\2\10\1\u0249\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u024a\15\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u024b" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\1\10\1\u024c\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\1\u024d\21\10\2\0\1\10\1\u024d\1\10" + "\1\0\1\10\1\u024e\5\10\2\0\1\122\2\10\4\0" - + "\2\10\1\u024f\1\u0250\3\10\1\u0251\22\0\3\10\1\u0252" + "\1\10\1\u0253\1\u0254\13\10\2\0\2\10\1\u0252\1\0" - + "\7\10\2\0\1\122\2\10\4\0\4\10\1\u0255\3\10" + "\22\0\3\10\1\u0142\1\u01b8\1\u0253\14\10\2\0\1\u0255" - + "\1\10\1\u0142\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\5\10\1\u0256\14\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + "\1\u0257\17\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\3\10\1\u0258\16\10\2\0" + "\2\10\1\u0258\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\14\10\1\u0259\5\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u025a\5\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\2\10\1\u025b\17\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\4\10\1\134\15\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\7\10\1\u025c\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\4\10\1\u025d\15\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\6\10\1\u025e\1\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\3\10\1\u025f\4\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" + "\1\u0172\4\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\3\10\1\u0106\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\5\10\1\u0260\2\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u0146" - + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\1\10\1\u0261\7\10" - + "\1\u0262\10\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\2\10\1\u025a\5\10\22\0\13\10\1\u0263" - + "\6\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\2\10\1\u0264\3\10\1\u0265\13\10" - + "\2\0\3\10\1\0\6\10\1\u0266\2\0\1\122\2\10" + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\1\10\1\u0267\6\10\22\0" + "\1\u0268\21\10\2\0\1\10\1\u0268\1\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\6\10\1\u0269\1\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\2\10\1\u026a\17\10\2\0\3\10" + "\1\0\6\10\1\u026b\2\0\1\122\2\10\4\0\10\10" - + "\22\0\6\10\1\u026c\13\10\2\0\3\10\1\0\6\10" + "\1\u026d\2\0\1\122\2\10\4\0\10\10\22\0\15\10" - + "\1\u026e\4\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\3\10\1\u026f\1\10\1\u0270\2\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\5\10\1\u0271\14\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\11\10\1\u0272\10\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u0273\17\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\1\134\7\10\22\0\22\10\2\0\3\10\1\0\6\10" + "\1\u0274\2\0\1\122\2\10\4\0\10\10\22\0\2\10" - + "\1\u0275\1\u0142\16\10\2\0\2\10\1\u0142\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u0276\4\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u0277\15\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\1\u0278\21\10\2\0\1\10\1\u0278\1\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\1\10\1\u0279\6\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\3\10\1\u0137\4\10\22\0\22\10\2\0\3\10" + "\24\0\1\u027a\136\0\1\u027b\44\0\1\u0131\132\0\1\u027a" - + "\105\0\1\u0131\74\0\1\u027c\1\u027d\46\0\1\u027e\145\0" + "\1\u027f\37\0\1\u0280\104\0\1\u0281\131\0\1\u0282\77\0" + + "\1\u0180\47\112\3\0\15\112\1\0\4\112\1\u0181\54\112" + + "\3\0\15\112\1\0\40\112\1\u0182\20\112\2\0\1\u0183" + + "\56\0\1\u0183\22\0\1\u0183\54\0\1\u0184\54\0\1\u0185" + + "\74\0\1\u0186\62\0\4\u0187\15\0\3\u0187\31\0\1\u0187" + "\1\0\1\u0187\7\0\3\u0187\2\0\1\u0187\3\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u0188" + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\4\10\1\u0189\15\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u018a" + + "\6\10\22\0\1\134\21\10\2\0\1\10\1\134\1\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u018b" + + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\1\10\1\u018c\20\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\2\10\1\134\5\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u018d\4\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\4\10\1\u018e\15\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\11\10\1\160\10\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u018f\4\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u0190\15\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u0191" + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\7\10\1\u0192\22\0\1\10\1\u0193" + "\20\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\7\10\1\u018f\22\0\22\10\2\0\3\10\1\0" + "\7\351\2\0\1\u0194\2\351\4\0\10\351\16\0\1\135" + + "\3\0\22\351\2\0\3\351\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\4\10\1\u0195\15\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\6\10\1\u0196\13\10\2\0\3\10\1\0\6\10" + + "\1\u0197\2\0\1\122\2\10\4\0\10\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\7\10\1\360\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u018f" + + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\7\10\1\u0198\12\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u018f" + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\7\10\1\u0199\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\2\10\1\u019a\17\10\2\0\3\10\14\0\1\u019b" + "\66\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u019c" + + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u019d\4\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\10\1\u019e\6\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\1\10" + "\1\u019f\20\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\6\10\1\u01a0\13\10\2\0" + "\3\10\1\0\6\10\1\u01a1\2\0\1\122\2\10\4\0" + + "\10\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\7\10\1\u01a2\12\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\3\10\1\u01a3\4\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\5\10\1\253\2\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\7\10\1\u01a4\12\10\2\0" + "\3\10\1\0\6\10\1\u01a5\2\0\1\122\2\10\4\0" + + "\10\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u01a6\17\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\1\u0113\21\10\2\0\1\10\1\u0113\1\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\2\10\1\277\17\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\5\10\1\u01a7\14\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\5\10\1\u01a8\2\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\1\u013c" + + "\21\10\2\0\1\10\1\u013c\1\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\11\10\1\u01a9\10\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\5\10\1\u01aa\14\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\7\10\1\365\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\7\10\1\u01ab\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u01ac\4\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\7\10\1\u01ad\12\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\5\10\1\u0152\14\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\2\10\1\u0172\5\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\6\10\1\u01ae\13\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\1\u01af\21\10\2\0\1\10\1\u01af\1\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\6\10\1\u01b0" + + "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\5\10\1\u01b1\2\10\22\0\22\10\2\0\3\10" + + "\1\0\4\10\1\u01b2\2\10\2\0\1\122\2\10\4\0" + "\7\10\1\u01b3\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u01b4" + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\1\10\1\134\6\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\10\10\1\u01b5\11\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u01b6\4\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\7\10\1\u01b7\12\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u01b8\5\10" + "\1\u01b9\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\7\10\1\u01ba\22\0\5\10\1\u01bb" + "\14\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\6\10\1\u01bc\1\10\22\0\5\10\1\u01bd\14\10" + "\2\0\3\10\1\0\4\10\1\u01be\2\10\2\0\1\122" + + "\2\10\4\0\2\10\1\u013d\1\u013e\1\u01bf\1\u01c0\1\10" + + "\1\u01c1\22\0\1\10\1\u01c2\1\10\1\u01c3\1\10\1\u01c4" + + "\1\u01c5\1\u01c6\12\10\2\0\1\u01bf\1\10\1\u01c3\1\0" + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u01c7\5\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\7\10\1\u01c8\12\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u01c9\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\3\10\1\242\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\1\10\1\u01ca\6\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\3\10\1\u01cb\16\10\2\0\2\10\1\u01cb\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\5\10\1\u01cc" + + "\14\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\3\10\1\u01cd\4\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\u01ce" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\6\10\1\u01cf\13\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + + "\1\u01d0\6\10\22\0\22\10\2\0\3\10\62\0\1\u01d1" + + "\42\0\1\u01d2\106\0\1\u01d3\133\0\1\u01d4\72\0\1\u01d5" + + "\24\0\1\u01d5\63\0\1\u01d6\47\0\1\u01d7\131\0\1\u01d8" + + "\100\0\1\u0126\2\0\1\u01d1\47\0\1\u01d9\27\0\1\u01da" + + "\44\0\1\u01db\103\0\1\u01dc\51\0\1\u01dc\62\0\1\u01dd" + "\44\0\1\u01de\57\0\7\10\2\0\1\122\2\10\4\0" + + "\3\10\1\u01df\4\10\22\0\7\10\1\u01e0\12\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\1\u01e1\21\10\2\0\1\10\1\u01e1\1\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\11\10" + + "\1\134\10\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\7\10\1\134\12\10\2\0" + + "\3\10\1\0\6\10\1\134\2\0\1\122\2\10\4\0" + "\2\10\1\134\5\10\22\0\5\10\1\134\14\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" + "\1\u013c\4\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\10\10\1\u01e2" + "\11\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\3\10\1\u01e3\4\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u01e4" + + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u01e5\17\10" + + "\2\0\3\10\1\0\4\10\1\176\2\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u01e6\4\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\2\10\1\u01e7\17\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\4\10" + + "\1\u01e8\3\10\22\0\5\10\1\u01e9\1\242\13\10\2\0" + "\1\u01e8\2\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\1\10\1\u01ea\6\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u01eb\6\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\4\10\1\u013c\15\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" + "\1\u01ec\4\10\22\0\22\10\2\0\3\10\1\0\4\10" + + "\1\u01ed\2\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\10\10\1\u01ee\11\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\6\10\1\134\13\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\5\10\1\u01ef\2\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\13\10\1\134\6\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u01f0\4\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\1\10\1\u01f1\6\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\7\10\1\u01f2\12\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u01f3\4\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\11\10\1\u01f4\10\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\134" + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\2\10\1\u01f5\5\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\1\10\1\u018a\6\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\5\10\1\u01f6\2\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\5\10\1\u01f7\14\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\132\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\6\10\1\u01f8\1\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\1\10\1\u01f9\6\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u01fa" + + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\5\10\1\u01fb\14\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\4\10\1\u01fc\15\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u01fd\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\14\10\1\u01fe\5\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + + "\1\u01ff\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\1\10\1\u0200" + + "\20\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\4\10\1\u0201\3\10\22\0\22\10\2\0\1\u0201" + + "\2\10\1\0\7\10\2\0\1\122\2\10\4\0\6\10" + "\1\u0202\1\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\5\10\1\u0203\2\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\3\10\1\u0204\4\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u01b8" + + "\1\10\1\u0205\3\10\1\u0206\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u0207" + + "\2\10\1\u0208\1\10\1\u0209\1\10\22\0\3\10\1\u020a" + "\1\10\1\u020b\1\10\1\u020c\12\10\2\0\1\u0208\1\10" + + "\1\u020a\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\6\10\1\u013c\13\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\1\10\1\u020d\1\u020e\2\10" + "\1\u020f\1\10\1\u0210\22\0\2\10\1\u0211\3\10\1\u0212" + + "\1\u0213\4\10\1\u0214\5\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\7\10\1\u0215\22\0\22\10" + + "\2\0\3\10\1\0\6\10\1\u01f4\2\0\1\122\2\10" + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\5\10\1\u0216" + "\14\10\2\0\3\10\1\0\4\10\1\134\2\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\7\10\1\u0217\12\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u0218\4\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\2\10\1\u0219\5\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u021a\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\3\10\1\u021b\4\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + + "\1\u013c\6\10\22\0\22\10\2\0\3\10\7\0\1\u021c" + "\73\0\7\u0174\2\0\1\u021d\2\u0174\4\0\10\u0174\16\0" + + "\1\u021e\3\0\22\u0174\2\0\3\u0174\7\0\1\u021f\73\0" + + "\7\u0176\2\0\1\u0220\2\u0176\4\0\10\u0176\16\0\1\u0221" + + "\3\0\22\u0176\2\0\3\u0176\15\101\1\0\1\101\1\0" + "\25\101\1\u0222\31\101\3\0\15\101\1\0\1\101\1\0" + + "\4\101\1\u0177\52\101\3\0\15\101\1\0\1\101\1\0" + "\34\101\1\u0223\22\101\3\0\15\101\1\0\1\101\1\0" + + "\12\101\1\u0224\44\101\35\0\1\u0225\114\0\1\u0226\60\0" + + "\1\u017c\131\0\1\u0227\25\0\15\112\1\0\27\112\1\u0228" + + "\31\112\3\0\15\112\1\0\6\112\1\u017f\52\112\3\0" + "\15\112\1\0\36\112\1\u0229\22\112\3\0\15\112\1\0" + + "\14\112\1\u022a\44\112\35\0\1\u022b\114\0\1\u022c\60\0" + + "\1\u0184\131\0\1\u022d\30\0\4\u022e\15\0\3\u022e\31\0" + + "\1\u022e\1\0\1\u022e\7\0\3\u022e\2\0\1\u022e\3\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\7\10" + + "\1\u022f\12\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\10\10\1\u0230\11\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\6\10\1\u0137\13\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\5\10\1\u0231\2\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\20\10\1\134\1\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\10\10\1\375\11\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\7\10\1\u0232\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\7\10\1\u0233\12\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\10\10\1\u0234" + "\11\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\2\10\1\u0235\5\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u0236" + + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\2\10\1\u0237\5\10\22\0\22\10" + + "\2\0\3\10\7\0\1\u0238\73\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\7\10\1\u0239\12\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\10\10\1\u023a\11\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\10\10\1\u023b" + "\11\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\13\10\1\u023c\6\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\5\10\1\u023d\14\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\14\10\1\u023e\5\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\6\10\1\u023f\13\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u0240\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\6\10\1\u0172\13\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" + + "\1\u0146\5\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\2\10\1\u0241\1\u0242\4\10" + + "\22\0\2\10\1\u0243\3\10\1\u023f\13\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u0244" + + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\6\10\1\u0245\1\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\3\10\1\u0246\4\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u0247\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\7\10\1\u0248\22\0\3\10\1\u0249\16\10" + "\2\0\2\10\1\u0249\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\4\10\1\u024a\15\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u024b" + + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u024c\6\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\1\u024d\21\10\2\0\1\10\1\u024d\1\10" + + "\1\0\1\10\1\u024e\5\10\2\0\1\122\2\10\4\0" + "\2\10\1\u024f\1\u0250\3\10\1\u0251\22\0\3\10\1\u0252" + + "\1\10\1\u0253\1\u0254\13\10\2\0\2\10\1\u0252\1\0" + "\7\10\2\0\1\122\2\10\4\0\4\10\1\u0255\3\10" + + "\22\0\3\10\1\u0142\1\u01b8\1\u0253\14\10\2\0\1\u0255" + "\1\10\1\u0142\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\5\10\1\u0256\14\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + + "\1\u0257\17\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\3\10\1\u0258\16\10\2\0" + + "\2\10\1\u0258\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\14\10\1\u0259\5\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u025a\5\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\2\10\1\u025b\17\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\4\10\1\134\15\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\7\10\1\u025c\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\4\10\1\u025d\15\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\6\10\1\u025e\1\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\3\10\1\u025f\4\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" + + "\1\u0172\4\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u0106\4\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\5\10\1\u0260\2\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u0146" + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\1\10\1\u0261\7\10" + "\1\u0262\10\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\2\10\1\u025a\5\10\22\0\13\10\1\u0263" + "\6\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\2\10\1\u0264\3\10\1\u0265\13\10" + "\2\0\3\10\1\0\6\10\1\u0266\2\0\1\122\2\10" + + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\1\10\1\u0267\6\10\22\0" + + "\1\u0268\21\10\2\0\1\10\1\u0268\1\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\6\10\1\u0269\1\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\2\10\1\u026a\17\10\2\0\3\10" + + "\1\0\6\10\1\u026b\2\0\1\122\2\10\4\0\10\10" + "\22\0\6\10\1\u026c\13\10\2\0\3\10\1\0\6\10" + + "\1\u026d\2\0\1\122\2\10\4\0\10\10\22\0\15\10" + "\1\u026e\4\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\3\10\1\u026f\1\10\1\u0270\2\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\5\10\1\u0271\14\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\11\10\1\u0272\10\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u0273\17\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\134\7\10\22\0\22\10\2\0\3\10\1\0\6\10" + + "\1\u0274\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + "\1\u0275\1\u0142\16\10\2\0\2\10\1\u0142\1\0\7\10" + + "\2\0\1\122\2\10\4\0\3\10\1\u0276\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\4\10\1\u0277\15\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\1\u0278\21\10\2\0\1\10\1\u0278\1\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\1\10\1\u0279\6\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\3\10\1\u0137\4\10\22\0\22\10\2\0\3\10" + + "\24\0\1\u027a\136\0\1\u027b\44\0\1\u0131\132\0\1\u027a" + + "\105\0\1\u0131\74\0\1\u027c\1\u027d\46\0\1\u027e\145\0" + + "\1\u027f\37\0\1\u0280\104\0\1\u0281\131\0\1\u0282\77\0" + "\1\u0283\47\0\1\u0284\63\0\1\u0285\75\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u01b4\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\3\10\1\u0286\4\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + "\1\u0287\17\10\2\0\3\10\1\0\4\10\1\u0288\2\10" @@ -685,15 +701,22 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { + "\10\10\22\0\10\10\1\u02bd\11\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u02be\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\11\10\1\u02bf\10\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + "\1\u02c0\22\0\22\10\2\0\3\10\3\0\4\u02c1\15\0" - + "\3\u02c1\31\0\1\u02c1\1\0\1\u02c1\7\0\3\u02c1\2\0" + "\1\u02c1\11\0\1\u02c2\75\0\4\u02c3\15\0\3\u02c3\31\0" + + "\3\u02c1\31\0\1\u02c1\1\0\1\u02c1\7\0\3\u02c1\2\0" + + "\1\u02c1\11\0\1\u02c2\75\0\4\u02c3\15\0\3\u02c3\31\0" + "\1\u02c3\1\0\1\u02c3\7\0\3\u02c3\2\0\1\u02c3\11\0" + "\1\u02c4\72\0\14\101\1\u02c5\1\0\1\101\1\0\57\101" - + "\3\0\15\101\1\0\1\101\1\0\10\101\1\u0177\14\101" + "\1\u0222\31\101\3\0\1\101\7\u0224\1\101\1\u0224\1\101" - + "\2\u0224\1\0\1\101\1\u02c6\15\u0224\1\101\1\u0224\2\101" + "\5\u0224\2\101\25\u0224\2\101\3\u0225\1\0\1\u0225\1\u02c6" - + "\5\u0225\1\0\1\u02c6\1\0\2\u0225\2\0\2\u02c6\10\u0225" + "\4\u02c6\1\0\1\u02c6\2\0\5\u02c6\2\0\3\u02c6\22\u0225" + + "\3\0\15\101\1\0\1\101\1\0\10\101\1\u0177\14\101" + + "\1\u0222\31\101\3\0\1\101\7\u0224\1\101\1\u0224\1\101" + + "\2\u0224\1\0\1\101\1\u02c6\15\u0224\1\101\1\u0224\2\101" + + "\5\u0224\2\101\25\u0224\2\101\3\u0225\1\0\1\u0225\1\u02c6" + + "\5\u0225\1\0\1\u02c6\1\0\2\u0225\2\0\2\u02c6\10\u0225" + + "\4\u02c6\1\0\1\u02c6\2\0\5\u02c6\2\0\3\u02c6\22\u0225" + "\2\0\3\u0225\14\0\1\u02c7\115\0\1\u017c\14\0\1\u0226" + "\34\0\14\112\1\u02c8\1\0\61\112\3\0\15\112\1\0" - + "\12\112\1\u017f\14\112\1\u0228\31\112\3\0\1\112\7\u022a" + "\1\112\1\u022a\1\112\2\u022a\1\0\1\112\16\u022a\1\112" - + "\1\u022a\2\112\5\u022a\2\112\25\u022a\2\112\3\u022b\1\0" + "\1\u022b\1\u02c9\5\u022b\1\0\1\u02c9\1\0\2\u022b\2\0" - + "\2\u02c9\10\u022b\4\u02c9\1\0\1\u02c9\2\0\5\u02c9\2\0" + "\3\u02c9\22\u022b\2\0\3\u022b\14\0\1\u02ca\115\0\1\u0184" + + "\12\112\1\u017f\14\112\1\u0228\31\112\3\0\1\112\7\u022a" + + "\1\112\1\u022a\1\112\2\u022a\1\0\1\112\16\u022a\1\112" + + "\1\u022a\2\112\5\u022a\2\112\25\u022a\2\112\3\u022b\1\0" + + "\1\u022b\1\u02c9\5\u022b\1\0\1\u02c9\1\0\2\u022b\2\0" + + "\2\u02c9\10\u022b\4\u02c9\1\0\1\u02c9\2\0\5\u02c9\2\0" + + "\3\u02c9\22\u022b\2\0\3\u022b\14\0\1\u02ca\115\0\1\u0184" + "\14\0\1\u022c\37\0\4\u02cb\15\0\3\u02cb\31\0\1\u02cb" + "\1\0\1\u02cb\7\0\3\u02cb\2\0\1\u02cb\3\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u02cc" + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\1\10\1\u02cd\6\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" @@ -756,7 +779,8 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\10\1\u0309\6\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u030a\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\1\134\21\10\2\0\1\10" + "\1\134\1\10\25\0\1\u0131\51\0\1\u0131\25\0\1\u0131" - + "\105\0\1\u030b\131\0\1\u030c\46\0\1\u030d\130\0\1\u030e" + "\24\0\1\u030e\24\0\1\u030f\65\0\1\u0310\147\0\1\u0311" + + "\105\0\1\u030b\131\0\1\u030c\46\0\1\u030d\130\0\1\u030e" + + "\24\0\1\u030e\24\0\1\u030f\65\0\1\u0310\147\0\1\u0311" + "\103\0\1\u01d3\103\0\1\u0312\101\0\1\u0128\21\0\7\10" + "\2\0\1\122\2\10\4\0\7\10\1\u0113\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\4\10\1\164\15\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u0313\13\10\2\0\3\10\1\0\7\10\2\0\1\122" @@ -862,410 +886,411 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { + "\1\u0380\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u0381\4\10\22\0\22\10" + "\2\0\3\10\1\0\6\10\1\u0382\2\0\1\122\2\10" + "\4\0\6\10\1\u0383\1\10\22\0\2\10\1\u0384\17\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\3\10\1\u0385\16\10\2\0\2\10\1\u0385" - + "\7\0\1\u0386\152\0\1\u0387\105\0\1\u0131\77\0\1\u027b" + "\41\0\1\u0388\141\0\1\u01d3\76\0\1\u0389\46\0\1\u038a" - + "\56\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\6\10\1\u038b\13\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\2\10\1\u038c\5\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\3\10\1\u038d\4\10\22\0\22\10\2\0\3\10\1\0" + "\6\10\1\u013c\2\0\1\122\2\10\4\0\10\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\1\10\1\u038e\20\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u014d" + "\1\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\6\10\1\u038f\1\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\6\10\1\u0390\13\10\2\0\3\10\1\0" + "\6\10\1\u0391\2\0\1\122\2\10\4\0\10\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\14\10\1\134\5\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u0152" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\3\10\1\u0299\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\4\10\1\u0392\15\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u0393\4\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\2\10\1\u0394\17\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\1\u0395\21\10\2\0\1\10\1\u0395\1\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\4\10\1\u0396\2\10" + "\1\u0397\22\0\7\10\1\u0398\12\10\2\0\1\u0396\2\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\5\10\1\u0364\14\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\7\10\1\u0399\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\2\10\1\u039a\3\10\1\u01ca\13\10\2\0\3\10" + "\1\0\6\10\1\u0360\2\0\1\122\2\10\4\0\10\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\6\10\1\u039b\1\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u039c\6\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\3\10\1\u039d\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\7\10\1\u0216\22\0\1\10\1\u039e\20\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" - + "\1\u024b\5\10\22\0\2\10\1\u039f\17\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\6\10\1\u0292\13\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\3\10\1\u013c\16\10" - + "\2\0\2\10\1\u013c\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\1\10\1\u03a0\20\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u03a1" + "\1\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\5\10\1\u03a2\14\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\3\10\1\u03a3\4\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u03a4\4\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\7\10\1\u03a5\12\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" + "\1\u03a6\5\10\22\0\2\10\1\u0377\17\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\15\10\1\u03a7\4\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u03a8\17\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\11\10\1\u03a9\10\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u03aa\5\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\2\10\1\u03ab\5\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\4\10" + "\1\u03ac\3\10\22\0\22\10\2\0\1\u03ac\2\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\4\10" + "\1\u03ad\15\10\2\0\3\10\1\0\4\10\1\u03ae\2\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\4\10\1\u03af\15\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u03b0\4\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\1\10\1\u03b1\6\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u03b2" + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\6\10\1\u03b3\1\10\22\0\22\10" + "\2\0\3\10\1\0\6\10\1\u03b4\2\0\1\122\2\10" - + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\5\10\1\u03b5\2\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\3\10\1\u03b6\4\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u03b7" + "\5\10\22\0\22\10\2\0\3\10\3\0\4\u03b8\15\0" - + "\3\u03b8\31\0\1\u03b8\1\0\1\u03b8\7\0\3\u03b8\2\0" + "\1\u03b8\5\0\4\u03b9\15\0\3\u03b9\31\0\1\u03b9\1\0" - + "\1\u03b9\7\0\3\u03b9\2\0\1\u03b9\5\0\4\u03ba\15\0" + "\3\u03ba\31\0\1\u03ba\1\0\1\u03ba\7\0\3\u03ba\2\0" - + "\1\u03ba\5\0\4\u03bb\15\0\3\u03bb\31\0\1\u03bb\1\0" + "\1\u03bb\7\0\3\u03bb\2\0\1\u03bb\3\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\10\10\1\u03bc\11\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\4\10\1\u03bd\3\10\22\0\22\10\2\0\1\u03bd\2\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u0265" - + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\6\10\1\u03be\1\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\5\10\1\240\2\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u03bf\13\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\10\10\1\u0152\11\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" - + "\1\u03c0\4\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\1\10\1\u03c1\6\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\2\10\1\u03c2\5\10\22\0\22\10\2\0\3\10" - + "\3\0\4\u03c3\15\0\3\u03c3\31\0\1\u03c3\1\0\1\u03c3" + "\7\0\3\u03c3\2\0\1\u03c3\3\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\11\10\1\u03c4\10\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" - + "\1\u03c5\2\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\7\10\1\u03c6\22\0\7\10" - + "\1\u03c7\12\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\7\10\1\u03c6\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u03c8" + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\1\10\1\u03c9\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\4\10\1\u03ca\15\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\13\10" - + "\1\u03cb\1\10\1\u03cc\4\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u03cd" - + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\2\10\1\u013c\17\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u03ce" + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\7\10\1\u03cf\12\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\6\10\1\u03d0\13\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\13\10" - + "\1\u013c\6\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\1\10\1\u03d1\6\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + "\1\u013a\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\7\10\1\u0172\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" - + "\1\u03d2\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u03d3\13\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\2\10\1\u03d4\17\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\4\10\1\u03d5\3\10" + "\22\0\22\10\2\0\1\u03d5\2\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\7\10\1\u03d6\12\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\2\10\1\u03d7\17\10\2\0\3\10\1\0" + "\4\10\1\u03d8\2\10\2\0\1\122\2\10\4\0\1\10" - + "\1\u01b8\2\10\1\u03d9\3\10\22\0\7\10\1\u03da\12\10" + "\2\0\1\u03d9\2\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\10\10\1\u03db\11\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u03dc" - + "\1\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\5\10\1\u03dd\2\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\5\10\1\u0253\14\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + "\1\u03de\17\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\6\10\1\u03df\1\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\2\10\1\u03e0\17\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\6\10\1\u03e1" - + "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u03e2\15\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u03e3" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\5\10\1\u03e4\2\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\3\10\1\u03e5\16\10\2\0\2\10\1\u03e5" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\2\10\1\u03e6\17\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\7\10\1\u03e7\22\0\22\10\2\0" - + "\3\10\1\0\4\10\1\u03e8\2\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\7\10\1\u034f\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\3\10\1\u03e9\3\10\1\u03ea\22\0\2\10\1\u0146\5\10" + "\1\u03ea\11\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\1\10\1\u03eb\6\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\u03ec" - + "\7\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\4\10\1\u03ed\15\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\6\10\1\u03ee\13\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\4\10" + "\1\u03ef\15\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\4\10\1\u03f0\4\10\1\u03f1" + "\10\10\2\0\3\10\63\0\1\u03f2\45\0\1\u03f3\136\0" - + "\1\u03f4\100\0\1\u0131\75\0\1\231\23\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u03f5\6\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\u03f6\7\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\3\10\1\u03f7\4\10\22\0" + "\22\10\2\0\3\10\1\0\4\10\1\u02bb\2\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\5\10\1\u03f8\1\10" + "\1\u03f9\12\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\10\10\1\u03fa\11\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\10\10\1\u03fb\11\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u03fc" - + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\10\10\1\u03fd\11\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\5\10\1\246\14\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u03fe\13\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\6\10\1\u0265\13\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\1\u03ff" - + "\21\10\2\0\1\10\1\u03ff\1\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u0400\17\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\10\1\375\6\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u0401\6\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\3\10\1\u038c\4\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" - + "\1\u0402\4\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u0403" - + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\2\10\1\u0404\5\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\4\10\1\u0405\15\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\4\10\1\u0406\3\10\22\0\22\10" + "\2\0\1\u0406\2\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\1\10\1\u0407\20\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u0408" - + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u0409\6\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\6\10\1\u040a\1\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u040b\13\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\3\10\1\u040c\4\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" - + "\1\u040d\4\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\1\10\1\u040e\6\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\6\10\1\u0286\13\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\14\10\1\u040f\5\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\1\10\1\u0410\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\6\10\1\u0411\13\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u0412\3\10" - + "\1\u023c\22\0\2\10\1\u0413\13\10\1\u0414\3\10\2\0" + "\3\10\1\0\6\10\1\u0415\2\0\1\122\2\10\4\0" - + "\10\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u02b7\13\10" - + "\2\0\3\10\1\0\4\10\1\u0416\2\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u0417\6\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\2\10\1\u0418\5\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" - + "\1\u0419\6\10\22\0\5\10\1\u041a\14\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\5\10\1\u041b\14\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\4\10\1\u041c\15\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\4\10\1\u03ec\15\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + "\1\u0260\17\10\2\0\3\10\3\0\4\303\15\0\3\303" - + "\31\0\1\303\1\0\1\303\7\0\3\303\2\0\1\303" + "\5\0\4\u041d\15\0\3\u041d\31\0\1\u041d\1\0\1\u041d" - + "\7\0\3\u041d\2\0\1\u041d\5\0\4\305\15\0\3\305" + "\31\0\1\305\1\0\1\305\7\0\3\305\2\0\1\305" - + "\5\0\4\u041e\15\0\3\u041e\31\0\1\u041e\1\0\1\u041e" + "\7\0\3\u041e\2\0\1\u041e\3\0\7\10\2\0\1\122" - + "\2\10\4\0\1\10\1\u01b8\6\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" - + "\1\u0396\5\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\6\10\1\u041f\1\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u0420\15\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\4\10\1\u0421\15\10\2\0\3\10\1\0\6\10\1\160" - + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" - + "\1\u0422\2\10\22\0\22\10\2\0\3\10\3\0\4\351" + "\15\0\3\351\31\0\1\351\1\0\1\351\7\0\3\351" - + "\2\0\1\351\3\0\7\10\2\0\1\122\2\10\4\0" + "\4\10\1\u028e\3\10\22\0\22\10\2\0\1\u028e\2\10" - + "\1\0\6\10\1\u0423\2\0\1\122\2\10\4\0\10\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\1\10\1\277\6\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\3\10\1\u0424\16\10\2\0\2\10\1\u0424\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\u0425\7\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\1\10\1\u0426\6\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\15\10\1\u0427\4\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\3\10\1\u0261\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\5\10\1\u0428\2\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u03e9\4\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\2\10\1\u0429\5\10\22\0\22\10\2\0" - + "\3\10\1\0\4\10\1\u042a\2\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\2\10\1\u03bc\5\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\3\10\1\u03cf\4\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\244" - + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u042b\6\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\1\10\1\u01fe\20\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\4\10\1\134\3\10" + "\22\0\22\10\2\0\1\134\2\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u042c\17\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\4\10\1\u042d\15\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\13\10" - + "\1\u0263\6\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\6\10\1\u042e\13\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" + "\1\u042f\2\10\22\0\22\10\2\0\3\10\1\0\6\10" - + "\1\u0430\2\0\1\122\2\10\4\0\10\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\6\10\1\277\13\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u0431\6\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\5\10\1\u0432\14\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\15\10\1\u0433\4\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u0434" + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\3\10\1\u0435\16\10\2\0\2\10" + "\1\u0435\1\0\7\10\2\0\1\122\2\10\4\0\7\10" - + "\1\u0436\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u0437\4\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\10\1\u0104\6\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u0438\5\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\6\10\1\u0439\1\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" - + "\1\u043a\2\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\6\10\1\u043b\1\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u043c\15\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u043d" + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\7\10\1\u043e\12\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\1\10\1\u038c\6\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" - + "\1\u0384\17\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\10\10\1\134\11\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + "\1\u043f\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u0440\13\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\5\10\1\u0441\2\10\22\0\2\10\1\u0442\17\10\2\0" + "\3\10\55\0\1\u0443\33\0\1\u0444\120\0\1\u0445\54\0" - + "\7\10\2\0\1\122\2\10\4\0\4\10\1\u0446\3\10" + "\22\0\22\10\2\0\1\u0446\2\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u0447\17\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\7\10\1\u0448\22\0\10\10\1\u0448\11\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\6\10\1\u0449\13\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u044a\17\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\2\10\1\u044b\5\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + "\1\u044c\17\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\4\10\1\u044d\15\10\2\0" + "\3\10\1\0\4\10\1\u044e\2\10\2\0\1\122\2\10" - + "\4\0\3\10\1\u044f\3\10\1\u03c6\22\0\7\10\1\u03c7" + "\12\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\3\10\1\134\16\10\2\0\2\10" + "\1\134\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\6\10\1\u0450\13\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\2\10\1\u0451\5\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\11\10\1\u0452\10\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\7\10\1\u03bc\12\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\1\10\1\u0453\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\2\10\1\u0265\17\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" - + "\1\u0454\17\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\2\10\1\u0455\17\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" + "\1\u0456\2\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u0457" + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\2\10\1\u0458\17\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u0459" - + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\3\10\1\u03bc\16\10" - + "\2\0\2\10\1\u03bc\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u045a\15\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u045b" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\3\10\1\u045c\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\2\10\1\u045d\5\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u045e\5\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\1\u045f\7\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\4\10\1\u0460\15\10\2\0\3\10\1\0\6\10\1\u0461" - + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" - + "\1\u0462\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\6\10\1\u0463" - + "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\6\10\1\u0464\13\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\u0465" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\2\10\1\u0466\5\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\6\10\1\u0467\13\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\1\10\1\u0468\6\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\14\10\1\u0469\5\10\2\0\3\10" - + "\3\0\4\u0174\15\0\3\u0174\31\0\1\u0174\1\0\1\u0174" + "\7\0\3\u0174\2\0\1\u0174\5\0\4\u0176\15\0\3\u0176" - + "\31\0\1\u0176\1\0\1\u0176\7\0\3\u0176\2\0\1\u0176" + "\3\0\4\10\1\u02bb\2\10\2\0\1\122\2\10\4\0" - + "\1\10\1\u01b8\5\10\1\u046a\22\0\2\10\1\u0394\2\10" + "\1\u01bb\14\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\4\10\1\u046b\3\10\22\0\22\10\2\0" + "\1\u046b\2\10\1\0\6\10\1\134\2\0\1\122\2\10" - + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\11\10\1\u01f0" - + "\10\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u046c\15\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\6\10\1\u046d\13\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\3\10\1\u046e\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\6\10\1\u046f\13\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\7\10\1\u0470\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\6\10\1\u0471\1\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\2\10\1\u0472\17\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\14\10\1\u0473\5\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\7\10\1\u0474\12\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\4\10" - + "\1\u0475\15\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\10\10\1\u0476\11\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" + "\1\u0477\5\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\1\10\1\u0478\6\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\5\10\1\u0479\2\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u047a" - + "\6\10\22\0\22\10\2\0\3\10\1\0\4\10\1\u03d8" + "\2\10\2\0\1\122\2\10\4\0\10\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\5\10\1\u047b\2\10\22\0\22\10\2\0\3\10\1\0" - + "\6\10\1\u047c\2\0\1\122\2\10\4\0\10\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\6\10\1\u047d\1\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u047e" - + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\7\10\1\u047f\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\2\10\1\u0473\17\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\7\10\1\u0480\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\15\10\1\u013a\4\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" - + "\1\u0481\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\7\10\1\u0482\12\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u0483\6\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\3\10\1\u0484\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\1\10\1\u0485\6\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u0151" - + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\u0486\7\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\4\10\1\u0486\15\10\2\0\3\10\57\0\1\u0487" - + "\104\0\1\u0488\77\0\1\u0489\22\0\7\10\2\0\1\122" + "\2\10\4\0\6\10\1\u048a\1\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + "\1\u03ec\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\3\10\1\u048b\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\6\10\1\u0289\1\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u048c\5\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\3\10\1\u048d\4\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\4\10\1\u048e\15\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\7\10\1\u048f\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\2\10\1\u0146\17\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\u0490\7\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\2\10\1\u0491\5\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u0492" + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\5\10\1\242\2\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\1\10\1\u01b8\5\10\1\134\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\u0493" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\6\10\1\u0494\1\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u0495\6\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\6\10\1\u0496" + "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\11\10\1\u0497\10\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\7\10\1\u0498\12\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u040a\6\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\7\10\1\u0499\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\11\10\1\u013c" + "\10\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\3\10\1\u049a\4\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u049b" - + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\5\10\1\u049c\14\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\4\10\1\u049d\3\10\22\0\22\10\2\0\1\u049d\2\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u049e" + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\1\10\1\u049f\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\1\u013c\7\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u03bc" - + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\2\10\1\u04a0\17\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u04a1" + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\1\10\1\u04a2\20\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\4\10\1\374\10\10\1\u04a3\4\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\4\10\1\374\15\10\2\0\3\10\1\0\6\10" + "\1\u04a4\2\0\1\122\2\10\4\0\10\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\2\10\1\u04a5\17\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\5\10" + "\1\u0279\14\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\2\10\1\u04a6\5\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\5\10\1\u04a7\14\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u01f0" - + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\1\10\1\u04a8\6\10\22\0\22\10\2\0\3\10" - + "\1\0\6\10\1\u013a\2\0\1\122\2\10\4\0\10\10" + "\22\0\22\10\2\0\3\10\1\0\4\10\1\u04a9\2\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" - + "\1\u013a\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u04aa" - + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\10\10\1\u04ab\11\10\2\0\3\10" - + "\1\0\6\10\1\242\2\0\1\122\2\10\4\0\10\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\5\10\1\u04ac\14\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" - + "\1\u013c\2\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\10\10\1\u02df" - + "\11\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\2\10\1\u04ad\5\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u04ae" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\4\10\1\u04af\15\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\6\10\1\u04b0\13\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u04b1\6\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\7\10\1\u04b2\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\1\10\1\u039e\13\10\1\u04b3\4\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\5\10" + "\1\u04b4\14\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\1\10\1\u01b8\2\10\1\u04b5\2\10\1\u01b3" + "\22\0\2\10\1\u04b6\17\10\2\0\1\u04b5\2\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u04b7\6\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\5\10\1\u01a4\2\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\2\10\1\u04b8\17\10\2\0\3\10\62\0\1\u04b9" + "\43\0\1\u0487\100\0\1\u01d5\57\0\7\10\2\0\1\122" - + "\2\10\4\0\5\10\1\u04ba\2\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" - + "\1\u03bc\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\2\10\1\u04bb\5\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\7\10\1\u04bc\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\7\10\1\164\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\1\10\1\u04bd\6\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\1\10\1\u04be\20\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u04bf\6\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\5\10\1\u04c0\14\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\1\10\1\277\1\10" + "\1\u04c1\4\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\3\10\1\u0469\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\1\u0469\21\10\2\0\1\10\1\u0469" + "\1\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\4\10\1\u040a\15\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u04c2\4\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\7\10\1\u04c3\12\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\2\10\1\u04c4\17\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\1\10\1\u04c5\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\10\10\1\u04c6\11\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\6\10\1\u04c7\1\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\6\10\1\u04c8\13\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + "\1\u04c9\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u04ca\13\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\10\10\22\0\6\10\1\u04cb\13\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\7\10" - + "\1\u04cc\12\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\14\10\1\u04cd\5\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" + "\1\u04ce\4\10\22\0\22\10\2\0\3\10\1\0\4\10" - + "\1\u04cf\2\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\2\10\1\u0137\5\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\7\10\1\u013c\12\10\2\0\3\10\1\0\6\10\1\u04d0" + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" + "\1\u04d1\5\10\22\0\22\10\2\0\3\10\1\0\6\10" - + "\1\u04d2\2\0\1\122\2\10\4\0\10\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\2\10\1\u03ed\5\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" - + "\1\u04d3\17\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\3\10\1\u04d4\4\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\2\10\1\u04d5\17\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\5\10\1\u0417" + "\14\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\6\10\1\u04d6\1\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\4\10\1\u04ba\15\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\14\10\1\u04d7\5\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\2\10\1\u04d8\17\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\13\10" + "\1\u04d9\6\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\6\10\1\u04da\1\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\4\10\1\u04db\15\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\5\10\1\u04dc\2\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\11\10\1\u04dd\10\10\2\0\3\10" - + "\55\0\1\u027b\25\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\10\10\1\u013c\11\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u04de\4\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\7\10\1\u04df\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u04e0" - + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\5\10\1\u04e1\2\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\5\10\1\u04e2\14\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u04e3\6\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\5\10\1\u013c\14\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\6\10" - + "\1\u04e4\1\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\2\10\1\u04e5\5\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\6\10\1\u04e6\13\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u04e7" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\2\10\1\u04e8\5\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\5\10\1\u04e9\2\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u04e9\5\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\1\10\1\u04ea\6\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\4\10\1\u04eb\15\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u04ec" + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\3\10\1\u04ed\4\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u04ee" - + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\2\10\1\u04ef\5\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\5\10\1\u01bb\14\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u04f0\6\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\2\10\1\u04f1\17\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" - + "\1\u04f2\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\11\10\1\u034f" - + "\10\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\7\10\1\u04f3\22\0\22\10\2\0\3\10\1\0" - + "\4\10\1\u04f4\2\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\6\10\1\u04f5\13\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\1\10\1\u013a\20\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u032e\4\10\22\0" - + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\6\10\1\u04f6\13\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u04f7" + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\7\10\1\u04f8\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\2\10\1\u04f9\17\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u04fa" - + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\10\10\1\u04ec\11\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\4\10\1\u04b5" + "\3\10\22\0\22\10\2\0\1\u04b5\2\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\6\10\1\u04fb\1\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\4\10\1\u04fc\15\10\2\0\3\10" + "\1\0\6\10\1\u0172\2\0\1\122\2\10\4\0\10\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\6\10\1\u04fd\13\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\6\10\1\u04fe\13\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\3\10\1\u04ff\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\4\10\1\u04c2\15\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\14\10\1\u0500\5\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u0501\13\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\11\10\1\u0502\10\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + "\1\u0503\17\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\17\10\3\134\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\13\10\1\u03cb\6\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\11\10\1\u0504\10\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\2\10\1\u0505\17\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\7\10\1\u01f9\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\10\10\22\0\2\10\1\u0506\17\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\4\10\1\u04f7\15\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u0507\4\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\3\10\1\u0508\4\10\22\0\22\10\2\0\3\10\1\0" - + "\6\10\1\u0509\2\0\1\122\2\10\4\0\10\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\5\10\1\u04a6\2\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\1\10\1\u050a\20\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\10\10\1\u038c\11\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\10\1\u050b\6\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\6\10\1\u038c\1\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\10\10\22\0\12\10\1\u02a1\7\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\6\10" - + "\1\u050c\1\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\7\10\1\u035a" - + "\12\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\2\10\1\u0261\5\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\5\10\1\u050d\14\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\7\10\1\u038c\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\2\10\1\u0149\17\10\2\0\3\10\1\0\6\10" + "\1\u050e\2\0\1\122\2\10\4\0\10\10\22\0\22\10" - + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\5\10\1\u04c9\2\10\22\0\22\10\2\0\3\10\1\0" - + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u01b4\13\10\2\0\3\10\1\0\7\10\2\0\1\122" - + "\2\10\4\0\5\10\1\u050f\2\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" - + "\22\0\10\10\1\u0510\11\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\6\10\1\u0511" - + "\13\10\2\0\3\10\1\0\1\10\1\u0512\5\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\22\10\2\0\3\10" - + "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u0513" + "\1\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" - + "\1\122\2\10\4\0\1\10\1\u039b\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" - + "\1\10\1\u0514\6\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u0515\6\10" - + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\3\10\1\277\4\10\22\0\22\10\2\0" - + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" + "\1\u0245\2\10\22\0\22\10\2\0\3\10\1\0\7\10" - + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u0138" + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" - + "\4\0\2\10\1\u0516\5\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" - + "\1\u03ec\21\10\2\0\1\10\1\u03ec\1\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u0517" - + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\1\10\1\u0518\1\u0519\2\10\1\u051a\1\10\1\u051b" + + "\7\0\1\u0386\152\0\1\u0387\105\0\1\u0131\77\0\1\u027b" + + "\41\0\1\u0388\141\0\1\u01d3\76\0\1\u0389\46\0\1\u038a" + "\56\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\6\10\1\u038b\13\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\2\10\1\u038c\5\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\3\10\1\u038d\4\10\22\0\22\10\2\0\3\10\1\0" + + "\6\10\1\u013c\2\0\1\122\2\10\4\0\10\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\1\10\1\u038e\20\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u014d" + + "\1\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\6\10\1\u038f\1\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\6\10\1\u0390\13\10\2\0\3\10\1\0" + + "\6\10\1\u0391\2\0\1\122\2\10\4\0\10\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\14\10\1\134\5\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u0152" + + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u0299\4\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\4\10\1\u0392\15\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u0393\4\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\2\10\1\u0394\17\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\1\u0395\21\10\2\0\1\10\1\u0395\1\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\4\10\1\u0396\2\10" + + "\1\u0397\22\0\7\10\1\u0398\12\10\2\0\1\u0396\2\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\5\10\1\u0364\14\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\7\10\1\u0399\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\2\10\1\u039a\3\10\1\u01ca\13\10\2\0\3\10" + + "\1\0\6\10\1\u0360\2\0\1\122\2\10\4\0\10\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\6\10\1\u039b\1\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + + "\1\u039c\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u039d\4\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\7\10\1\u0216\22\0\1\10\1\u039e\20\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" + "\1\u024b\5\10\22\0\2\10\1\u039f\17\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\6\10\1\u0292\13\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\3\10\1\u013c\16\10" + "\2\0\2\10\1\u013c\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\1\10\1\u03a0\20\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u03a1" + + "\1\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\5\10\1\u03a2\14\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\3\10\1\u03a3\4\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u03a4\4\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\7\10\1\u03a5\12\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" + + "\1\u03a6\5\10\22\0\2\10\1\u0377\17\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\15\10\1\u03a7\4\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u03a8\17\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\11\10\1\u03a9\10\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u03aa\5\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\2\10\1\u03ab\5\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\4\10" + + "\1\u03ac\3\10\22\0\22\10\2\0\1\u03ac\2\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\4\10" + + "\1\u03ad\15\10\2\0\3\10\1\0\4\10\1\u03ae\2\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\4\10\1\u03af\15\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\3\10\1\u03b0\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\1\10\1\u03b1\6\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u03b2" + + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\6\10\1\u03b3\1\10\22\0\22\10" + + "\2\0\3\10\1\0\6\10\1\u03b4\2\0\1\122\2\10" + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\5\10\1\u03b5\2\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\3\10\1\u03b6\4\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u03b7" + + "\5\10\22\0\22\10\2\0\3\10\3\0\4\u03b8\15\0" + "\3\u03b8\31\0\1\u03b8\1\0\1\u03b8\7\0\3\u03b8\2\0" + + "\1\u03b8\5\0\4\u03b9\15\0\3\u03b9\31\0\1\u03b9\1\0" + "\1\u03b9\7\0\3\u03b9\2\0\1\u03b9\5\0\4\u03ba\15\0" + + "\3\u03ba\31\0\1\u03ba\1\0\1\u03ba\7\0\3\u03ba\2\0" + "\1\u03ba\5\0\4\u03bb\15\0\3\u03bb\31\0\1\u03bb\1\0" + + "\1\u03bb\7\0\3\u03bb\2\0\1\u03bb\3\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\10\10\1\u03bc\11\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\4\10\1\u03bd\3\10\22\0\22\10\2\0\1\u03bd\2\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u0265" + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\6\10\1\u03be\1\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\5\10\1\240\2\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + + "\1\u03bf\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\10\10\1\u0152\11\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" + "\1\u03c0\4\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\1\10\1\u03c1\6\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\2\10\1\u03c2\5\10\22\0\22\10\2\0\3\10" + "\3\0\4\u03c3\15\0\3\u03c3\31\0\1\u03c3\1\0\1\u03c3" + + "\7\0\3\u03c3\2\0\1\u03c3\3\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\11\10\1\u03c4\10\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" + "\1\u03c5\2\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\7\10\1\u03c6\22\0\7\10" + "\1\u03c7\12\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\7\10\1\u03c6\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u03c8" + + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u03c9\6\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\4\10\1\u03ca\15\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\13\10" + "\1\u03cb\1\10\1\u03cc\4\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u03cd" + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\2\10\1\u013c\17\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u03ce" + + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\7\10\1\u03cf\12\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\6\10\1\u03d0\13\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\13\10" + "\1\u013c\6\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\1\10\1\u03d1\6\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + + "\1\u013a\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\7\10\1\u0172\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + "\1\u03d2\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u03d3\13\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\2\10\1\u03d4\17\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\4\10\1\u03d5\3\10" + + "\22\0\22\10\2\0\1\u03d5\2\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\7\10\1\u03d6\12\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\2\10\1\u03d7\17\10\2\0\3\10\1\0" + + "\4\10\1\u03d8\2\10\2\0\1\122\2\10\4\0\1\10" + "\1\u01b8\2\10\1\u03d9\3\10\22\0\7\10\1\u03da\12\10" + + "\2\0\1\u03d9\2\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\10\10\1\u03db\11\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u03dc" + "\1\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\5\10\1\u03dd\2\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\5\10\1\u0253\14\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + + "\1\u03de\17\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\6\10\1\u03df\1\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\2\10\1\u03e0\17\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\6\10\1\u03e1" + "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\4\10\1\u03e2\15\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u03e3" + + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\5\10\1\u03e4\2\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\3\10\1\u03e5\16\10\2\0\2\10\1\u03e5" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\2\10\1\u03e6\17\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\7\10\1\u03e7\22\0\22\10\2\0" + "\3\10\1\0\4\10\1\u03e8\2\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\7\10\1\u034f\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\3\10\1\u03e9\3\10\1\u03ea\22\0\2\10\1\u0146\5\10" + + "\1\u03ea\11\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\1\10\1\u03eb\6\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\u03ec" + "\7\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\4\10\1\u03ed\15\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\6\10\1\u03ee\13\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\4\10" + + "\1\u03ef\15\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\4\10\1\u03f0\4\10\1\u03f1" + + "\10\10\2\0\3\10\63\0\1\u03f2\45\0\1\u03f3\136\0" + "\1\u03f4\100\0\1\u0131\75\0\1\231\23\0\7\10\2\0" + + "\1\122\2\10\4\0\1\10\1\u03f5\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\1\u03f6\7\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u03f7\4\10\22\0" + + "\22\10\2\0\3\10\1\0\4\10\1\u02bb\2\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\5\10\1\u03f8\1\10" + + "\1\u03f9\12\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\10\10\1\u03fa\11\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\10\10\1\u03fb\11\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u03fc" + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\10\10\1\u03fd\11\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\5\10\1\246\14\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u03fe\13\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\6\10\1\u0265\13\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\1\u03ff" + "\21\10\2\0\1\10\1\u03ff\1\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u0400\17\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\1\10\1\375\6\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u0401\6\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\3\10\1\u038c\4\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" + "\1\u0402\4\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u0403" + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\2\10\1\u0404\5\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\4\10\1\u0405\15\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\4\10\1\u0406\3\10\22\0\22\10" + + "\2\0\1\u0406\2\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\1\10\1\u0407\20\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u0408" + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\1\10\1\u0409\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\6\10\1\u040a\1\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + + "\1\u040b\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\3\10\1\u040c\4\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" + "\1\u040d\4\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\1\10\1\u040e\6\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\6\10\1\u0286\13\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\14\10\1\u040f\5\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u0410\6\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\6\10\1\u0411\13\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u0412\3\10" + "\1\u023c\22\0\2\10\1\u0413\13\10\1\u0414\3\10\2\0" + + "\3\10\1\0\6\10\1\u0415\2\0\1\122\2\10\4\0" + "\10\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u02b7\13\10" + "\2\0\3\10\1\0\4\10\1\u0416\2\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u0417\6\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\2\10\1\u0418\5\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u0419\6\10\22\0\5\10\1\u041a\14\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\5\10\1\u041b\14\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\4\10\1\u041c\15\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\4\10\1\u03ec\15\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + + "\1\u0260\17\10\2\0\3\10\3\0\4\303\15\0\3\303" + "\31\0\1\303\1\0\1\303\7\0\3\303\2\0\1\303" + + "\5\0\4\u041d\15\0\3\u041d\31\0\1\u041d\1\0\1\u041d" + "\7\0\3\u041d\2\0\1\u041d\5\0\4\305\15\0\3\305" + + "\31\0\1\305\1\0\1\305\7\0\3\305\2\0\1\305" + "\5\0\4\u041e\15\0\3\u041e\31\0\1\u041e\1\0\1\u041e" + + "\7\0\3\u041e\2\0\1\u041e\3\0\7\10\2\0\1\122" + "\2\10\4\0\1\10\1\u01b8\6\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" + "\1\u0396\5\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\6\10\1\u041f\1\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\4\10\1\u0420\15\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\4\10\1\u0421\15\10\2\0\3\10\1\0\6\10\1\160" + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" + "\1\u0422\2\10\22\0\22\10\2\0\3\10\3\0\4\351" + + "\15\0\3\351\31\0\1\351\1\0\1\351\7\0\3\351" + "\2\0\1\351\3\0\7\10\2\0\1\122\2\10\4\0" + + "\4\10\1\u028e\3\10\22\0\22\10\2\0\1\u028e\2\10" + "\1\0\6\10\1\u0423\2\0\1\122\2\10\4\0\10\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\1\10\1\277\6\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\3\10\1\u0424\16\10\2\0\2\10\1\u0424\1\0" + + "\7\10\2\0\1\122\2\10\4\0\1\u0425\7\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\1\10\1\u0426\6\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\15\10\1\u0427\4\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u0261\4\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\5\10\1\u0428\2\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u03e9\4\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\2\10\1\u0429\5\10\22\0\22\10\2\0" + "\3\10\1\0\4\10\1\u042a\2\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\2\10\1\u03bc\5\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\3\10\1\u03cf\4\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\244" + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\1\10\1\u042b\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\1\10\1\u01fe\20\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\4\10\1\134\3\10" + + "\22\0\22\10\2\0\1\134\2\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u042c\17\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\4\10\1\u042d\15\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\13\10" + "\1\u0263\6\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\6\10\1\u042e\13\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" + + "\1\u042f\2\10\22\0\22\10\2\0\3\10\1\0\6\10" + "\1\u0430\2\0\1\122\2\10\4\0\10\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\6\10\1\277\13\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u0431\6\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\5\10\1\u0432\14\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\15\10\1\u0433\4\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u0434" + + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\3\10\1\u0435\16\10\2\0\2\10" + + "\1\u0435\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + "\1\u0436\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\3\10\1\u0437\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\1\10\1\u0104\6\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u0438\5\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\6\10\1\u0439\1\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" + "\1\u043a\2\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\6\10\1\u043b\1\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\4\10\1\u043c\15\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u043d" + + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\7\10\1\u043e\12\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\10\1\u038c\6\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + "\1\u0384\17\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\10\10\1\134\11\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + + "\1\u043f\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u0440\13\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\5\10\1\u0441\2\10\22\0\2\10\1\u0442\17\10\2\0" + + "\3\10\55\0\1\u0443\33\0\1\u0444\120\0\1\u0445\54\0" + "\7\10\2\0\1\122\2\10\4\0\4\10\1\u0446\3\10" + + "\22\0\22\10\2\0\1\u0446\2\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u0447\17\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\7\10\1\u0448\22\0\10\10\1\u0448\11\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\6\10\1\u0449\13\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\2\10\1\u044a\17\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\2\10\1\u044b\5\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + + "\1\u044c\17\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\4\10\1\u044d\15\10\2\0" + + "\3\10\1\0\4\10\1\u044e\2\10\2\0\1\122\2\10" + "\4\0\3\10\1\u044f\3\10\1\u03c6\22\0\7\10\1\u03c7" + + "\12\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\3\10\1\134\16\10\2\0\2\10" + + "\1\134\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\6\10\1\u0450\13\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\2\10\1\u0451\5\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\11\10\1\u0452\10\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\7\10\1\u03bc\12\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u0453\6\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\2\10\1\u0265\17\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + "\1\u0454\17\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\2\10\1\u0455\17\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" + + "\1\u0456\2\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u0457" + + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\2\10\1\u0458\17\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u0459" + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\3\10\1\u03bc\16\10" + "\2\0\2\10\1\u03bc\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\4\10\1\u045a\15\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u045b" + + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u045c\4\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\2\10\1\u045d\5\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u045e\5\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\1\u045f\7\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\4\10\1\u0460\15\10\2\0\3\10\1\0\6\10\1\u0461" + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u0462\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\6\10\1\u0463" + "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\6\10\1\u0464\13\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\u0465" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\2\10\1\u0466\5\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\6\10\1\u0467\13\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\1\10\1\u0468\6\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\14\10\1\u0469\5\10\2\0\3\10" + "\3\0\4\u0174\15\0\3\u0174\31\0\1\u0174\1\0\1\u0174" + + "\7\0\3\u0174\2\0\1\u0174\5\0\4\u0176\15\0\3\u0176" + "\31\0\1\u0176\1\0\1\u0176\7\0\3\u0176\2\0\1\u0176" + + "\3\0\4\10\1\u02bb\2\10\2\0\1\122\2\10\4\0" + "\1\10\1\u01b8\5\10\1\u046a\22\0\2\10\1\u0394\2\10" + + "\1\u01bb\14\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\4\10\1\u046b\3\10\22\0\22\10\2\0" + + "\1\u046b\2\10\1\0\6\10\1\134\2\0\1\122\2\10" + "\4\0\10\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\11\10\1\u01f0" + "\10\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\4\10\1\u046c\15\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\6\10\1\u046d\13\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u046e\4\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\6\10\1\u046f\13\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\7\10\1\u0470\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\6\10\1\u0471\1\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\2\10\1\u0472\17\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\14\10\1\u0473\5\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\7\10\1\u0474\12\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\4\10" + "\1\u0475\15\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\10\10\1\u0476\11\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" + + "\1\u0477\5\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\1\10\1\u0478\6\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\5\10\1\u0479\2\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u047a" + "\6\10\22\0\22\10\2\0\3\10\1\0\4\10\1\u03d8" + + "\2\10\2\0\1\122\2\10\4\0\10\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\5\10\1\u047b\2\10\22\0\22\10\2\0\3\10\1\0" + "\6\10\1\u047c\2\0\1\122\2\10\4\0\10\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\6\10\1\u047d\1\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u047e" + "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\7\10\1\u047f\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\2\10\1\u0473\17\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\7\10\1\u0480\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\15\10\1\u013a\4\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + "\1\u0481\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\7\10\1\u0482\12\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + + "\1\u0483\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u0484\4\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\1\10\1\u0485\6\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u0151" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\1\u0486\7\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\4\10\1\u0486\15\10\2\0\3\10\57\0\1\u0487" + "\104\0\1\u0488\77\0\1\u0489\22\0\7\10\2\0\1\122" + + "\2\10\4\0\6\10\1\u048a\1\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + + "\1\u03ec\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\3\10\1\u048b\4\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\6\10\1\u0289\1\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u048c\5\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\3\10\1\u048d\4\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\4\10\1\u048e\15\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\7\10\1\u048f\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\2\10\1\u0146\17\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\1\u0490\7\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\2\10\1\u0491\5\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u0492" + + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\5\10\1\242\2\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\10\1\u01b8\5\10\1\134\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\u0493" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\6\10\1\u0494\1\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + + "\1\u0495\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\6\10\1\u0496" + + "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\11\10\1\u0497\10\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\7\10\1\u0498\12\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\1\10\1\u040a\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\7\10\1\u0499\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\11\10\1\u013c" + + "\10\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\3\10\1\u049a\4\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u049b" + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\5\10\1\u049c\14\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\4\10\1\u049d\3\10\22\0\22\10\2\0\1\u049d\2\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u049e" + + "\4\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u049f\6\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\u013c\7\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u03bc" + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\2\10\1\u04a0\17\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u04a1" + + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\1\10\1\u04a2\20\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\4\10\1\374\10\10\1\u04a3\4\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\4\10\1\374\15\10\2\0\3\10\1\0\6\10" + + "\1\u04a4\2\0\1\122\2\10\4\0\10\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\2\10\1\u04a5\17\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\5\10" + + "\1\u0279\14\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\2\10\1\u04a6\5\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\5\10\1\u04a7\14\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u01f0" + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\1\10\1\u04a8\6\10\22\0\22\10\2\0\3\10" + "\1\0\6\10\1\u013a\2\0\1\122\2\10\4\0\10\10" + + "\22\0\22\10\2\0\3\10\1\0\4\10\1\u04a9\2\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u013a\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u04aa" + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\10\10\1\u04ab\11\10\2\0\3\10" + "\1\0\6\10\1\242\2\0\1\122\2\10\4\0\10\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\5\10\1\u04ac\14\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" + "\1\u013c\2\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\10\10\1\u02df" + "\11\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\2\10\1\u04ad\5\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u04ae" + + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\4\10\1\u04af\15\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\6\10\1\u04b0\13\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u04b1\6\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\7\10\1\u04b2\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\1\10\1\u039e\13\10\1\u04b3\4\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\5\10" + + "\1\u04b4\14\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\1\10\1\u01b8\2\10\1\u04b5\2\10\1\u01b3" + + "\22\0\2\10\1\u04b6\17\10\2\0\1\u04b5\2\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u04b7\6\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\5\10\1\u01a4\2\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\2\10\1\u04b8\17\10\2\0\3\10\62\0\1\u04b9" + + "\43\0\1\u0487\100\0\1\u01d5\57\0\7\10\2\0\1\122" + "\2\10\4\0\5\10\1\u04ba\2\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u03bc\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\2\10\1\u04bb\5\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\7\10\1\u04bc\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\7\10\1\164\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\1\10\1\u04bd\6\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\1\10\1\u04be\20\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\1\10\1\u04bf\6\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\5\10\1\u04c0\14\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\277\1\10" + + "\1\u04c1\4\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u0469\4\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\1\u0469\21\10\2\0\1\10\1\u0469" + + "\1\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\4\10\1\u040a\15\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\3\10\1\u04c2\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\7\10\1\u04c3\12\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\2\10\1\u04c4\17\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u04c5\6\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\10\10\1\u04c6\11\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\6\10\1\u04c7\1\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\6\10\1\u04c8\13\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10" + + "\1\u04c9\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u04ca\13\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\10\10\22\0\6\10\1\u04cb\13\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\7\10" + "\1\u04cc\12\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\14\10\1\u04cd\5\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10" + + "\1\u04ce\4\10\22\0\22\10\2\0\3\10\1\0\4\10" + "\1\u04cf\2\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\2\10\1\u0137\5\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\7\10\1\u013c\12\10\2\0\3\10\1\0\6\10\1\u04d0" + + "\2\0\1\122\2\10\4\0\10\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10" + + "\1\u04d1\5\10\22\0\22\10\2\0\3\10\1\0\6\10" + "\1\u04d2\2\0\1\122\2\10\4\0\10\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\2\10\1\u03ed\5\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + "\1\u04d3\17\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\3\10\1\u04d4\4\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\2\10\1\u04d5\17\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\5\10\1\u0417" + + "\14\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\6\10\1\u04d6\1\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\4\10\1\u04ba\15\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\14\10\1\u04d7\5\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\2\10\1\u04d8\17\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\13\10" + + "\1\u04d9\6\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\6\10\1\u04da\1\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\4\10\1\u04db\15\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\5\10\1\u04dc\2\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\11\10\1\u04dd\10\10\2\0\3\10" + "\55\0\1\u027b\25\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\10\10\1\u013c\11\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\3\10\1\u04de\4\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\7\10\1\u04df\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u04e0" + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\5\10\1\u04e1\2\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\5\10\1\u04e2\14\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u04e3\6\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\5\10\1\u013c\14\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\6\10" + "\1\u04e4\1\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\2\10\1\u04e5\5\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\6\10\1\u04e6\13\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u04e7" + + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\2\10\1\u04e8\5\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\5\10\1\u04e9\2\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\2\10\1\u04e9\5\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\1\10\1\u04ea\6\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\4\10\1\u04eb\15\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u04ec" + + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\3\10\1\u04ed\4\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u04ee" + "\5\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\2\10\1\u04ef\5\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\5\10\1\u01bb\14\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u04f0\6\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\2\10\1\u04f1\17\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10" + "\1\u04f2\6\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\11\10\1\u034f" + "\10\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\7\10\1\u04f3\22\0\22\10\2\0\3\10\1\0" + "\4\10\1\u04f4\2\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\6\10\1\u04f5\13\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\1\10\1\u013a\20\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\3\10\1\u032e\4\10\22\0" + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\6\10\1\u04f6\13\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u04f7" + + "\2\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\7\10\1\u04f8\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\2\10\1\u04f9\17\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u04fa" + "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\10\10\22\0\10\10\1\u04ec\11\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\4\10\1\u04b5" + + "\3\10\22\0\22\10\2\0\1\u04b5\2\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\6\10\1\u04fb\1\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u04fc\15\10\2\0\3\10" + + "\1\0\6\10\1\u0172\2\0\1\122\2\10\4\0\10\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\10\10\22\0\6\10\1\u04fd\13\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + + "\22\0\6\10\1\u04fe\13\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\3\10\1\u04ff\4\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\4\10\1\u04c2\15\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\14\10\1\u0500\5\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\6\10\1\u0501\13\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\11\10\1\u0502\10\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\2\10" + + "\1\u0503\17\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\17\10\3\134\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\13\10\1\u03cb\6\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\11\10\1\u0504\10\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\10\10\22\0\2\10\1\u0505\17\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\7\10\1\u01f9\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\10\10\22\0\2\10\1\u0506\17\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\4\10\1\u04f7\15\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\3\10\1\u0507\4\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\3\10\1\u0508\4\10\22\0\22\10\2\0\3\10\1\0" + "\6\10\1\u0509\2\0\1\122\2\10\4\0\10\10\22\0" + + "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\5\10\1\u04a6\2\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\1\10\1\u050a\20\10\2\0\3\10\1\0\7\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\10\10\1\u038c\11\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\1\10\1\u050b\6\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\6\10\1\u038c\1\10" + + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\10\10\22\0\12\10\1\u02a1\7\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\6\10" + "\1\u050c\1\10\22\0\22\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\7\10\1\u035a" + "\12\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\2\10\1\u0261\5\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + + "\5\10\1\u050d\14\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\7\10\1\u038c\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\2\10\1\u0149\17\10\2\0\3\10\1\0\6\10" + + "\1\u050e\2\0\1\122\2\10\4\0\10\10\22\0\22\10" + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + + "\5\10\1\u04c9\2\10\22\0\22\10\2\0\3\10\1\0" + "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\6\10" + + "\1\u01b4\13\10\2\0\3\10\1\0\7\10\2\0\1\122" + "\2\10\4\0\5\10\1\u050f\2\10\22\0\22\10\2\0" + + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\10\10\1\u0510\11\10\2\0\3\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\6\10\1\u0511" + "\13\10\2\0\3\10\1\0\1\10\1\u0512\5\10\2\0" + + "\1\122\2\10\4\0\10\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u0513" + + "\1\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\1\10\1\u039b\6\10\22\0\22\10" + + "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0" + "\1\10\1\u0514\6\10\22\0\22\10\2\0\3\10\1\0" + + "\7\10\2\0\1\122\2\10\4\0\1\10\1\u0515\6\10" + "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122" + + "\2\10\4\0\3\10\1\277\4\10\22\0\22\10\2\0" + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10" + + "\1\u0245\2\10\22\0\22\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u0138" + + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\2\10\1\u0516\5\10\22\0\22\10\2\0\3\10" + + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\1\u03ec\21\10\2\0\1\10\1\u03ec\1\10\1\0\7\10" + + "\2\0\1\122\2\10\4\0\10\10\22\0\4\10\1\u0517" + "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + + "\4\0\1\10\1\u0518\1\u0519\2\10\1\u051a\1\10\1\u051b" + "\22\0\1\u051c\3\10\1\u03f0\1\10\1\u051d\13\10\2\0" + "\1\10\1\u051c\1\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\3\10\1\u051e\4\10\22\0\22\10\2\0\3\10" + "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0" + "\2\10\1\u051f\17\10\2\0\3\10\1\0\7\10\2\0" + "\1\122\2\10\4\0\10\10\22\0\14\10\1\u0520\5\10" @@ -1286,14 +1311,14 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { + "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10" + "\22\0\7\10\1\u019e\12\10\2\0\3\10\1\0\7\10" + "\2\0\1\122\2\10\4\0\10\10\22\0\7\10\1\u01e0" + "\12\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10" + "\4\0\3\10\1\u0245\4\10\22\0\22\10\2\0\3\10"; - + private static int[] zzUnpackTrans() { int[] result = new int[84612]; 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 */ @@ -1308,7 +1333,7 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -1320,19 +1345,22 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\1\11\5\1\2\11\2\1\1\11\12\1\1\11" + "\5\1\1\11\1\1\1\11\15\1\1\11\1\1\1\11" - + "\2\1\1\11\2\1\2\11\3\1\2\11\1\1\1\11" + "\10\1\1\11\6\1\1\0\12\1\1\11\5\1\1\0" + "\55\1\14\0\45\1\1\11\1\1\1\0\1\1\1\0" - + "\1\11\4\1\4\0\4\1\5\0\20\1\1\0\11\1" + "\1\0\62\1\10\0\1\1\2\0\1\11\3\0\76\1" + "\4\0\4\1\4\0\4\1\5\0\14\1\1\0\6\1" - + "\1\11\65\1\16\0\75\1\2\0\1\11\2\0\1\11" + "\4\1\2\0\4\1\3\0\11\1\1\0\101\1\14\0" + "\73\1\4\0\1\1\2\0\1\1\3\0\10\1\1\0" - + "\66\1\7\0\65\1\4\0\12\1\1\0\60\1\5\0" + "\55\1\4\0\7\1\1\0\56\1\3\0\50\1\2\0" + "\44\1\3\0\101\1\3\0\57\1\1\0\160\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\1\11\5\1\2\11\2\1\1\11\12\1\1\11" + + "\5\1\1\11\1\1\1\11\15\1\1\11\1\1\1\11" + "\2\1\1\11\2\1\2\11\3\1\2\11\1\1\1\11" + + "\10\1\1\11\6\1\1\0\12\1\1\11\5\1\1\0" + "\55\1\14\0\45\1\1\11\1\1\1\0\1\1\1\0" + + "\1\11\4\1\4\0\4\1\5\0\20\1\1\0\11\1" + "\1\0\62\1\10\0\1\1\2\0\1\11\3\0\76\1" + + "\4\0\4\1\4\0\4\1\5\0\14\1\1\0\6\1" + "\1\11\65\1\16\0\75\1\2\0\1\11\2\0\1\11" + + "\4\1\2\0\4\1\3\0\11\1\1\0\101\1\14\0" + "\73\1\4\0\1\1\2\0\1\1\3\0\10\1\1\0" + + "\66\1\7\0\65\1\4\0\12\1\1\0\60\1\5\0" + "\55\1\4\0\7\1\1\0\56\1\3\0\50\1\2\0" + + "\44\1\3\0\101\1\3\0\57\1\1\0\160\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[1321]; 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 */ @@ -1346,7 +1374,7 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -1354,8 +1382,8 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -1365,77 +1393,67 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public NSISTokenMaker() {} - + public NSISTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addHyperlinkToken(int, int, int) */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -1443,21 +1461,18 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -1466,18 +1481,18 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = STRING; - break; - case Token.LITERAL_CHAR: - state = CHAR_LITERAL; - break; - case Token.LITERAL_BACKQUOTE: - state = BACKTICKS; - break; - case Token.COMMENT_MULTILINE: - state = MLC; - break; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = STRING; + break; + case Token.LITERAL_CHAR: + state = CHAR_LITERAL; + break; + case Token.LITERAL_BACKQUOTE: + state = BACKTICKS; + break; + case Token.COMMENT_MULTILINE: + state = MLC; + break; } start = text.offset; s = text; @@ -1490,36 +1505,34 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -1529,34 +1542,31 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public NSISTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public NSISTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -1572,7 +1582,7 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1582,69 +1592,64 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1655,29 +1660,27 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1696,8 +1699,7 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1737,261 +1739,262 @@ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 1: { - addToken(Token.IDENTIFIER); - } - case 37: - break; - case 34: { - addToken(Token.LITERAL_BOOLEAN); - } - case 38: - break; - case 29: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addToken(temp, zzMarkedPos - 1, Token.VARIABLE); - start = zzMarkedPos; - } - case 39: - break; - case 19: { /* Line ending in '\' => continue to next line. */ - addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); - return firstToken; - } - case 40: - break; - case 27: { /* Skip all escaped chars. */ - } - case 41: - break; - case 24: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 42: - break; - case 3: { - start = zzMarkedPos - 1; - yybegin(STRING); - } - case 43: - break; - case 32: { - addToken(Token.FUNCTION); - } - case 44: - break; - case 8: { - addToken(Token.VARIABLE); - } - case 45: - break; - case 16: { /* Line ending in '\' => continue to next line. */ - addToken(start, zzStartRead, Token.LITERAL_CHAR); - return firstToken; - } - case 46: - break; - case 14: { /* Line ending in '\' => continue to next line. */ - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 47: - break; - case 17: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - return firstToken; - } - case 48: - break; - case 18: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_CHAR); - } - case 49: - break; - case 25: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 50: - break; - case 26: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 51: - break; - case 7: { - addToken(Token.WHITESPACE); - } - case 52: - break; - case 30: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 53: - break; - case 10: { - start = zzMarkedPos - 1; - yybegin(CHAR_LITERAL); - } - case 54: - break; - case 2: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 55: - break; - case 28: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addToken(temp, zzMarkedPos - 1, Token.VARIABLE); - start = zzMarkedPos; - } - case 56: - break; - case 4: { - start = zzMarkedPos - 1; - yybegin(EOL_COMMENT); - } - case 57: - break; - case 21: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); - } - case 58: - break; - case 13: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 59: - break; - case 15: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - return firstToken; - } - case 60: - break; - case 31: { - addToken(Token.RESERVED_WORD); - } - case 61: - break; - case 35: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 62: - break; - case 20: { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - return firstToken; - } - case 63: - break; - case 23: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 64: - break; - case 9: { - addToken(Token.SEPARATOR); - } - case 65: - break; - case 6: { - addNullToken(); - return firstToken; - } - case 66: - break; - case 22: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 67: - break; - case 5: { - addToken(Token.OPERATOR); - } - case 68: - break; - case 36: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 69: - break; - case 33: { - addToken(Token.COMMENT_MULTILINE); - } - case 70: - break; - case 11: { - start = zzMarkedPos - 1; - yybegin(BACKTICKS); - } - case 71: - break; - case 12: {} - case 72: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 1322: - break; - case STRING: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - return firstToken; - } - case 1323: - break; - case CHAR_LITERAL: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - return firstToken; - } - case 1324: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 1325: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 1326: - break; - case BACKTICKS: { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - return firstToken; - } - case 1327: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 1: { + addToken(Token.IDENTIFIER); + } + case 37: + break; + case 34: { + addToken(Token.LITERAL_BOOLEAN); + } + case 38: + break; + case 29: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + addToken(temp, zzMarkedPos - 1, Token.VARIABLE); + start = zzMarkedPos; + } + case 39: + break; + case 19: { /* Line ending in '\' => continue to next line. */ + addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); + return firstToken; + } + case 40: + break; + case 27: { /* Skip all escaped chars. */ + } + case 41: + break; + case 24: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 42: + break; + case 3: { + start = zzMarkedPos - 1; + yybegin(STRING); + } + case 43: + break; + case 32: { + addToken(Token.FUNCTION); + } + case 44: + break; + case 8: { + addToken(Token.VARIABLE); + } + case 45: + break; + case 16: { /* Line ending in '\' => continue to next line. */ + addToken(start, zzStartRead, Token.LITERAL_CHAR); + return firstToken; + } + case 46: + break; + case 14: { /* Line ending in '\' => continue to next line. */ + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 47: + break; + case 17: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + return firstToken; + } + case 48: + break; + case 18: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_CHAR); + } + case 49: + break; + case 25: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 50: + break; + case 26: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 51: + break; + case 7: { + addToken(Token.WHITESPACE); + } + case 52: + break; + case 30: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 53: + break; + case 10: { + start = zzMarkedPos - 1; + yybegin(CHAR_LITERAL); + } + case 54: + break; + case 2: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 55: + break; + case 28: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addToken(temp, zzMarkedPos - 1, Token.VARIABLE); + start = zzMarkedPos; + } + case 56: + break; + case 4: { + start = zzMarkedPos - 1; + yybegin(EOL_COMMENT); + } + case 57: + break; + case 21: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); + } + case 58: + break; + case 13: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 59: + break; + case 15: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + return firstToken; + } + case 60: + break; + case 31: { + addToken(Token.RESERVED_WORD); + } + case 61: + break; + case 35: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 62: + break; + case 20: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + return firstToken; + } + case 63: + break; + case 23: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 64: + break; + case 9: { + addToken(Token.SEPARATOR); + } + case 65: + break; + case 6: { + addNullToken(); + return firstToken; + } + case 66: + break; + case 22: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 67: + break; + case 5: { + addToken(Token.OPERATOR); + } + case 68: + break; + case 36: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 69: + break; + case 33: { + addToken(Token.COMMENT_MULTILINE); + } + case 70: + break; + case 11: { + start = zzMarkedPos - 1; + yybegin(BACKTICKS); + } + case 71: + break; + case 12: { + } + case 72: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 1322: + break; + case STRING: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + return firstToken; + } + case 1323: + break; + case CHAR_LITERAL: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + return firstToken; + } + case 1324: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 1325: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 1326: + break; + case BACKTICKS: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + return firstToken; + } + case 1327: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/PHPTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/PHPTokenMaker.java index 82a2f80..0e415b2 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/PHPTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/PHPTokenMaker.java @@ -24,16 +24,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -43,23 +42,23 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated PHPTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell * @version 0.9 */ public class PHPTokenMaker extends AbstractMarkupTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -98,10 +97,14 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\4\1\2\1\0\1\1\1\33\22\0\1\4\1\51\1\7" - + "\1\34\1\36\1\50\1\5\1\116\1\114\1\113\1\37\1\42\1\45" + "\1\31\1\43\1\10\1\25\1\137\1\132\1\136\1\134\1\126\1\133" - + "\1\27\1\140\1\24\1\53\1\6\1\3\1\46\1\17\1\52\1\112" + "\1\110\1\26\1\12\1\41\1\22\1\107\1\121\1\125\1\14\1\127" - + "\1\122\1\21\1\120\1\111\1\117\1\15\1\123\1\13\1\11\1\16" + "\1\106\1\124\1\23\1\40\1\20\1\23\1\115\1\35\1\115\1\47" - + "\1\30\1\131\1\64\1\67\1\70\1\77\1\62\1\63\1\71\1\73" + "\1\56\1\135\1\76\1\65\1\57\1\72\1\74\1\100\1\104\1\61" + + "\1\34\1\36\1\50\1\5\1\116\1\114\1\113\1\37\1\42\1\45" + + "\1\31\1\43\1\10\1\25\1\137\1\132\1\136\1\134\1\126\1\133" + + "\1\27\1\140\1\24\1\53\1\6\1\3\1\46\1\17\1\52\1\112" + + "\1\110\1\26\1\12\1\41\1\22\1\107\1\121\1\125\1\14\1\127" + + "\1\122\1\21\1\120\1\111\1\117\1\15\1\123\1\13\1\11\1\16" + + "\1\106\1\124\1\23\1\40\1\20\1\23\1\115\1\35\1\115\1\47" + + "\1\30\1\131\1\64\1\67\1\70\1\77\1\62\1\63\1\71\1\73" + + "\1\56\1\135\1\76\1\65\1\57\1\72\1\74\1\100\1\104\1\61" + "\1\66\1\60\1\32\1\102\1\75\1\103\1\101\1\130\1\105\1\55" + "\1\44\1\54\uff81\0"; /** * Translates characters to character classes @@ -111,12 +114,13 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\5\0\2\1\1\0\2\1\1\0\2\1\14\0\1\2" + "\5\0\2\2\1\3\1\4\1\5\1\6\1\1\1\7" - + "\5\1\1\10\1\11\3\12\1\13\1\14\1\15\1\16" + "\1\17\1\20\1\21\1\22\2\20\2\22\3\20\2\22" - + "\3\20\1\22\5\20\1\22\1\1\1\23\1\24\1\1" + "\1\25\1\14\1\26\1\27\1\30\1\31\1\32\1\33" - + "\1\34\1\35\1\36\2\16\1\2\1\37\1\16\2\2" + "\1\16\2\40\1\16\1\2\1\35\2\16\1\2\1\41" - + "\1\35\21\2\1\42\1\43\1\1\1\44\1\23\1\45" + "\1\46\1\1\1\47\1\23\1\50\1\51\1\1\1\52" - + "\6\1\1\53\10\1\1\54\4\1\1\55\1\16\1\56" + "\1\16\3\2\1\57\1\2\1\16\32\2\1\35\1\60" + "\2\2\1\1\1\61\2\1\1\62\1\63\1\64\2\1" + private static final String ZZ_ACTION_PACKED_0 = "\5\0\2\1\1\0\2\1\1\0\2\1\14\0\1\2" + + "\5\0\2\2\1\3\1\4\1\5\1\6\1\1\1\7" + "\5\1\1\10\1\11\3\12\1\13\1\14\1\15\1\16" + + "\1\17\1\20\1\21\1\22\2\20\2\22\3\20\2\22" + "\3\20\1\22\5\20\1\22\1\1\1\23\1\24\1\1" + + "\1\25\1\14\1\26\1\27\1\30\1\31\1\32\1\33" + "\1\34\1\35\1\36\2\16\1\2\1\37\1\16\2\2" + + "\1\16\2\40\1\16\1\2\1\35\2\16\1\2\1\41" + "\1\35\21\2\1\42\1\43\1\1\1\44\1\23\1\45" + + "\1\46\1\1\1\47\1\23\1\50\1\51\1\1\1\52" + "\6\1\1\53\10\1\1\54\4\1\1\55\1\16\1\56" + + "\1\16\3\2\1\57\1\2\1\16\32\2\1\35\1\60" + "\2\2\1\1\1\61\2\1\1\62\1\63\1\64\2\1" + "\1\65\1\66\1\67\1\70\1\71\1\70\1\72\1\70" + "\1\73\1\70\1\74\1\75\1\70\1\76\1\77\1\100" + "\2\77\1\101\1\77\1\102\1\103\1\104\1\105\1\104" + "\1\106\2\2\1\40\1\2\2\104\1\107\1\110\1\111" + "\1\112\1\113\1\114\1\115\2\1\1\116\1\117\1\120" + "\1\121\1\1\1\122\1\1\1\123\1\4\2\124\1\125" @@ -156,14 +160,14 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\2\2\1\152\3\2\1\152\137\2\1\152\33\2\1\152" + "\13\2\1\152\10\2\1\152\151\2\1\152\107\2\1\152" + "\4\2\1\152\74\2\1\152\1\2\1\152\3\2\1\152" + "\25\2\1\152\110\2\1\152\54\2\1\152\7\2\1\152" + "\61\2\1\152\12\2\1\152\165\2\1\152\157\2\1\152" + "\33\2"; - + private static int[] zzUnpackAction() { int[] result = new int[8198]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -177,7 +181,7 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -1207,14 +1211,14 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\13\ucd05\13\ucd66\13\ucdc7\13\uce28\13\uce89\13\uceea\13\ucf4b\13\ucfac" + "\13\ud00d\13\ud06e\13\ud0cf\13\ud130\13\ud191\13\ud1f2\13\ud253\13\ud2b4" + "\13\ud315\13\ud376\13\ud3d7\13\ud438\13\ud499\11\udca7"; - + private static int[] zzUnpackRowMap() { int[] result = new int[8198]; 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 */ @@ -1225,7 +1229,7 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * The transition table of the DFA */ @@ -1238,22 +1242,24 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\101\1\72\1\67\1\107\1\110\1\111\1\67\1\112" + "\1\103\1\75\1\67\1\113\1\67\1\114\1\67\1\102" + "\1\105\1\106\1\107\4\67\1\70\1\111\1\104\1\67" + "\1\112\1\114\1\113\1\110\13\67\3\115\1\116\3\115" + "\1\117\131\115\3\120\1\116\112\120\1\117\22\120\1\57" + "\1\60\1\0\1\61\1\44\2\57\1\121\1\122\6\57" - + "\1\123\26\57\1\65\47\57\1\124\22\57\3\115\1\116" + "\3\115\1\125\131\115\3\120\1\116\112\120\1\125\22\120" - + "\1\57\1\60\1\0\1\61\1\44\2\57\1\126\1\122" + "\6\57\1\127\26\57\1\65\47\57\1\130\22\57\3\115" - + "\1\116\3\115\1\131\131\115\3\120\1\116\112\120\1\131" + "\22\120\1\132\1\44\1\133\1\134\1\44\1\135\1\136" - + "\1\137\1\140\3\141\1\142\2\141\1\143\4\141\1\144" + "\1\145\1\141\1\144\1\141\1\146\1\147\1\150\2\132" - + "\1\141\1\151\2\141\1\152\1\153\1\154\1\136\4\151" + "\3\65\1\155\1\156\1\141\1\157\1\160\1\161\1\162" - + "\1\163\1\164\1\165\1\166\1\167\1\170\1\171\2\141" + "\1\172\1\141\1\173\1\174\1\141\1\175\2\141\1\154" - + "\3\141\1\176\1\132\3\154\1\177\7\141\1\144\2\141" + "\1\200\3\144\1\141\3\144\2\201\1\202\1\203\31\201" - + "\1\204\60\201\1\205\22\201\2\206\1\207\1\210\3\206" + "\1\211\25\206\1\212\103\206\2\213\1\214\1\215\33\213" - + "\1\216\23\213\1\217\7\213\1\220\1\213\1\221\43\213" + "\2\222\1\223\1\224\33\222\1\225\23\222\1\226\7\222" - + "\1\227\1\222\1\230\7\222\1\231\4\222\1\232\26\222" + "\2\233\1\234\1\235\57\233\1\236\7\233\1\237\1\233" - + "\1\240\43\233\1\132\1\44\1\241\1\242\1\44\1\135" + "\1\136\1\243\1\244\5\141\1\245\1\143\4\141\1\144" - + "\1\145\1\141\1\144\1\246\1\146\1\247\1\136\1\250" + "\1\132\1\251\1\151\2\141\1\152\1\153\1\154\1\136" - + "\4\151\1\252\2\65\1\253\1\254\1\255\1\256\1\257" + "\1\260\1\261\1\262\1\263\1\264\1\265\1\266\1\267" - + "\1\270\1\271\1\272\1\273\1\274\1\275\1\276\1\277" + "\1\300\1\301\1\302\1\154\1\141\1\303\1\141\1\304" - + "\1\305\3\154\1\306\7\141\1\144\1\141\1\307\1\136" + "\3\144\1\310\3\144\2\311\1\312\34\311\1\313\23\311" - + "\1\217\7\311\1\220\1\311\1\221\43\311\2\314\1\315" + "\4\314\1\316\25\314\1\317\1\320\102\314\2\321\1\322" + + "\1\123\26\57\1\65\47\57\1\124\22\57\3\115\1\116" + + "\3\115\1\125\131\115\3\120\1\116\112\120\1\125\22\120" + "\1\57\1\60\1\0\1\61\1\44\2\57\1\126\1\122" + + "\6\57\1\127\26\57\1\65\47\57\1\130\22\57\3\115" + "\1\116\3\115\1\131\131\115\3\120\1\116\112\120\1\131" + + "\22\120\1\132\1\44\1\133\1\134\1\44\1\135\1\136" + "\1\137\1\140\3\141\1\142\2\141\1\143\4\141\1\144" + + "\1\145\1\141\1\144\1\141\1\146\1\147\1\150\2\132" + "\1\141\1\151\2\141\1\152\1\153\1\154\1\136\4\151" + + "\3\65\1\155\1\156\1\141\1\157\1\160\1\161\1\162" + "\1\163\1\164\1\165\1\166\1\167\1\170\1\171\2\141" + + "\1\172\1\141\1\173\1\174\1\141\1\175\2\141\1\154" + "\3\141\1\176\1\132\3\154\1\177\7\141\1\144\2\141" + + "\1\200\3\144\1\141\3\144\2\201\1\202\1\203\31\201" + "\1\204\60\201\1\205\22\201\2\206\1\207\1\210\3\206" + + "\1\211\25\206\1\212\103\206\2\213\1\214\1\215\33\213" + + "\1\216\23\213\1\217\7\213\1\220\1\213\1\221\43\213" + + "\2\222\1\223\1\224\33\222\1\225\23\222\1\226\7\222" + "\1\227\1\222\1\230\7\222\1\231\4\222\1\232\26\222" + + "\2\233\1\234\1\235\57\233\1\236\7\233\1\237\1\233" + "\1\240\43\233\1\132\1\44\1\241\1\242\1\44\1\135" + + "\1\136\1\243\1\244\5\141\1\245\1\143\4\141\1\144" + "\1\145\1\141\1\144\1\246\1\146\1\247\1\136\1\250" + + "\1\132\1\251\1\151\2\141\1\152\1\153\1\154\1\136" + "\4\151\1\252\2\65\1\253\1\254\1\255\1\256\1\257" + + "\1\260\1\261\1\262\1\263\1\264\1\265\1\266\1\267" + "\1\270\1\271\1\272\1\273\1\274\1\275\1\276\1\277" + + "\1\300\1\301\1\302\1\154\1\141\1\303\1\141\1\304" + "\1\305\3\154\1\306\7\141\1\144\1\141\1\307\1\136" + + "\3\144\1\310\3\144\2\311\1\312\34\311\1\313\23\311" + "\1\217\7\311\1\220\1\311\1\221\43\311\2\314\1\315" + + "\4\314\1\316\25\314\1\317\1\320\102\314\2\321\1\322" + "\32\321\1\323\60\321\1\324\22\321\1\325\1\44\1\326" + "\1\327\1\44\1\325\1\154\1\330\1\331\6\332\1\65" + "\4\332\2\325\1\332\1\325\3\332\1\325\1\333\1\325" + "\1\65\3\332\1\65\1\332\1\325\1\136\2\65\3\325" + "\1\334\2\65\27\332\1\335\4\332\1\336\3\154\1\337" + "\7\332\1\325\2\332\4\325\1\332\3\325\1\340\1\44" @@ -1262,10 +1268,13 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\351\1\352\1\44\1\350\1\353\1\330\1\354\6\355" + "\1\350\4\355\2\356\1\355\1\356\1\355\1\357\1\355" + "\1\350\1\360\1\355\2\350\2\355\1\350\1\136\1\346" + "\1\136\3\350\1\361\4\350\27\355\1\350\4\355\1\350" + "\1\362\1\363\1\350\1\337\7\355\1\356\2\355\1\350" + "\3\356\1\355\3\356\2\206\1\364\1\203\3\206\1\365" - + "\25\206\1\317\103\206\2\201\1\366\1\203\31\201\1\317" + "\60\201\1\367\22\201\2\213\1\370\1\203\33\213\1\371" - + "\23\213\1\217\7\213\1\220\1\213\1\221\43\213\2\372" + "\1\373\32\372\1\374\1\375\72\372\1\376\7\372\2\377" + + "\25\206\1\317\103\206\2\201\1\366\1\203\31\201\1\317" + + "\60\201\1\367\22\201\2\213\1\370\1\203\33\213\1\371" + + "\23\213\1\217\7\213\1\220\1\213\1\221\43\213\2\372" + + "\1\373\32\372\1\374\1\375\72\372\1\376\7\372\2\377" + "\1\u0100\33\377\1\u0101\5\377\1\u0102\74\377\2\40\4\0" + "\134\40\1\41\2\0\1\44\1\0\133\40\151\0\1\u0103" - + "\1\u0104\5\u0105\1\0\10\u0105\2\0\1\u0105\5\0\2\u0105" + "\7\0\1\u0106\1\u0107\3\0\10\u0105\1\u0104\16\u0105\1\0" + + "\1\u0104\5\u0105\1\0\10\u0105\2\0\1\u0105\5\0\2\u0105" + + "\7\0\1\u0106\1\u0107\3\0\10\u0105\1\u0104\16\u0105\1\0" + "\4\u0105\5\0\12\u0105\1\0\7\u0105\1\0\1\44\2\0" + "\1\44\134\0\4\45\1\0\1\45\1\u0108\132\45\2\46" + "\1\0\26\46\1\0\31\46\1\0\7\46\1\0\1\46" + "\1\0\43\46\31\0\1\u0109\165\0\1\u010a\1\0\1\u010b" + "\140\0\1\u010c\155\0\1\u010d\43\0\2\54\1\0\14\54" + "\1\0\121\54\2\57\1\0\1\57\1\0\2\57\2\0" @@ -1273,29 +1282,34 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\47\57\1\0\24\57\1\0\1\57\1\0\2\57" + "\2\0\6\57\1\0\26\57\1\0\3\57\1\u010e\43\57" + "\1\0\22\57\17\0\1\64\121\0\2\67\1\0\1\67" + "\1\0\2\67\2\0\6\67\1\0\26\67\1\0\47\67" + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\1\67" + "\1\u010f\2\67\1\u0110\1\u0111\1\0\2\67\1\u0112\7\67" - + "\1\u0113\13\67\1\0\10\67\1\u0114\1\u0111\1\67\1\u0112" + "\1\67\1\u0115\3\67\1\u010f\3\67\1\u0116\3\67\1\u0110" + + "\1\u0113\13\67\1\0\10\67\1\u0114\1\u0111\1\67\1\u0112" + + "\1\67\1\u0115\3\67\1\u010f\3\67\1\u0116\3\67\1\u0110" + "\5\67\1\u0113\1\67\1\u0115\5\67\1\0\1\u0116\1\u0114" + "\22\67\1\0\1\67\1\0\2\67\2\0\3\67\1\u0117" + "\2\67\1\0\2\67\1\u0118\23\67\1\0\7\67\1\u0117" + "\3\67\1\u0118\1\67\1\u0119\7\67\1\u011a\13\67\1\u0119" + "\5\67\1\0\1\u011a\23\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\12\67\1\u011b\13\67\1\0\37\67" + "\1\u011b\7\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\1\u011c\5\67\1\0\1\67\1\u011d\24\67\1\0" - + "\10\67\1\u011e\3\67\1\u011f\1\67\1\u011d\1\u011c\3\67" + "\1\u0120\14\67\1\u011f\1\67\1\u0120\4\67\1\0\1\67" - + "\1\u011e\22\67\1\0\1\67\1\0\2\67\2\0\2\67" + "\1\u0121\3\67\1\0\1\67\1\u0122\24\67\1\0\12\67" - + "\1\u0121\2\67\1\u0123\1\u0122\22\67\1\u0123\5\67\1\0" + "\24\67\1\0\1\67\1\0\2\67\2\0\2\67\1\114" - + "\1\u0124\1\67\1\114\1\0\2\67\1\u0125\3\67\1\u0126" + "\12\67\1\114\4\67\1\0\7\67\1\u0124\1\67\2\114" - + "\1\u0125\1\u0127\1\u0128\2\67\1\u0126\3\67\1\u0129\3\67" + "\1\114\7\67\1\u0127\1\u0128\5\67\1\0\6\67\1\u0129" - + "\15\67\1\0\1\67\1\0\2\67\2\0\3\67\1\u012a" + "\2\67\1\0\2\67\1\u012b\23\67\1\0\7\67\1\u012a" - + "\3\67\1\u012b\1\67\1\u012c\23\67\1\u012c\5\67\1\0" + "\24\67\1\0\1\67\1\0\2\67\2\0\6\67\1\0" - + "\26\67\1\0\10\67\1\u012d\22\67\1\u012e\13\67\1\0" + "\1\67\1\u012d\3\67\1\u012e\16\67\1\0\1\67\1\0" - + "\2\67\2\0\2\67\1\114\1\u011e\2\67\1\0\1\67" + "\1\u012f\10\67\1\u0130\6\67\1\u0131\4\67\1\0\7\67" - + "\1\u011e\2\67\1\114\2\67\1\u0132\1\u012f\3\67\1\u0133" + "\2\67\1\u0134\2\67\1\u0131\6\67\1\u0130\1\67\1\u0132" - + "\5\67\1\0\1\u0134\1\67\1\u0133\21\67\1\0\1\67" + "\1\0\2\67\2\0\6\67\1\0\1\67\1\114\24\67" - + "\1\0\16\67\1\114\30\67\1\0\24\67\1\0\1\67" + "\1\0\2\67\2\0\3\67\1\u0135\1\67\1\114\1\0" - + "\1\67\1\114\1\u0136\16\67\1\114\4\67\1\0\7\67" + "\1\u0135\1\67\1\114\1\67\1\u0136\1\u0137\1\u0138\1\114" + + "\10\67\1\u011e\3\67\1\u011f\1\67\1\u011d\1\u011c\3\67" + + "\1\u0120\14\67\1\u011f\1\67\1\u0120\4\67\1\0\1\67" + "\1\u011e\22\67\1\0\1\67\1\0\2\67\2\0\2\67" + + "\1\u0121\3\67\1\0\1\67\1\u0122\24\67\1\0\12\67" + "\1\u0121\2\67\1\u0123\1\u0122\22\67\1\u0123\5\67\1\0" + + "\24\67\1\0\1\67\1\0\2\67\2\0\2\67\1\114" + "\1\u0124\1\67\1\114\1\0\2\67\1\u0125\3\67\1\u0126" + + "\12\67\1\114\4\67\1\0\7\67\1\u0124\1\67\2\114" + + "\1\u0125\1\u0127\1\u0128\2\67\1\u0126\3\67\1\u0129\3\67" + + "\1\114\7\67\1\u0127\1\u0128\5\67\1\0\6\67\1\u0129" + "\15\67\1\0\1\67\1\0\2\67\2\0\3\67\1\u012a" + + "\2\67\1\0\2\67\1\u012b\23\67\1\0\7\67\1\u012a" + "\3\67\1\u012b\1\67\1\u012c\23\67\1\u012c\5\67\1\0" + + "\24\67\1\0\1\67\1\0\2\67\2\0\6\67\1\0" + "\26\67\1\0\10\67\1\u012d\22\67\1\u012e\13\67\1\0" + + "\1\67\1\u012d\3\67\1\u012e\16\67\1\0\1\67\1\0" + "\2\67\2\0\2\67\1\114\1\u011e\2\67\1\0\1\67" + + "\1\u012f\10\67\1\u0130\6\67\1\u0131\4\67\1\0\7\67" + + "\1\u011e\2\67\1\114\2\67\1\u0132\1\u012f\3\67\1\u0133" + + "\2\67\1\u0134\2\67\1\u0131\6\67\1\u0130\1\67\1\u0132" + "\5\67\1\0\1\u0134\1\67\1\u0133\21\67\1\0\1\67" + + "\1\0\2\67\2\0\6\67\1\0\1\67\1\114\24\67" + "\1\0\16\67\1\114\30\67\1\0\24\67\1\0\1\67" + + "\1\0\2\67\2\0\3\67\1\u0135\1\67\1\114\1\0" + "\1\67\1\114\1\u0136\16\67\1\114\4\67\1\0\7\67" + + "\1\u0135\1\67\1\114\1\67\1\u0136\1\u0137\1\u0138\1\114" + "\11\67\1\114\7\67\1\u0137\1\u0138\5\67\1\0\24\67" + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\2\67" - + "\1\u0139\7\67\1\u013a\13\67\1\0\13\67\1\u0139\1\67" + "\1\u013b\21\67\1\u013a\1\67\1\u013b\5\67\1\0\24\67" - + "\1\0\1\67\1\0\2\67\2\0\2\67\1\u013c\1\u013d" + "\2\67\1\0\26\67\1\0\7\67\1\u013d\2\67\1\u013c" - + "\12\67\1\u013e\21\67\1\0\1\u013e\23\67\1\0\1\67" + "\1\0\2\67\2\0\1\u013f\1\u0140\1\u0141\1\67\1\u0142" - + "\1\67\1\0\6\67\1\u0143\3\67\1\u0144\6\67\1\u0145" + "\4\67\1\0\12\67\1\u0141\4\67\1\u013f\1\u0143\1\u0140" + + "\1\u0139\7\67\1\u013a\13\67\1\0\13\67\1\u0139\1\67" + + "\1\u013b\21\67\1\u013a\1\67\1\u013b\5\67\1\0\24\67" + "\1\0\1\67\1\0\2\67\2\0\2\67\1\u013c\1\u013d" + + "\2\67\1\0\26\67\1\0\7\67\1\u013d\2\67\1\u013c" + "\12\67\1\u013e\21\67\1\0\1\u013e\23\67\1\0\1\67" + + "\1\0\2\67\2\0\1\u013f\1\u0140\1\u0141\1\67\1\u0142" + "\1\67\1\0\6\67\1\u0143\3\67\1\u0144\6\67\1\u0145" + + "\4\67\1\0\12\67\1\u0141\4\67\1\u013f\1\u0143\1\u0140" + "\6\67\1\u0145\1\u0142\5\67\1\u0144\7\67\1\0\24\67" + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\2\67" + "\1\u0146\23\67\1\0\13\67\1\u0146\1\67\1\u0147\7\67" + "\1\u0148\13\67\1\u0147\5\67\1\0\1\u0148\23\67\1\0" + "\1\67\1\0\2\67\2\0\2\67\1\114\2\67\1\u0149" + "\1\0\2\67\1\u014a\23\67\1\0\11\67\1\u0149\1\114" @@ -1307,31 +1321,38 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\3\115\1\0\131\115\52\0\1\u0152\66\0\3\120\1\0" + "\112\120\1\0\22\120\17\0\1\u0153\121\0\1\132\10\0" + "\6\132\1\0\11\132\1\0\1\132\1\0\3\132\1\0" + "\2\132\14\0\27\132\1\0\5\132\4\0\12\132\1\0" + "\7\132\3\0\1\u0154\4\0\1\u0155\35\0\1\65\3\0" + "\1\u0156\73\0\1\65\40\0\1\65\72\0\10\u0157\1\u0158" - + "\24\u0157\1\u0159\1\u0157\1\u015a\6\u0157\1\u015b\72\u0157\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u015d\12\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\17\0\1\u015e\26\0" + "\1\65\72\0\1\u015f\10\0\6\u015f\1\0\1\u015f\1\u0160" - + "\1\u0161\1\u015f\2\144\1\u015f\1\144\1\u015f\1\0\1\u015f" + "\1\0\3\u015f\1\0\1\u015f\1\u0162\1\0\1\u0163\12\0" - + "\4\u015f\1\u0161\1\u0162\1\u015f\1\u0160\11\u015f\1\u0162\5\u015f" + "\1\0\1\u015f\1\u0162\3\u015f\4\0\7\u015f\1\144\2\u015f" - + "\1\0\3\144\1\u015f\3\144\1\u015f\10\0\6\u015f\1\0" + "\1\u015f\1\u0160\1\u0161\1\u015f\1\u0164\1\u0165\1\u015f\1\u0165" - + "\1\u015f\1\0\1\u015f\1\0\3\u015f\1\0\1\u0166\1\u0162" + "\1\0\1\u0163\12\0\4\u015f\1\u0161\1\u0162\1\u015f\1\u0160" - + "\11\u015f\1\u0162\3\u015f\1\u0166\1\u015f\1\0\1\u015f\1\u0162" + "\3\u015f\4\0\7\u015f\1\u0165\2\u015f\1\0\3\u0165\1\u015f" + + "\24\u0157\1\u0159\1\u0157\1\u015a\6\u0157\1\u015b\72\u0157\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\14\141\1\u015d\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\17\0\1\u015e\26\0" + + "\1\65\72\0\1\u015f\10\0\6\u015f\1\0\1\u015f\1\u0160" + + "\1\u0161\1\u015f\2\144\1\u015f\1\144\1\u015f\1\0\1\u015f" + + "\1\0\3\u015f\1\0\1\u015f\1\u0162\1\0\1\u0163\12\0" + + "\4\u015f\1\u0161\1\u0162\1\u015f\1\u0160\11\u015f\1\u0162\5\u015f" + + "\1\0\1\u015f\1\u0162\3\u015f\4\0\7\u015f\1\144\2\u015f" + + "\1\0\3\144\1\u015f\3\144\1\u015f\10\0\6\u015f\1\0" + + "\1\u015f\1\u0160\1\u0161\1\u015f\1\u0164\1\u0165\1\u015f\1\u0165" + + "\1\u015f\1\0\1\u015f\1\0\3\u015f\1\0\1\u0166\1\u0162" + + "\1\0\1\u0163\12\0\4\u015f\1\u0161\1\u0162\1\u015f\1\u0160" + + "\11\u015f\1\u0162\3\u015f\1\u0166\1\u015f\1\0\1\u015f\1\u0162" + + "\3\u015f\4\0\7\u015f\1\u0165\2\u015f\1\0\3\u0165\1\u015f" + "\2\u0165\1\u0164\31\0\1\65\14\0\1\65\72\0\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0167\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\46\0" + "\1\65\134\0\1\65\3\0\1\65\116\0\2\u0163\1\0" + "\1\u0163\76\0\1\u0163\3\0\3\u0163\1\0\3\u0163\46\0" + "\1\65\6\0\1\65\63\0\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\141\1\u0168\3\141\1\u0169\2\141\1\u016a" + "\3\141\1\u016b\12\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u016c\11\141\1\u016d\5\141\1\u016e\3\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u016f\22\141\1\0" + + "\2\141\14\0\1\141\1\u0168\3\141\1\u0169\2\141\1\u016a" + + "\3\141\1\u016b\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u016c\11\141\1\u016d\5\141\1\u016e\3\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u0170\1\u0171\1\u0172" + "\3\141\1\u0173\7\141\1\u0174\1\u0175\1\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u0176\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u0177\5\141\1\u0178\1\u0179\6\141" + "\1\u017a\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" - + "\1\u017b\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u017c\11\141\1\u017d\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u017e\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\1\141\1\0\2\141\14\0\4\141\1\u016f\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u0170\1\u0171\1\u0172" + + "\3\141\1\u0173\7\141\1\u0174\1\u0175\1\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\u0176\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0177\5\141\1\u0178\1\u0179\6\141" + + "\1\u017a\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" + "\1\u017b\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u017c\11\141\1\u017d\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\u017e\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u017f\12\141\1\u0180\1\141\1\u0181\3\141" + "\1\u0182\3\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0183\12\141\1\u0184\4\141\1\u0185\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" @@ -1348,105 +1369,136 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u017a" + "\7\141\1\u0195\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0196\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\2\201\2\0\31\201\1\0\60\201\1\0" - + "\22\201\52\0\1\u0197\66\0\2\u0198\1\0\27\u0198\1\u0199" + "\50\u0198\1\u019a\35\u0198\2\206\2\0\3\206\1\0\25\206" + + "\22\201\52\0\1\u0197\66\0\2\u0198\1\0\27\u0198\1\u0199" + + "\50\u0198\1\u019a\35\u0198\2\206\2\0\3\206\1\0\25\206" + "\1\0\103\206\52\0\1\u019b\66\0\2\213\2\0\33\213" + "\1\0\23\213\1\0\7\213\1\0\1\213\1\0\43\213" - + "\10\0\1\u019c\140\0\1\u019d\206\0\1\u019e\1\0\1\u019f" + "\140\0\1\u01a0\155\0\1\u01a1\43\0\2\222\2\0\33\222" - + "\1\0\23\222\1\0\7\222\1\0\1\222\1\0\7\222" + "\1\0\4\222\1\0\26\222\10\0\1\u01a2\6\u01a3\1\u01a4" - + "\4\u01a3\2\0\1\u01a3\3\0\1\u01a3\5\0\2\u01a3\14\0" + "\27\u01a3\1\0\4\u01a3\5\0\7\u01a3\1\0\2\u01a3\4\0" - + "\1\u01a3\13\0\1\u01a5\206\0\1\u01a6\1\0\1\u01a7\140\0" + "\1\u01a8\155\0\1\u01a9\155\0\1\u01aa\104\0\1\u01ab\1\u01ac" + + "\10\0\1\u019c\140\0\1\u019d\206\0\1\u019e\1\0\1\u019f" + + "\140\0\1\u01a0\155\0\1\u01a1\43\0\2\222\2\0\33\222" + "\1\0\23\222\1\0\7\222\1\0\1\222\1\0\7\222" + + "\1\0\4\222\1\0\26\222\10\0\1\u01a2\6\u01a3\1\u01a4" + "\4\u01a3\2\0\1\u01a3\3\0\1\u01a3\5\0\2\u01a3\14\0" + + "\27\u01a3\1\0\4\u01a3\5\0\7\u01a3\1\0\2\u01a3\4\0" + + "\1\u01a3\13\0\1\u01a5\206\0\1\u01a6\1\0\1\u01a7\140\0" + + "\1\u01a8\155\0\1\u01a9\155\0\1\u01aa\104\0\1\u01ab\1\u01ac" + "\1\u01ad\1\u01ae\1\u01af\1\u01b0\1\u01b1\1\u01b2\1\u01b3\1\u01b4" - + "\1\u01b5\1\u01b6\1\u01b7\3\0\1\u01b8\1\u01b9\1\u01ba\1\0" + "\1\u01bb\36\0\2\233\2\0\57\233\1\0\7\233\1\0" - + "\1\233\1\0\43\233\10\0\1\u01bc\206\0\1\u01bd\1\0" + "\1\u01be\140\0\1\u01bf\155\0\1\u01c0\46\0\1\u0154\42\0" - + "\1\65\102\0\1\250\26\0\1\u01c1\6\0\1\65\72\0" + "\1\132\10\0\2\141\1\u01c2\3\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u01c3\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u01c4\1\u01c5" + "\1\u01c6\2\141\1\u01c7\1\141\1\u01c8\1\141\1\u01c9\1\141" + + "\1\u01b5\1\u01b6\1\u01b7\3\0\1\u01b8\1\u01b9\1\u01ba\1\0" + + "\1\u01bb\36\0\2\233\2\0\57\233\1\0\7\233\1\0" + "\1\233\1\0\43\233\10\0\1\u01bc\206\0\1\u01bd\1\0" + + "\1\u01be\140\0\1\u01bf\155\0\1\u01c0\46\0\1\u0154\42\0" + "\1\65\102\0\1\250\26\0\1\u01c1\6\0\1\65\72\0" + + "\1\132\10\0\2\141\1\u01c2\3\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u01c3\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u01c4\1\u01c5" + + "\1\u01c6\2\141\1\u01c7\1\141\1\u01c8\1\141\1\u01c9\1\141" + "\1\u01ca\3\141\1\u01c7\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\2\250\1\0\136\250\1\132\10\0" - + "\6\u01cb\1\0\4\u01cb\2\141\1\u01cb\1\141\1\u01cb\1\0" + "\1\u01cb\1\0\1\132\1\u015c\1\141\1\0\2\u01cb\14\0" - + "\27\u01cb\1\0\4\u01cb\1\132\4\0\7\u01cb\1\141\2\u01cb" + "\1\0\3\141\1\u01cb\3\141\17\0\1\u01cc\121\0\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u01cd\1\u01ce" - + "\2\141\1\u0169\2\141\1\u01cf\1\u01d0\1\u01d1\1\u01d2\1\u01d3" + "\4\141\1\u01d4\1\u01d5\4\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u01d6\1\141\1\u01d7\1\141\1\u01d8\1\141\1\u01d9" + "\1\141\1\u01da\1\u01db\1\u01dc\2\141\1\u01dd\1\u01de\1\141" + + "\6\u01cb\1\0\4\u01cb\2\141\1\u01cb\1\141\1\u01cb\1\0" + + "\1\u01cb\1\0\1\132\1\u015c\1\141\1\0\2\u01cb\14\0" + + "\27\u01cb\1\0\4\u01cb\1\132\4\0\7\u01cb\1\141\2\u01cb" + + "\1\0\3\141\1\u01cb\3\141\17\0\1\u01cc\121\0\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u01cd\1\u01ce" + + "\2\141\1\u0169\2\141\1\u01cf\1\u01d0\1\u01d1\1\u01d2\1\u01d3" + + "\4\141\1\u01d4\1\u01d5\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u01d6\1\141\1\u01d7\1\141\1\u01d8\1\141\1\u01d9" + + "\1\141\1\u01da\1\u01db\1\u01dc\2\141\1\u01dd\1\u01de\1\141" + "\1\u01df\1\u01e0\1\141\1\u01e1\3\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u01e2\1\u01e3\1\141\1\u01e4\1\u01e5\1\141" - + "\1\u01e6\3\141\1\u01e7\2\141\1\u01e8\1\u01e9\4\141\1\u01ea" + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u01eb" - + "\1\u01ec\1\141\1\u01ed\1\141\1\u01ee\1\141\1\u01ef\5\141" + "\1\u01f0\3\141\1\u01f1\4\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\141\1\u01f2\1\141\1\u01f3\2\141\1\u01f4\1\u01f5" + "\1\u01f6\1\u01f7\1\u01f8\1\141\1\u01f9\1\141\1\u01fa\5\141" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u01e2\1\u01e3\1\141\1\u01e4\1\u01e5\1\141" + + "\1\u01e6\3\141\1\u01e7\2\141\1\u01e8\1\u01e9\4\141\1\u01ea" + + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u01eb" + + "\1\u01ec\1\141\1\u01ed\1\141\1\u01ee\1\141\1\u01ef\5\141" + + "\1\u01f0\3\141\1\u01f1\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u01f2\1\141\1\u01f3\2\141\1\u01f4\1\u01f5" + + "\1\u01f6\1\u01f7\1\u01f8\1\141\1\u01f9\1\141\1\u01fa\5\141" + "\1\u01fb\1\u01fc\1\141\1\0\4\141\1\132\4\0\11\141" + "\1\u01fd\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u01fe\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u01ff\1\u0200\1\u0201\1\u0202\1\u0203\1\u0204\1\u0178" - + "\1\u0205\1\u0206\1\u0207\1\u0208\1\u0209\1\u020a\1\141\1\u020b" + "\1\u020c\2\141\1\u020d\4\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u020e\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u020f\1\u0210\3\141\1\u0211\1\u0212\1\u0213" + "\1\u0214\1\u0215\1\u0216\4\141\1\u0217\1\u0218\4\141\1\0" + + "\1\0\1\u01fe\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u01ff\1\u0200\1\u0201\1\u0202\1\u0203\1\u0204\1\u0178" + + "\1\u0205\1\u0206\1\u0207\1\u0208\1\u0209\1\u020a\1\141\1\u020b" + + "\1\u020c\2\141\1\u020d\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\u020e\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u020f\1\u0210\3\141\1\u0211\1\u0212\1\u0213" + + "\1\u0214\1\u0215\1\u0216\4\141\1\u0217\1\u0218\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u0219\1\141\1\u01ec\1\141" + "\1\u021a\1\141\1\u021b\1\141\1\u021c\1\141\1\u021d\3\141" + + "\1\141\1\0\2\141\14\0\1\u0219\1\141\1\u01ec\1\141" + + "\1\u021a\1\141\1\u021b\1\141\1\u021c\1\141\1\u021d\3\141" + "\1\u021e\2\141\1\u021f\5\141\1\0\4\141\1\132\4\0" + "\11\141\1\u0220\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\u0221\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0222\1\141\1\u0223\1\u0224\1\u0225\1\141" + + "\11\141\1\0\1\u0221\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u0222\1\141\1\u0223\1\u0224\1\u0225\1\141" + "\1\u0226\1\u0227\1\u0228\1\141\1\u0229\1\141\1\u022a\1\u022b" - + "\1\u022c\1\u022d\1\u022e\1\141\1\u022f\1\u0230\2\141\1\u0231" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0232\2\141\1\u0183" + + "\1\u022c\1\u022d\1\u022e\1\141\1\u022f\1\u0230\2\141\1\u0231" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u0232\2\141\1\u0183" + "\1\u0233\1\141\1\u0234\3\141\1\u0235\14\141\1\0\4\141" + "\1\132\4\0\11\141\1\u0236\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u0237\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0238\1\u0239\1\u023a" - + "\1\u023b\1\u023c\2\141\1\u023d\2\141\1\u023e\1\u023f\4\141" + "\1\u0240\3\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" - + "\1\u0241\1\141\1\u0242\1\u0243\2\141\1\u0244\6\141\1\u018a" + "\2\141\1\u0245\5\141\1\0\4\141\1\132\4\0\11\141" - + "\1\u0246\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u0247\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u0248\1\141\1\u0249\1\u024a\1\u024b\2\141" + "\1\u024c\2\141\1\u024d\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u024e\1\141\1\u024f\1\141\1\u0250\1\141\1\u0251" + "\10\141\1\u0252\3\141\1\u0253\3\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u0254\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0255\1\141\1\u0256\1\141\1\u0257" + "\1\141\1\u0258\1\u0259\4\141\1\u025a\1\141\1\u025b\1\u025c" + + "\1\u023b\1\u023c\2\141\1\u023d\2\141\1\u023e\1\u023f\4\141" + + "\1\u0240\3\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + + "\1\u0241\1\141\1\u0242\1\u0243\2\141\1\u0244\6\141\1\u018a" + + "\2\141\1\u0245\5\141\1\0\4\141\1\132\4\0\11\141" + "\1\u0246\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\u0247\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u0248\1\141\1\u0249\1\u024a\1\u024b\2\141" + + "\1\u024c\2\141\1\u024d\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u024e\1\141\1\u024f\1\141\1\u0250\1\141\1\u0251" + + "\10\141\1\u0252\3\141\1\u0253\3\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\u0254\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u0255\1\141\1\u0256\1\141\1\u0257" + + "\1\141\1\u0258\1\u0259\4\141\1\u025a\1\141\1\u025b\1\u025c" + "\1\141\1\u025d\2\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u025e\11\141\1\u018f\1\u025f\2\141\1\u0260\5\141" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u025e\11\141\1\u018f\1\u025f\2\141\1\u0260\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\4\141\1\u0261" + "\2\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0262" + "\2\141\1\u01c7\1\u0263\3\141\1\u01ef\16\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u0264\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u0265\2\141\1\u0266\1\u0267\1\141" + "\1\u0268\1\u0269\1\u026a\1\u026b\1\u026c\1\u024c\1\u026d\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0262" + + "\2\141\1\u01c7\1\u0263\3\141\1\u01ef\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\u0264\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0265\2\141\1\u0266\1\u0267\1\141" + + "\1\u0268\1\u0269\1\u026a\1\u026b\1\u026c\1\u024c\1\u026d\1\141" + "\1\u026e\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u026f" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0270" + "\2\141\1\u0271\1\141\1\u0272\1\u0273\3\141\1\u0274\1\u0275" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0270" + + "\2\141\1\u0271\1\141\1\u0272\1\u0273\3\141\1\u0274\1\u0275" + "\1\u0276\1\u0277\1\u0278\2\141\1\u0279\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\22\141\1\u027a\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u027b\3\141\1\u027c\1\u027d\1\u027e" + "\1\141\1\u027d\11\141\1\u027f\4\141\1\0\4\141\1\132" + + "\1\0\2\141\14\0\1\u027b\3\141\1\u027c\1\u027d\1\u027e" + + "\1\141\1\u027d\11\141\1\u027f\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u0280\1\u0281\4\141\1\u0282\1\141\1\u0283" + + "\5\141\1\u017a\3\141\1\u0284\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\u0285\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u0286\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u0280\1\u0281\4\141\1\u0282\1\141\1\u0283" + "\5\141\1\u017a\3\141\1\u0284\4\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u0285\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\21\141\1\u0286\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\2\141\1\u0287\1\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\1\u0288\3\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\u0289\1\0\4\u0289" - + "\2\132\1\u0289\1\132\1\u0289\1\0\1\u0289\1\0\2\132" + "\1\u0289\1\0\2\u0289\14\0\27\u0289\1\0\4\u0289\1\132" + + "\2\141\14\0\27\141\1\0\2\141\1\u0287\1\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\1\u0288\3\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\u0289\1\0\4\u0289" + "\2\132\1\u0289\1\132\1\u0289\1\0\1\u0289\1\0\2\132" + + "\1\u0289\1\0\2\u0289\14\0\27\u0289\1\0\4\u0289\1\132" + "\4\0\7\u0289\1\132\2\u0289\1\0\3\132\1\u0289\4\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u028a\3\141\1\u028b" + "\2\141\1\u028c\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u028d\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u028e\1\141\1\u028f\1\141\1\u0290\5\141\1\u0291" + "\2\141\1\u0292\1\u0293\4\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\2\311\1\0\34\311\1\0\23\311" + "\1\0\7\311\1\0\1\311\1\0\43\311\10\0\1\u0294" - + "\130\0\2\314\1\0\4\314\1\0\25\314\2\0\102\314" + "\2\u0295\1\0\136\u0295\11\0\6\u0296\1\0\4\u0296\2\0" + + "\4\141\1\u028e\1\141\1\u028f\1\141\1\u0290\5\141\1\u0291" + + "\2\141\1\u0292\1\u0293\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\2\311\1\0\34\311\1\0\23\311" + + "\1\0\7\311\1\0\1\311\1\0\43\311\10\0\1\u0294" + "\130\0\2\314\1\0\4\314\1\0\25\314\2\0\102\314" + + "\2\u0295\1\0\136\u0295\11\0\6\u0296\1\0\4\u0296\2\0" + "\1\u0296\1\0\1\u0296\1\0\1\u0296\5\0\2\u0296\14\0" + "\27\u0296\1\0\4\u0296\5\0\7\u0296\1\0\2\u0296\4\0" + "\1\u0296\3\0\2\321\1\0\32\321\1\0\60\321\1\0" + "\22\321\2\u0297\1\0\136\u0297\10\0\1\u0298\41\0\1\u0156" + "\125\0\1\u0299\112\0\6\332\1\0\13\332\5\0\2\332" + "\1\0\1\332\12\0\27\332\1\0\4\332\5\0\12\332" + "\1\0\7\332\11\0\6\u029a\1\0\4\u029a\2\0\1\u029a" + "\1\0\3\u029a\4\0\3\u029a\1\0\1\u029a\12\0\27\u029a" - + "\1\0\4\u029a\5\0\7\u029a\1\0\2\u029a\4\0\1\u029a" + "\56\0\1\u029b\4\0\1\u029c\1\u029d\1\u029e\1\u029f\1\u02a0" - + "\1\u02a1\2\0\1\u02a2\1\0\1\u02a3\1\u02a4\1\u02a5\2\0" + "\1\u02a6\2\0\1\u02a7\47\0\6\u02a8\1\0\4\u02a8\2\0" - + "\1\u02a8\1\0\3\u02a8\4\0\3\u02a8\1\0\1\u02a8\12\0" + "\27\u02a8\1\0\4\u02a8\5\0\7\u02a8\1\0\2\u02a8\4\0" - + "\1\u02a8\14\0\6\344\1\0\13\344\5\0\2\344\14\0" + "\27\344\1\0\4\344\5\0\12\344\1\0\7\344\11\0" - + "\6\344\1\0\4\344\2\0\1\344\1\0\3\344\5\0" + "\2\344\14\0\27\344\1\0\4\344\5\0\7\344\1\0" - + "\2\344\4\0\1\344\13\0\7\355\1\0\4\355\2\0" + "\1\355\1\0\3\355\2\0\1\355\1\0\1\u0299\2\355" - + "\14\0\27\355\1\0\4\355\2\0\1\363\2\0\7\355" + "\1\0\2\355\4\0\1\355\13\0\7\355\1\0\4\355" - + "\2\0\1\355\1\0\3\355\2\0\1\355\2\0\2\355" + "\14\0\27\355\1\0\4\355\2\0\1\363\2\0\7\355" - + "\1\0\2\355\4\0\1\355\27\0\2\356\1\0\1\356" + "\13\0\1\356\4\0\1\u02a9\5\0\1\u02aa\1\u02ab\2\0" - + "\1\u02ac\3\0\1\u02a9\1\0\1\u02ad\7\0\1\u02ae\25\0" + "\1\356\3\0\3\356\1\0\3\356\10\0\7\355\1\0" - + "\4\355\2\356\1\355\1\356\3\355\2\0\1\355\2\0" + "\2\355\14\0\27\355\1\0\4\355\2\0\1\363\2\0" - + "\7\355\1\356\2\355\1\0\3\356\1\355\3\356\12\0" + "\1\u02af\7\0\1\u02af\1\0\4\u02af\11\0\1\u02af\20\0" - + "\3\u02af\2\0\2\u02af\6\0\1\u02af\7\0\2\u02af\15\0" + "\1\u02af\3\0\3\u02af\1\0\3\u02af\56\0\1\u02b0\72\0" - + "\1\u02b1\130\0\2\372\1\0\32\372\2\0\72\372\1\0" + "\7\372\105\0\1\u02b2\33\0\2\377\1\0\33\377\1\0" - + "\5\377\1\0\74\377\105\0\1\u02b3\44\0\6\u02b4\1\0" + "\10\u02b4\2\0\1\u02b4\5\0\2\u02b4\14\0\27\u02b4\1\0" - + "\4\u02b4\5\0\12\u02b4\1\0\7\u02b4\11\0\1\u0105\1\u02b5" + "\3\u0105\1\u02b6\1\0\10\u0105\2\0\1\u0105\5\0\2\u0105" - + "\14\0\2\u0105\1\u02b6\7\u0105\1\u02b5\14\u0105\1\0\4\u0105" + "\5\0\12\u0105\1\0\7\u0105\11\0\6\u0105\1\0\10\u0105" - + "\2\0\1\u0105\5\0\2\u0105\14\0\27\u0105\1\0\4\u0105" + "\5\0\12\u0105\1\0\7\u0105\31\0\1\u02b7\207\0\1\u02b8" + + "\1\0\4\u029a\5\0\7\u029a\1\0\2\u029a\4\0\1\u029a" + + "\56\0\1\u029b\4\0\1\u029c\1\u029d\1\u029e\1\u029f\1\u02a0" + + "\1\u02a1\2\0\1\u02a2\1\0\1\u02a3\1\u02a4\1\u02a5\2\0" + + "\1\u02a6\2\0\1\u02a7\47\0\6\u02a8\1\0\4\u02a8\2\0" + "\1\u02a8\1\0\3\u02a8\4\0\3\u02a8\1\0\1\u02a8\12\0" + + "\27\u02a8\1\0\4\u02a8\5\0\7\u02a8\1\0\2\u02a8\4\0" + "\1\u02a8\14\0\6\344\1\0\13\344\5\0\2\344\14\0" + + "\27\344\1\0\4\344\5\0\12\344\1\0\7\344\11\0" + "\6\344\1\0\4\344\2\0\1\344\1\0\3\344\5\0" + + "\2\344\14\0\27\344\1\0\4\344\5\0\7\344\1\0" + "\2\344\4\0\1\344\13\0\7\355\1\0\4\355\2\0" + + "\1\355\1\0\3\355\2\0\1\355\1\0\1\u0299\2\355" + "\14\0\27\355\1\0\4\355\2\0\1\363\2\0\7\355" + + "\1\0\2\355\4\0\1\355\13\0\7\355\1\0\4\355" + "\2\0\1\355\1\0\3\355\2\0\1\355\2\0\2\355" + + "\14\0\27\355\1\0\4\355\2\0\1\363\2\0\7\355" + "\1\0\2\355\4\0\1\355\27\0\2\356\1\0\1\356" + + "\13\0\1\356\4\0\1\u02a9\5\0\1\u02aa\1\u02ab\2\0" + "\1\u02ac\3\0\1\u02a9\1\0\1\u02ad\7\0\1\u02ae\25\0" + + "\1\356\3\0\3\356\1\0\3\356\10\0\7\355\1\0" + "\4\355\2\356\1\355\1\356\3\355\2\0\1\355\2\0" + + "\2\355\14\0\27\355\1\0\4\355\2\0\1\363\2\0" + "\7\355\1\356\2\355\1\0\3\356\1\355\3\356\12\0" + + "\1\u02af\7\0\1\u02af\1\0\4\u02af\11\0\1\u02af\20\0" + "\3\u02af\2\0\2\u02af\6\0\1\u02af\7\0\2\u02af\15\0" + + "\1\u02af\3\0\3\u02af\1\0\3\u02af\56\0\1\u02b0\72\0" + "\1\u02b1\130\0\2\372\1\0\32\372\2\0\72\372\1\0" + + "\7\372\105\0\1\u02b2\33\0\2\377\1\0\33\377\1\0" + "\5\377\1\0\74\377\105\0\1\u02b3\44\0\6\u02b4\1\0" + + "\10\u02b4\2\0\1\u02b4\5\0\2\u02b4\14\0\27\u02b4\1\0" + + "\4\u02b4\5\0\12\u02b4\1\0\7\u02b4\11\0\1\u0105\1\u02b5" + + "\3\u0105\1\u02b6\1\0\10\u0105\2\0\1\u0105\5\0\2\u0105" + + "\14\0\2\u0105\1\u02b6\7\u0105\1\u02b5\14\u0105\1\0\4\u0105" + + "\5\0\12\u0105\1\0\7\u0105\11\0\6\u0105\1\0\10\u0105" + + "\2\0\1\u0105\5\0\2\u0105\14\0\27\u0105\1\0\4\u0105" + + "\5\0\12\u0105\1\0\7\u0105\31\0\1\u02b7\207\0\1\u02b8" + "\57\0\1\u02b9\206\0\1\u02ba\153\0\1\u02bb\120\0\1\u02bc" + "\155\0\1\u02bd\43\0\2\57\1\0\1\57\1\0\2\57" + "\2\0\6\57\1\0\26\57\1\0\31\57\1\u02be\15\57" + "\1\0\22\57\2\67\1\0\1\67\1\0\2\67\2\0" + "\2\67\1\u02bf\3\67\1\0\26\67\1\0\12\67\1\u02bf" + "\34\67\1\0\24\67\1\0\1\67\1\0\2\67\2\0" @@ -1510,187 +1562,212 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\6\67\1\0\21\67\1\u02f5\4\67\1\0\30\67\1\u02f5" + "\16\67\1\0\24\67\1\0\1\67\1\0\2\67\2\0" + "\1\u02ee\5\67\1\0\26\67\1\0\17\67\1\u02ee\27\67" + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\6\67" + "\1\0\26\67\1\0\33\67\1\114\13\67\1\0\5\67" + "\1\114\16\67\1\0\1\67\1\0\2\67\2\0\1\u02f6" - + "\5\67\1\0\1\67\1\u011d\1\u02f7\3\67\1\u0151\17\67" + "\1\0\13\67\1\u02f7\1\u02f8\1\67\1\u011d\1\u02f6\1\u0151" - + "\17\67\1\u02f8\6\67\1\0\24\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\26\67\1\0\10\67\1\u02f9" - + "\36\67\1\0\1\67\1\u02f9\22\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\26\67\1\0\15\67\1\u02fa" - + "\23\67\1\u02fa\5\67\1\0\24\67\1\0\1\67\1\0" + "\2\67\2\0\5\67\1\u02fb\1\0\26\67\1\0\11\67" - + "\1\u02fb\35\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\26\67\1\0\47\67\1\0\10\67" - + "\1\u02c4\5\67\1\u02c4\5\67\1\0\1\67\1\0\2\67" + "\2\0\5\67\1\u02fc\1\0\26\67\1\0\11\67\1\u02fc" - + "\35\67\1\0\24\67\1\0\1\67\1\0\2\67\2\0" + "\6\67\1\0\1\u02fd\25\67\1\0\32\67\1\u02fd\14\67" - + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\6\67" + "\1\0\21\67\1\114\4\67\1\0\30\67\1\114\16\67" - + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\6\67" + "\1\0\21\67\1\u02fe\4\67\1\0\30\67\1\u02fe\16\67" - + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\2\67" + "\1\114\3\67\1\0\26\67\1\0\12\67\1\114\34\67" - + "\1\0\22\67\100\0\1\u02ff\51\0\1\u0300\54\0\1\u0300" + "\152\0\1\u0301\40\0\10\u0157\1\u0302\24\u0157\1\u0159\105\u0157" + + "\5\67\1\0\1\67\1\u011d\1\u02f7\3\67\1\u0151\17\67" + + "\1\0\13\67\1\u02f7\1\u02f8\1\67\1\u011d\1\u02f6\1\u0151" + "\17\67\1\u02f8\6\67\1\0\24\67\1\0\1\67\1\0" + + "\2\67\2\0\6\67\1\0\26\67\1\0\10\67\1\u02f9" + "\36\67\1\0\1\67\1\u02f9\22\67\1\0\1\67\1\0" + + "\2\67\2\0\6\67\1\0\26\67\1\0\15\67\1\u02fa" + "\23\67\1\u02fa\5\67\1\0\24\67\1\0\1\67\1\0" + + "\2\67\2\0\5\67\1\u02fb\1\0\26\67\1\0\11\67" + "\1\u02fb\35\67\1\0\24\67\1\0\1\67\1\0\2\67" + + "\2\0\6\67\1\0\26\67\1\0\47\67\1\0\10\67" + "\1\u02c4\5\67\1\u02c4\5\67\1\0\1\67\1\0\2\67" + + "\2\0\5\67\1\u02fc\1\0\26\67\1\0\11\67\1\u02fc" + "\35\67\1\0\24\67\1\0\1\67\1\0\2\67\2\0" + + "\6\67\1\0\1\u02fd\25\67\1\0\32\67\1\u02fd\14\67" + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\6\67" + + "\1\0\21\67\1\114\4\67\1\0\30\67\1\114\16\67" + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\6\67" + + "\1\0\21\67\1\u02fe\4\67\1\0\30\67\1\u02fe\16\67" + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\2\67" + + "\1\114\3\67\1\0\26\67\1\0\12\67\1\114\34\67" + "\1\0\22\67\100\0\1\u02ff\51\0\1\u0300\54\0\1\u0300" + + "\152\0\1\u0301\40\0\10\u0157\1\u0302\24\u0157\1\u0159\105\u0157" + "\1\0\136\u0157\37\0\1\u0303\101\0\1\132\10\0\6\132" + "\1\0\11\132\1\0\1\u0304\1\0\3\132\1\0\2\132" + "\14\0\27\132\1\0\5\132\4\0\12\132\1\0\10\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u0305\21\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\17\0" + "\1\151\26\0\1\65\72\0\1\u015f\10\0\6\u015f\1\0" + "\11\u015f\1\0\1\u015f\1\0\3\u015f\1\0\2\u015f\14\0" - + "\27\u015f\1\0\5\u015f\4\0\12\u015f\1\0\10\u015f\10\0" + "\6\u015f\1\0\4\u015f\2\u0306\1\u015f\1\u0306\1\u015f\1\u0307" - + "\1\u015f\1\0\3\u015f\1\0\2\u015f\1\u0307\13\0\27\u015f" + "\1\0\5\u015f\4\0\7\u015f\1\u0306\2\u015f\1\0\3\u0306" - + "\1\u015f\3\u0306\1\u015f\10\0\6\u015f\1\0\2\u015f\1\u0161" + "\1\u015f\2\u0163\1\u015f\1\u0163\1\u015f\1\0\1\u015f\1\0" - + "\3\u015f\1\0\1\u015f\1\u0162\14\0\4\u015f\1\u0161\1\u0162" + "\13\u015f\1\u0162\5\u015f\1\0\1\u015f\1\u0162\3\u015f\4\0" - + "\7\u015f\1\u0163\2\u015f\1\0\3\u0163\1\u015f\3\u0163\1\u015f" + "\10\0\6\u015f\1\0\2\u015f\1\u0161\1\u015f\2\u0164\1\u015f" - + "\1\u0164\1\u015f\1\0\1\u015f\1\0\3\u015f\1\0\1\u015f" + "\1\u0162\1\0\1\u0163\12\0\4\u015f\1\u0161\1\u0162\13\u015f" - + "\1\u0162\5\u015f\1\0\1\u015f\1\u0162\3\u015f\4\0\7\u015f" + "\1\u0164\2\u015f\1\0\3\u0164\1\u015f\3\u0164\1\u015f\10\0" - + "\6\u015f\1\0\1\u015f\1\u0308\1\u0161\1\u015f\1\u0164\1\u0165" + "\1\u015f\1\u0165\1\u015f\1\0\1\u015f\1\0\3\u015f\1\0" - + "\1\u015f\1\u0162\1\0\1\u0163\12\0\4\u015f\1\u0161\1\u0162" + "\1\u015f\1\u0308\11\u015f\1\u0162\5\u015f\1\0\1\u015f\1\u0162" - + "\3\u015f\4\0\7\u015f\1\u0165\2\u015f\1\0\3\u0165\1\u015f" + "\2\u0165\1\u0164\1\u015f\10\0\1\u015f\1\u0309\4\u015f\1\0" - + "\2\u015f\1\u0309\1\u015f\4\u0309\1\u015f\1\0\1\u015f\1\0" + "\3\u015f\1\0\1\u015f\1\u0309\14\0\4\u015f\3\u0309\2\u015f" - + "\2\u0309\6\u015f\1\u0309\5\u015f\1\0\1\u015f\2\u0309\2\u015f" + "\4\0\7\u015f\1\u0309\2\u015f\1\0\3\u0309\1\u015f\3\u0309" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u030a" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u030b" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\1\141\1\u030c\1\141\1\u030d\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u030e\5\141\1\u030f\16\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u0310\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0311\14\141\1\u0169\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0312\2\141\1\u0313\23\141\1\0" + + "\27\u015f\1\0\5\u015f\4\0\12\u015f\1\0\10\u015f\10\0" + + "\6\u015f\1\0\4\u015f\2\u0306\1\u015f\1\u0306\1\u015f\1\u0307" + + "\1\u015f\1\0\3\u015f\1\0\2\u015f\1\u0307\13\0\27\u015f" + + "\1\0\5\u015f\4\0\7\u015f\1\u0306\2\u015f\1\0\3\u0306" + + "\1\u015f\3\u0306\1\u015f\10\0\6\u015f\1\0\2\u015f\1\u0161" + + "\1\u015f\2\u0163\1\u015f\1\u0163\1\u015f\1\0\1\u015f\1\0" + + "\3\u015f\1\0\1\u015f\1\u0162\14\0\4\u015f\1\u0161\1\u0162" + + "\13\u015f\1\u0162\5\u015f\1\0\1\u015f\1\u0162\3\u015f\4\0" + + "\7\u015f\1\u0163\2\u015f\1\0\3\u0163\1\u015f\3\u0163\1\u015f" + + "\10\0\6\u015f\1\0\2\u015f\1\u0161\1\u015f\2\u0164\1\u015f" + + "\1\u0164\1\u015f\1\0\1\u015f\1\0\3\u015f\1\0\1\u015f" + + "\1\u0162\1\0\1\u0163\12\0\4\u015f\1\u0161\1\u0162\13\u015f" + + "\1\u0162\5\u015f\1\0\1\u015f\1\u0162\3\u015f\4\0\7\u015f" + + "\1\u0164\2\u015f\1\0\3\u0164\1\u015f\3\u0164\1\u015f\10\0" + + "\6\u015f\1\0\1\u015f\1\u0308\1\u0161\1\u015f\1\u0164\1\u0165" + + "\1\u015f\1\u0165\1\u015f\1\0\1\u015f\1\0\3\u015f\1\0" + + "\1\u015f\1\u0162\1\0\1\u0163\12\0\4\u015f\1\u0161\1\u0162" + + "\1\u015f\1\u0308\11\u015f\1\u0162\5\u015f\1\0\1\u015f\1\u0162" + + "\3\u015f\4\0\7\u015f\1\u0165\2\u015f\1\0\3\u0165\1\u015f" + + "\2\u0165\1\u0164\1\u015f\10\0\1\u015f\1\u0309\4\u015f\1\0" + + "\2\u015f\1\u0309\1\u015f\4\u0309\1\u015f\1\0\1\u015f\1\0" + + "\3\u015f\1\0\1\u015f\1\u0309\14\0\4\u015f\3\u0309\2\u015f" + + "\2\u0309\6\u015f\1\u0309\5\u015f\1\0\1\u015f\2\u0309\2\u015f" + + "\4\0\7\u015f\1\u0309\2\u015f\1\0\3\u0309\1\u015f\3\u0309" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u030a" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u030b" + + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\1\141\1\u030c\1\141\1\u030d\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u030e\5\141\1\u030f\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\u0310\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0311\14\141\1\u0169\3\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\u0312\2\141\1\u0313\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u0314\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\22\141\1\u0314\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0315\24\141\1\0" + + "\1\141\1\0\2\141\14\0\2\141\1\u0315\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u0316\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\12\141\1\u0316\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u0317\16\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\12\141\1\u0318\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\u0319\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\1\141\1\0\2\141\14\0\10\141\1\u0317\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u0318\14\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u0319\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u031a\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u031a\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u031b\17\141\1\u031c\4\141\1\0" + + "\2\141\14\0\2\141\1\u031b\17\141\1\u031c\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u031d\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u031d\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u031e\12\141\1\0" + + "\1\141\1\0\2\141\14\0\14\141\1\u031e\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u031f\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\7\141\1\u031f\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0320\10\141\1\0" + + "\1\141\1\0\2\141\14\0\16\141\1\u0320\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0169\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u0169\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u0321\16\141\1\0" + + "\1\141\1\0\2\141\14\0\10\141\1\u0321\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0322\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u0322\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u0323\12\141\1\0" + + "\1\141\1\0\2\141\14\0\14\141\1\u0323\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u0324\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\22\141\1\u0324\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u0325\20\141\1\0" + + "\1\141\1\0\2\141\14\0\6\141\1\u0325\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0326\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u0326\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0327\26\141\1\0\4\141" + + "\1\141\1\0\2\141\14\0\1\u0327\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u0328\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\14\141\1\u0328\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0329\22\141\1\0\4\141" + + "\1\0\2\141\14\0\4\141\1\u0329\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u032a\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u032a\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u032b\24\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u032c\5\141\1\u0317\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u032d\20\141" + + "\1\0\2\141\14\0\2\141\1\u032b\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u032c\5\141\1\u0317\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u032e\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u032f\12\141" + + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u032d\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u032e\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0330\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0331\17\141" + + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u032f\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0330\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u0169\7\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0332\24\141" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0331\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u0169\7\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0333\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0334\26\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\5\141\1\u0335\1\141\1\u0336" + "\1\141\1\u0337\15\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u0338\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u0339" + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u033a\15\141" - + "\1\u033b\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u033c\6\141\1\u033d\14\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u0216\6\141\1\u033e\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\3\141\1\u0169\1\132\4\0" - + "\12\141\1\0\7\141\100\0\1\u033f\52\0\1\u0340\7\0" + "\1\u0340\1\0\4\u0340\11\0\1\u0340\20\0\3\u0340\2\0" - + "\2\u0340\6\0\1\u0340\7\0\2\u0340\15\0\1\u0340\3\0" + "\3\u0340\1\0\3\u0340\12\0\1\u0341\7\0\1\u0341\1\0" - + "\4\u0341\11\0\1\u0341\20\0\3\u0341\2\0\2\u0341\6\0" + "\1\u0341\7\0\2\u0341\15\0\1\u0341\3\0\3\u0341\1\0" - + "\3\u0341\100\0\1\u0342\51\0\1\u0343\54\0\1\u0343\137\0" + "\1\u0344\153\0\1\u0345\120\0\1\u0346\155\0\1\u0347\54\0" - + "\6\u01a3\1\u01a4\4\u01a3\2\0\1\u01a3\3\0\1\u01a3\5\0" + "\2\u01a3\14\0\27\u01a3\1\0\4\u01a3\5\0\7\u01a3\1\0" - + "\2\u01a3\4\0\1\u01a3\3\0\17\u01a3\1\u01a4\121\u01a3\65\0" + "\1\u0348\153\0\1\u0349\120\0\1\u034a\155\0\1\u034b\123\0" - + "\1\u034c\4\0\1\u034d\144\0\1\u034e\1\u034f\124\0\1\u0350" + "\3\0\1\u0351\11\0\1\u0352\137\0\1\u0353\1\u0354\4\0" - + "\1\u0355\121\0\1\u0356\150\0\1\u0357\7\0\1\u0358\1\u0359" + "\113\0\1\u035a\114\0\1\u035b\32\0\1\u035c\1\0\1\u035d" - + "\1\u035e\126\0\1\u035f\3\0\1\u0360\110\0\1\u0361\23\0" + "\1\u0362\1\0\1\u0363\1\0\1\u0364\152\0\1\u0365\130\0" - + "\1\u0366\1\u0367\6\0\1\u0368\131\0\1\u0369\137\0\1\u036a" + "\132\0\1\u036b\144\0\1\u036c\110\0\1\u036d\26\0\1\u036e" - + "\2\0\1\u036f\136\0\1\u0370\1\0\1\u0371\65\0\1\u0372" + "\54\0\1\u0372\137\0\1\u0373\153\0\1\u0374\120\0\1\u0375" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0332\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0333\24\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u0334\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\5\141\1\u0335\1\141\1\u0336" + + "\1\141\1\u0337\15\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\u0338\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u0339" + + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u033a\15\141" + "\1\u033b\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u033c\6\141\1\u033d\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0216\6\141\1\u033e\17\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\3\141\1\u0169\1\132\4\0" + "\12\141\1\0\7\141\100\0\1\u033f\52\0\1\u0340\7\0" + + "\1\u0340\1\0\4\u0340\11\0\1\u0340\20\0\3\u0340\2\0" + "\2\u0340\6\0\1\u0340\7\0\2\u0340\15\0\1\u0340\3\0" + + "\3\u0340\1\0\3\u0340\12\0\1\u0341\7\0\1\u0341\1\0" + "\4\u0341\11\0\1\u0341\20\0\3\u0341\2\0\2\u0341\6\0" + + "\1\u0341\7\0\2\u0341\15\0\1\u0341\3\0\3\u0341\1\0" + + "\3\u0341\100\0\1\u0342\51\0\1\u0343\54\0\1\u0343\137\0" + + "\1\u0344\153\0\1\u0345\120\0\1\u0346\155\0\1\u0347\54\0" + + "\6\u01a3\1\u01a4\4\u01a3\2\0\1\u01a3\3\0\1\u01a3\5\0" + + "\2\u01a3\14\0\27\u01a3\1\0\4\u01a3\5\0\7\u01a3\1\0" + + "\2\u01a3\4\0\1\u01a3\3\0\17\u01a3\1\u01a4\121\u01a3\65\0" + + "\1\u0348\153\0\1\u0349\120\0\1\u034a\155\0\1\u034b\123\0" + + "\1\u034c\4\0\1\u034d\144\0\1\u034e\1\u034f\124\0\1\u0350" + + "\3\0\1\u0351\11\0\1\u0352\137\0\1\u0353\1\u0354\4\0" + + "\1\u0355\121\0\1\u0356\150\0\1\u0357\7\0\1\u0358\1\u0359" + + "\113\0\1\u035a\114\0\1\u035b\32\0\1\u035c\1\0\1\u035d" + + "\1\u035e\126\0\1\u035f\3\0\1\u0360\110\0\1\u0361\23\0" + + "\1\u0362\1\0\1\u0363\1\0\1\u0364\152\0\1\u0365\130\0" + + "\1\u0366\1\u0367\6\0\1\u0368\131\0\1\u0369\137\0\1\u036a" + + "\132\0\1\u036b\144\0\1\u036c\110\0\1\u036d\26\0\1\u036e" + + "\2\0\1\u036f\136\0\1\u0370\1\0\1\u0371\65\0\1\u0372" + + "\54\0\1\u0372\137\0\1\u0373\153\0\1\u0374\120\0\1\u0375" + "\155\0\1\u0376\102\0\1\u0377\101\0\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\1\u0378\3\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\1\141\1\u0379" + "\4\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\1\141\1\u037a\14\0\2\141\1\u037b\7\141" - + "\1\u037c\1\u037d\13\141\1\0\1\141\1\u037e\1\141\1\u037f" + "\1\132\4\0\1\141\1\u0380\10\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0381\20\141" + + "\1\u037c\1\u037d\13\141\1\0\1\141\1\u037e\1\141\1\u037f" + + "\1\132\4\0\1\141\1\u0380\10\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0381\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u0382\21\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u0382\21\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0383\17\141" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0383\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u01ef\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u01ef\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0384\2\141" - + "\1\u0385\6\141\1\u0386\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\5\141\1\u0387\11\141\1\u0388\7\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u0389\2\141\1\u038a\3\141\1\u038b" + "\1\u038c\11\141\1\u038d\4\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\u01cb\1\0\11\u01cb" + "\1\0\1\u01cb\1\0\1\132\1\u015c\1\141\1\0\2\u01cb" - + "\14\0\27\u01cb\1\0\4\u01cb\1\132\4\0\12\u01cb\1\0" + "\7\u01cb\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u038e\13\141\1\u038f\4\141\1\0\4\141\1\132\4\0" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0384\2\141" + "\1\u0385\6\141\1\u0386\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u0390\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u0391\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0392\1\141\1\u0393\1\u0394\1\u0395\1\u0396" - + "\1\u0397\1\u0398\1\u0399\1\141\1\u039a\2\141\1\u039b\1\141" + "\1\u039c\1\141\1\u039d\1\u039e\2\141\1\u039f\1\141\1\0" + + "\14\0\5\141\1\u0387\11\141\1\u0388\7\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0389\2\141\1\u038a\3\141\1\u038b" + + "\1\u038c\11\141\1\u038d\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\u01cb\1\0\11\u01cb" + + "\1\0\1\u01cb\1\0\1\132\1\u015c\1\141\1\0\2\u01cb" + "\14\0\27\u01cb\1\0\4\u01cb\1\132\4\0\12\u01cb\1\0" + + "\7\u01cb\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u038e\13\141\1\u038f\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0390\22\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u0391\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u0392\1\141\1\u0393\1\u0394\1\u0395\1\u0396" + + "\1\u0397\1\u0398\1\u0399\1\141\1\u039a\2\141\1\u039b\1\141" + + "\1\u039c\1\141\1\u039d\1\u039e\2\141\1\u039f\1\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\3\141\1\u03a0\3\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u03a1" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u03a2" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u03a3" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u03a4\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u03a5" - + "\1\141\1\u03a6\1\141\1\u03a7\1\u03a8\2\141\1\u03a9\1\141" + "\1\u03aa\14\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u03ab\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u03ac\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\1\u03ad\6\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\141\1\u03ae\10\141\1\u03af\1\141\1\u03b0\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u03b1\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\141\1\u03b2\1\u03b3\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u03b4\7\141\1\u03b5\2\141" - + "\1\u03b6\11\141\1\u0269\1\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u03b7\6\141\1\u03b8\12\141\1\u031a\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u03b9\1\0\1\141\1\0\1\132" + + "\1\141\1\u03a6\1\141\1\u03a7\1\u03a8\2\141\1\u03a9\1\141" + + "\1\u03aa\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u03ab\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u03ac\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\1\u03ad\6\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u03ae\10\141\1\u03af\1\141\1\u03b0\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u03b1\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u03ba\2\141\1\u03bb\20\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u03bc\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u03bd\10\141" - + "\1\u03be\7\141\1\u03bf\2\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u03c0\16\141\1\u03c1\5\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u03c2\22\141\1\0\4\141" + "\1\132\4\0\7\141\1\u03c3\2\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u03c4\16\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u03c5\1\u03c6" + "\16\141\1\u03c7\5\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\22\141\1\u03c8\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\u03c9\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u03ca\22\141\1\u0169\3\141\1\0\4\141\1\132\4\0" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u03b2\1\u03b3\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u03b4\7\141\1\u03b5\2\141" + "\1\u03b6\11\141\1\u0269\1\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\141\1\u03cb\5\141\1\u031a\15\141\1\u03cc\1\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u03cd\7\141" - + "\1\u03ce\1\u03cf\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\22\141\1\u03d0\4\141\1\0\4\141\1\132\4\0\12\141" + + "\14\0\4\141\1\u03b7\6\141\1\u03b8\12\141\1\u031a\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u03b9\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\3\141\1\u03ba\2\141\1\u03bb\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u03bc\20\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u03bd\10\141" + "\1\u03be\7\141\1\u03bf\2\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u03c0\16\141\1\u03c1\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u03c2\22\141\1\0\4\141" + + "\1\132\4\0\7\141\1\u03c3\2\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u03c4\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u03c5\1\u03c6" + + "\16\141\1\u03c7\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\22\141\1\u03c8\4\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u03c9\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\u03ca\22\141\1\u0169\3\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u03cb\5\141\1\u031a\15\141\1\u03cc\1\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u03cd\7\141" + "\1\u03ce\1\u03cf\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u03d1\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\u03d2\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\20\141\1\u03d3\6\141\1\0\4\141\1\132\4\0\12\141" + + "\22\141\1\u03d0\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u03d1\23\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u03d2\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\20\141\1\u03d3\6\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\22\141\1\u03d4\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\22\141\1\u03d4\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\21\141\1\u03c1\5\141\1\0\4\141\1\132\4\0\12\141" + + "\21\141\1\u03c1\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u03d5\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u03d5\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u03d6\1\u0315\3\141\1\u03d7\1\u03d8\1\u03d9\1\141" - + "\1\u03da\1\u03db\1\u03dc\2\141\1\u03dd\2\141\1\u03de\3\141" + "\1\u03df\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u03e0" + + "\1\141\1\u03d6\1\u0315\3\141\1\u03d7\1\u03d8\1\u03d9\1\141" + + "\1\u03da\1\u03db\1\u03dc\2\141\1\u03dd\2\141\1\u03de\3\141" + + "\1\u03df\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u03e0" + "\10\141\1\u03e1\2\141\1\u03e2\1\141\1\u03e3\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0386\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u03e4\1\0\1\132\1\u015c" @@ -1721,64 +1798,66 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u03fc\2\141\1\u03fd\4\141\1\u03fe\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u0392\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u03ff\1\u0262\3\141\1\u021c" + "\5\141\1\u0400\3\141\1\u0401\4\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u0402\3\141\1\u0403\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u0404\13\141\1\u01fa\10\141" + + "\1\0\2\141\14\0\3\141\1\u03ff\1\u0262\3\141\1\u021c" + + "\5\141\1\u0400\3\141\1\u0401\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0402\3\141\1\u0403\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\2\141\1\u0404\13\141\1\u01fa\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0405\17\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u0406\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0407\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0408\1\141" + + "\1\u0409\5\141\1\u040a\3\141\1\u040b\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u040c\16\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\7\141\1\u040d\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u040e\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\141\1\u040f\25\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u0410\16\141\1\u0411\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0405\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\u0406\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0407\10\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0408\1\141" + "\1\u0409\5\141\1\u040a\3\141\1\u040b\10\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\10\141\1\u040c\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u040d\17\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u040e\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u040f\25\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u0410\16\141\1\u0411\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0412\23\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u0413\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0414\2\141" + "\1\u0415\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0412\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\u0413\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0414\2\141" + + "\1\u0415\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0416\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u0416\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0417\3\141\1\u0418\20\141\1\0\4\141\1\132\4\0" + + "\1\u0417\3\141\1\u0418\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u0419\4\141\1\u01ef\16\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\u041a\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u041b\7\141\1\u041c\1\141\1\u041d\3\141" + + "\1\u0386\6\141\1\u041e\1\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u041f\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u0419\4\141\1\u01ef\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u041a\26\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u041b\7\141\1\u041c\1\141\1\u041d\3\141" + "\1\u0386\6\141\1\u041e\1\141\1\0\4\141\1\132\4\0" + + "\14\0\16\141\1\u0420\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\13\141\1\u0421\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\10\141\1\u041f\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u0420\10\141\1\0\4\141\1\132\4\0" + + "\14\0\21\141\1\u0169\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\21\141\1\u0422\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\13\141\1\u0421\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\21\141\1\u0169\5\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\21\141\1\u0422\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0423\12\141\1\u0424\1\u0425\4\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u0426\3\141\1\u0427" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u0428" - + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0429" + "\3\141\1\u042a\12\141\1\0\4\141\1\132\4\0\12\141" + + "\14\0\6\141\1\u0423\12\141\1\u0424\1\u0425\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u0426\3\141\1\u0427" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u0428" + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0429" + + "\3\141\1\u042a\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0408\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u0408\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\13\141\1\u042b\13\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u042c\3\141\1\u042d\1\u042e\1\u042f\1\141\1\u0430" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0431" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u0432" + "\21\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u0433" - + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0434" + "\12\141\1\u03cf\12\141\1\0\4\141\1\132\4\0\11\141" - + "\1\u0435\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\141\1\u0436\1\141\1\u0437\2\141\1\u0438\7\141" + "\1\u0439\2\141\1\u043a\5\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u03e4\3\141\1\u043b\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u043c\1\u043d\1\u043e\1\u0400" + + "\13\141\1\u042b\13\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u042c\3\141\1\u042d\1\u042e\1\u042f\1\141\1\u0430" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0431" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u0432" + + "\21\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u0433" + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0434" + + "\12\141\1\u03cf\12\141\1\0\4\141\1\132\4\0\11\141" + "\1\u0435\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u0436\1\141\1\u0437\2\141\1\u0438\7\141" + + "\1\u0439\2\141\1\u043a\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u03e4\3\141\1\u043b\14\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\141\1\u043c\1\u043d\1\u043e\1\u0400" + "\2\141\1\u043f\1\u0440\3\141\1\u0441\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\24\141\1\u0442\2\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" @@ -1806,7 +1885,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\14\0\10\141\1\u045a\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u045b\4\141\1\u045c\1\141\1\u045d\1\141" + "\1\u045e\6\141\1\u045f\1\u0460\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0461\1\u0462\1\u0204\4\141\1\u0463" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u0461\1\u0462\1\u0204\4\141\1\u0463" + "\3\141\1\u0464\1\u020c\1\141\1\u0465\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u0466\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" @@ -1820,20 +1900,21 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u0470" + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u0471\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0472\1\u0200" - + "\1\141\1\u0473\1\u0474\1\141\1\u0475\4\141\1\u0476\2\141" + "\1\u0477\2\141\1\u03c1\5\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u0478\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\141\1\u0479\6\141\1\u03cf\3\141\1\u047a\5\141" + "\1\u047b\4\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u047c\5\141\1\u047d\15\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u047e\6\141\1\u047f\10\141\1\u0480\1\u0481" - + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0482" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0483" - + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0484" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u0485\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u0486\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u0487\1\141\1\u0488" + "\1\u0489\1\u048a\1\u0396\2\141\1\u048b\1\141\1\u0463\1\u048c" + + "\1\141\1\u0473\1\u0474\1\141\1\u0475\4\141\1\u0476\2\141" + + "\1\u0477\2\141\1\u03c1\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\u0478\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u0479\6\141\1\u03cf\3\141\1\u047a\5\141" + + "\1\u047b\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u047c\5\141\1\u047d\15\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\141\1\u047e\6\141\1\u047f\10\141\1\u0480\1\u0481" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0482" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0483" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0484" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0485\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\u0486\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0487\1\141\1\u0488" + + "\1\u0489\1\u048a\1\u0396\2\141\1\u048b\1\141\1\u0463\1\u048c" + "\2\141\1\u0464\1\u020c\1\141\1\u048d\1\u048e\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u048f\5\141\1\u0331" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" @@ -1885,7 +1966,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\2\141\14\0\3\141\1\u04b7\1\u0169\3\141\1\u04b8\5\141" + "\1\u04b9\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u04ba\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + "\1\u04bb\1\u04bc\1\u04bd\1\u04be\1\u04bf\1\u04c0\1\u04c1\13\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + + "\1\u04bb\1\u04bc\1\u04bd\1\u04be\1\u04bf\1\u04c0\1\u04c1\13\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u04c2\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u04c3\24\141" @@ -1903,66 +1985,75 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\2\141\14\0\1\u04cf\3\141\1\u04d0\11\141\1\u04d1\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u04d2\11\141" + "\1\u04d3\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u04d4\1\u04d5\4\141\1\u04d6\1\141\1\u0400\14\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\7\141\1\u040d\4\141\1\u04d7" + "\1\141\1\u04d8\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u04d9" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" + "\1\u04da\13\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" - + "\1\u04db\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u04dc\6\141\1\u0269\2\141\1\u0411\4\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\5\141\1\u04dd\21\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u04de\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u04d4\1\u04d5\4\141\1\u04d6\1\141\1\u0400\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u040d\4\141\1\u04d7" + + "\1\141\1\u04d8\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u04d9" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" + + "\1\u04da\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + "\1\u04db\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + + "\1\u04dc\6\141\1\u0269\2\141\1\u0411\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\5\141\1\u04dd\21\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u04de\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u04df\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u04df\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u04e0\3\141\1\u04e1\17\141\1\0" + + "\2\141\14\0\3\141\1\u04e0\3\141\1\u04e1\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u04e2\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\22\141\1\u04e2\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u04e3\3\141\1\u04e4" - + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0414" + "\12\141\1\u04e5\10\141\1\0\4\141\1\132\4\0\12\141" + + "\1\141\1\0\2\141\14\0\3\141\1\u04e3\3\141\1\u04e4" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0414" + + "\12\141\1\u04e5\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u04e6\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\14\141\1\u04e6\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u04e7\17\141\1\0\4\141\1\132\4\0\12\141" + + "\7\141\1\u04e7\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u04e8\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u04e8\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u04e9\17\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u04ea\3\141\1\u04eb\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u04ec\11\141\1\u04ed\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u04ee\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\1\141\1\u04ef\7\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\1\141\1\u04f0\7\141\1\0\1\141\1\0" + + "\7\141\1\u04e9\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u04ea\3\141\1\u04eb\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u04ec\11\141\1\u04ed\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u04ee\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\1\141\1\u04ef\7\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\u0289\1\0\11\u0289\1\0\1\u0289\1\0\1\132\1\u04f1" + "\1\u0289\1\0\2\u0289\14\0\27\u0289\1\0\4\u0289\1\132" - + "\4\0\12\u0289\1\0\7\u0289\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\22\141\1\u04f2\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u04f3\12\141\1\0\4\141\1\132" + + "\6\141\1\0\1\141\1\u04f0\7\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\u0289\1\0\11\u0289\1\0\1\u0289\1\0\1\132\1\u04f1" + + "\1\u0289\1\0\2\u0289\14\0\27\u0289\1\0\4\u0289\1\132" + "\4\0\12\u0289\1\0\7\u0289\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\22\141\1\u04f2\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u04f4\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u04f5\17\141\1\0\4\141\1\132\4\0" + + "\2\141\14\0\14\141\1\u04f3\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u04f4\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\17\141\1\u04f6\7\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\24\141\1\u04f7\2\141\1\0\4\141\1\132\4\0" + + "\14\0\7\141\1\u04f5\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\17\141\1\u04f6\7\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u04f8\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u04f9\26\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\141\1\u04fa\1\u04fb\16\141\1\u04fc\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0276\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\11\0\6\u0296\1\0" + "\11\u0296\1\0\1\u0296\5\0\2\u0296\14\0\27\u0296\1\0" - + "\4\u0296\5\0\12\u0296\1\0\7\u0296\11\0\1\u04fd\54\0" + "\1\u04fd\63\0\6\u029a\1\0\13\u029a\5\0\2\u029a\1\0" - + "\1\u029a\12\0\27\u029a\1\0\4\u029a\5\0\12\u029a\1\0" + "\7\u029a\63\0\1\u04fe\1\u04ff\2\0\1\u0500\135\0\1\u0501" - + "\150\0\1\u0502\123\0\1\u0503\12\0\1\u0504\124\0\1\u0505" + "\15\0\1\u0506\134\0\1\u0507\126\0\1\u0508\5\0\1\u0509" - + "\147\0\1\u050a\125\0\1\u050b\13\0\1\u050c\140\0\1\u050d" + "\136\0\1\u050e\124\0\1\u050f\140\0\1\u0510\73\0\6\u02a8" - + "\1\0\13\u02a8\5\0\2\u02a8\1\0\1\u02a8\12\0\27\u02a8" + "\1\0\4\u02a8\5\0\12\u02a8\1\0\7\u02a8\72\0\1\u02a9" - + "\125\0\1\u02a9\6\0\1\u02a9\131\0\1\u02a9\23\0\1\u02a9" + "\114\0\1\u02a9\141\0\1\u02a9\7\0\1\u02a9\12\0\1\u02a9" - + "\114\0\1\u0511\72\0\2\u0105\1\u0512\3\u0105\1\0\10\u0105" + "\2\0\1\u0105\5\0\2\u0105\14\0\3\u0105\1\u0512\23\u0105" + + "\14\0\24\141\1\u04f7\2\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u04f8\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u04f9\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u04fa\1\u04fb\16\141\1\u04fc\5\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u0276\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\11\0\6\u0296\1\0" + + "\11\u0296\1\0\1\u0296\5\0\2\u0296\14\0\27\u0296\1\0" + + "\4\u0296\5\0\12\u0296\1\0\7\u0296\11\0\1\u04fd\54\0" + + "\1\u04fd\63\0\6\u029a\1\0\13\u029a\5\0\2\u029a\1\0" + + "\1\u029a\12\0\27\u029a\1\0\4\u029a\5\0\12\u029a\1\0" + + "\7\u029a\63\0\1\u04fe\1\u04ff\2\0\1\u0500\135\0\1\u0501" + + "\150\0\1\u0502\123\0\1\u0503\12\0\1\u0504\124\0\1\u0505" + + "\15\0\1\u0506\134\0\1\u0507\126\0\1\u0508\5\0\1\u0509" + + "\147\0\1\u050a\125\0\1\u050b\13\0\1\u050c\140\0\1\u050d" + + "\136\0\1\u050e\124\0\1\u050f\140\0\1\u0510\73\0\6\u02a8" + + "\1\0\13\u02a8\5\0\2\u02a8\1\0\1\u02a8\12\0\27\u02a8" + + "\1\0\4\u02a8\5\0\12\u02a8\1\0\7\u02a8\72\0\1\u02a9" + + "\125\0\1\u02a9\6\0\1\u02a9\131\0\1\u02a9\23\0\1\u02a9" + + "\114\0\1\u02a9\141\0\1\u02a9\7\0\1\u02a9\12\0\1\u02a9" + + "\114\0\1\u0511\72\0\2\u0105\1\u0512\3\u0105\1\0\10\u0105" + + "\2\0\1\u0105\5\0\2\u0105\14\0\3\u0105\1\u0512\23\u0105" + "\1\0\4\u0105\5\0\12\u0105\1\0\7\u0105\11\0\6\u0105" + "\1\0\1\u0513\7\u0105\2\0\1\u0105\5\0\2\u0105\14\0" - + "\23\u0105\1\u0513\3\u0105\1\0\4\u0105\5\0\12\u0105\1\0" + "\7\u0105\31\0\1\u0514\202\0\1\u0515\127\0\1\u02bb\131\0" + + "\23\u0105\1\u0513\3\u0105\1\0\4\u0105\5\0\12\u0105\1\0" + + "\7\u0105\31\0\1\u0514\202\0\1\u0515\127\0\1\u02bb\131\0" + "\1\u0516\165\0\1\u0517\103\0\1\u0518\75\0\2\57\1\0" + "\1\57\1\0\2\57\2\0\6\57\1\0\26\57\1\0" + "\24\57\1\u0519\22\57\1\0\22\57\2\67\1\0\1\67" + "\1\0\2\67\2\0\3\67\1\u051a\2\67\1\0\26\67" + "\1\0\7\67\1\u051a\37\67\1\0\24\67\1\0\1\67" + "\1\0\2\67\2\0\1\67\1\u02d9\4\67\1\0\26\67" @@ -2027,105 +2118,120 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\2\67\2\0\4\67\1\u02d0\1\67\1\0\26\67\1\0" + "\31\67\1\u02d0\15\67\1\0\24\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\26\67\1\0\22\67\1\u053c" + "\24\67\1\0\2\67\1\u053c\21\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\2\67\1\u0131\23\67\1\0" + "\13\67\1\u0131\33\67\1\0\22\67\73\0\1\u053d\57\0" - + "\1\u053e\55\0\1\u053e\143\0\1\u053f\123\0\2\u0302\11\0" + "\1\u0302\57\0\1\u0540\130\0\1\132\10\0\1\132\1\u0541" + + "\1\u053e\55\0\1\u053e\143\0\1\u053f\123\0\2\u0302\11\0" + + "\1\u0302\57\0\1\u0540\130\0\1\132\10\0\1\132\1\u0541" + "\4\132\1\0\2\132\1\u0541\1\132\4\u0541\1\132\1\0" + "\1\132\1\0\3\132\1\0\1\132\1\u0541\14\0\4\132" - + "\3\u0541\2\132\2\u0541\6\132\1\u0541\5\132\1\0\1\132" + "\2\u0541\2\132\4\0\7\132\1\u0541\2\132\1\0\3\u0541" - + "\1\132\3\u0541\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u0542\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\u015f\10\0\6\u015f\1\0\4\u015f\2\u0306\1\u015f" - + "\1\u0306\1\u015f\1\0\1\u015f\1\0\3\u015f\1\0\1\u015f" + "\1\u0162\14\0\5\u015f\1\u0162\13\u015f\1\u0162\5\u015f\1\0" - + "\1\u015f\1\u0162\3\u015f\4\0\7\u015f\1\u0306\2\u015f\1\0" + "\3\u0306\1\u015f\3\u0306\24\0\2\u0306\1\0\1\u0306\76\0" - + "\1\u0306\3\0\3\u0306\1\0\3\u0306\1\u015f\10\0\1\u015f" + "\1\u0309\4\u015f\1\0\1\u015f\1\u0308\1\u0309\1\u015f\4\u0309" - + "\1\u015f\1\0\1\u015f\1\0\3\u015f\1\0\1\u015f\1\u0309" + "\14\0\4\u015f\3\u0309\1\u0308\1\u015f\2\u0309\6\u015f\1\u0309" - + "\5\u015f\1\0\1\u015f\2\u0309\2\u015f\4\0\7\u015f\1\u0309" + "\2\u015f\1\0\3\u0309\1\u015f\3\u0309\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u0172\16\141\1\0\4\141" + + "\3\u0541\2\132\2\u0541\6\132\1\u0541\5\132\1\0\1\132" + + "\2\u0541\2\132\4\0\7\132\1\u0541\2\132\1\0\3\u0541" + "\1\132\3\u0541\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u0542\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\u015f\10\0\6\u015f\1\0\4\u015f\2\u0306\1\u015f" + + "\1\u0306\1\u015f\1\0\1\u015f\1\0\3\u015f\1\0\1\u015f" + + "\1\u0162\14\0\5\u015f\1\u0162\13\u015f\1\u0162\5\u015f\1\0" + + "\1\u015f\1\u0162\3\u015f\4\0\7\u015f\1\u0306\2\u015f\1\0" + + "\3\u0306\1\u015f\3\u0306\24\0\2\u0306\1\0\1\u0306\76\0" + + "\1\u0306\3\0\3\u0306\1\0\3\u0306\1\u015f\10\0\1\u015f" + + "\1\u0309\4\u015f\1\0\1\u015f\1\u0308\1\u0309\1\u015f\4\u0309" + + "\1\u015f\1\0\1\u015f\1\0\3\u015f\1\0\1\u015f\1\u0309" + + "\14\0\4\u015f\3\u0309\1\u0308\1\u015f\2\u0309\6\u015f\1\u0309" + + "\5\u015f\1\0\1\u015f\2\u0309\2\u015f\4\0\7\u015f\1\u0309" + + "\2\u015f\1\0\3\u0309\1\u015f\3\u0309\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\10\141\1\u0172\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u0543\6\141\1\u0544\10\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u0545\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u0546\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u0547\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0548\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u0549\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u054a\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\10\141\1\u0169\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u054b\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u054c\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\u054d\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\15\141\1\u054e\11\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0169\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\6\141\1\u01ea\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u0169\25\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\7\141\1\u0269\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u054f\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\16\141\1\u0544\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u0550\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\6\141\1\u0551\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u0310\16\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\6\141\1\u0552\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0553\24\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\13\141\1\u0554\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u017a\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\2\141\1\u0555\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0552\23\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\2\141\1\u032c\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u0556\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\6\141\1\u0557\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u0558\17\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u0554\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u0333\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\10\141\1\u0312\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0554\23\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\2\141\1\u0559\5\141\1\u0426\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0169\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\7\141\1\u0169\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u055a\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\7\141\1\u0543\6\141\1\u0544\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0545\26\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u0546\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0547\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u0548\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0549\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u054a\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u0169\16\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u054b\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u054c\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u054d\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\15\141\1\u054e\11\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u0169\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u01ea\20\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\141\1\u0169\25\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u0269\17\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u054f\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u0544\10\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\12\141\1\u0550\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0551\20\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\10\141\1\u0310\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0552\20\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u0553\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\13\141\1\u0554\13\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u017a\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0555\24\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0552\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u032c\24\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\12\141\1\u0556\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0557\20\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u0558\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0554\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\12\141\1\u0333\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u0312\16\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0554\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0559\5\141\1\u0426\16\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u0169\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u0169\17\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u055a\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\15\141\1\u0169\11\141\1\0\4\141" + + "\1\0\2\141\14\0\15\141\1\u0169\11\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u0317\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\7\141\1\u0317\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u055b\20\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u055c\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u055d\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\1\0\2\141\14\0\6\141\1\u055b\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u055c\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u055d\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\11\141\1\u055e\15\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\11\141\1\u055e\15\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u0555\17\141\1\0\4\141\1\132\4\0" + + "\14\0\7\141\1\u0555\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\24\141\1\u055f\2\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\24\141\1\u055f\2\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0560\24\141\1\0\4\141\1\132\4\0" + + "\14\0\2\141\1\u0560\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u0561\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\10\141\1\u0561\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\20\141\1\u0562\6\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0563\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\73\0\1\u0564\57\0\1\u0565\7\0" - + "\1\u0565\1\0\4\u0565\11\0\1\u0565\20\0\3\u0565\2\0" + "\2\u0565\6\0\1\u0565\7\0\2\u0565\15\0\1\u0565\3\0" - + "\3\u0565\1\0\3\u0565\12\0\1\u0566\7\0\1\u0566\1\0" + "\4\u0566\11\0\1\u0566\20\0\3\u0566\2\0\2\u0566\6\0" - + "\1\u0566\7\0\2\u0566\15\0\1\u0566\3\0\3\u0566\1\0" + "\3\u0566\73\0\1\u0567\57\0\1\u0568\55\0\1\u0568\132\0" - + "\1\u0345\131\0\1\u0569\165\0\1\u056a\103\0\1\u056b\157\0" + "\1\u0349\131\0\1\u056c\165\0\1\u056d\103\0\1\u056e\127\0" - + "\1\u056f\164\0\1\u0570\154\0\1\u0571\134\0\1\u0572\3\0" + "\1\u0573\151\0\1\u0574\114\0\1\u0575\1\u0576\157\0\1\u0577" - + "\117\0\1\u0578\2\0\1\u0579\156\0\1\u057a\141\0\1\u057b" + "\120\0\1\u057c\3\0\1\u057d\17\0\1\u057e\66\0\1\u057f" - + "\170\0\1\u0580\136\0\1\u0581\3\0\1\u0582\13\0\1\u0583" + "\121\0\1\u0584\3\0\1\u0364\133\0\1\u0585\10\0\1\u0586" - + "\125\0\1\u0587\150\0\1\u0588\142\0\1\u0589\140\0\1\u058a" + "\1\0\1\u058b\140\0\1\u058c\125\0\1\u058d\153\0\1\u058e" - + "\132\0\1\u058f\136\0\1\u0590\137\0\1\u0591\144\0\1\u0592" + "\137\0\1\u0593\146\0\1\u0594\5\0\1\u0595\134\0\1\u0596" - + "\123\0\1\u0597\153\0\1\u0598\131\0\1\u0599\2\0\1\u059a" + "\11\0\1\u059b\127\0\1\u059c\127\0\1\u059d\15\0\1\u059e" - + "\125\0\1\u059f\140\0\1\u05a0\140\0\1\u05a1\71\0\1\u05a2" + "\55\0\1\u05a2\132\0\1\u0374\131\0\1\u05a3\165\0\1\u05a4" + + "\14\0\20\141\1\u0562\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0563\20\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\73\0\1\u0564\57\0\1\u0565\7\0" + "\1\u0565\1\0\4\u0565\11\0\1\u0565\20\0\3\u0565\2\0" + + "\2\u0565\6\0\1\u0565\7\0\2\u0565\15\0\1\u0565\3\0" + "\3\u0565\1\0\3\u0565\12\0\1\u0566\7\0\1\u0566\1\0" + + "\4\u0566\11\0\1\u0566\20\0\3\u0566\2\0\2\u0566\6\0" + "\1\u0566\7\0\2\u0566\15\0\1\u0566\3\0\3\u0566\1\0" + + "\3\u0566\73\0\1\u0567\57\0\1\u0568\55\0\1\u0568\132\0" + + "\1\u0345\131\0\1\u0569\165\0\1\u056a\103\0\1\u056b\157\0" + + "\1\u0349\131\0\1\u056c\165\0\1\u056d\103\0\1\u056e\127\0" + + "\1\u056f\164\0\1\u0570\154\0\1\u0571\134\0\1\u0572\3\0" + + "\1\u0573\151\0\1\u0574\114\0\1\u0575\1\u0576\157\0\1\u0577" + + "\117\0\1\u0578\2\0\1\u0579\156\0\1\u057a\141\0\1\u057b" + + "\120\0\1\u057c\3\0\1\u057d\17\0\1\u057e\66\0\1\u057f" + + "\170\0\1\u0580\136\0\1\u0581\3\0\1\u0582\13\0\1\u0583" + + "\121\0\1\u0584\3\0\1\u0364\133\0\1\u0585\10\0\1\u0586" + + "\125\0\1\u0587\150\0\1\u0588\142\0\1\u0589\140\0\1\u058a" + + "\1\0\1\u058b\140\0\1\u058c\125\0\1\u058d\153\0\1\u058e" + + "\132\0\1\u058f\136\0\1\u0590\137\0\1\u0591\144\0\1\u0592" + + "\137\0\1\u0593\146\0\1\u0594\5\0\1\u0595\134\0\1\u0596" + + "\123\0\1\u0597\153\0\1\u0598\131\0\1\u0599\2\0\1\u059a" + + "\11\0\1\u059b\127\0\1\u059c\127\0\1\u059d\15\0\1\u059e" + + "\125\0\1\u059f\140\0\1\u05a0\140\0\1\u05a1\71\0\1\u05a2" + + "\55\0\1\u05a2\132\0\1\u0374\131\0\1\u05a3\165\0\1\u05a4" + "\103\0\1\u05a5\75\0\1\132\10\0\6\141\1\0\2\141" + "\1\u0549\6\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\1\141" + "\1\u05a6\7\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" @@ -2165,7 +2271,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\7\141\1\u05be\6\141\1\u05bf\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u0269\1\141\1\u05c0\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u05c1\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u05c2\2\141\1\u05c3\1\u0395" + "\1\u05c4\1\u05c5\1\u05c6\1\u05c7\1\u05c8\1\u05c9\1\141\1\u05ca" + + "\1\141\1\0\2\141\14\0\1\u05c2\2\141\1\u05c3\1\u0395" + + "\1\u05c4\1\u05c5\1\u05c6\1\u05c7\1\u05c8\1\u05c9\1\141\1\u05ca" + "\1\141\1\u05cb\1\u05cc\1\141\1\u05cd\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\21\141\1\u0269\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" @@ -2227,163 +2334,165 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u05f3\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u05f4" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u05f5" + "\2\141\1\u05f6\1\u05f7\2\141\1\u05f8\1\u05f9\1\141\1\u05fa" - + "\1\u05fb\1\141\1\u05fc\1\u05fd\2\141\1\u05fe\1\u05ff\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u0600\3\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u05f5" + + "\2\141\1\u05f6\1\u05f7\2\141\1\u05f8\1\u05f9\1\141\1\u05fa" + + "\1\u05fb\1\141\1\u05fc\1\u05fd\2\141\1\u05fe\1\u05ff\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0601\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0602\16\141" + + "\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u0600\3\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0601\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0603\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0604\22\141" + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0602\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0603\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0605\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0606\26\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u05d8\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u0607\14\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u03c8\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\26\141\1\u0608\1\0\4\141\1\132\4\0" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0604\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0605\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u0606\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u05d8\26\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\12\141\1\u0607\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u03c8\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\26\141\1\u0608\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0609\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u0609\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u03d4\17\141\1\0\4\141\1\132\4\0" + + "\14\0\7\141\1\u03d4\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\23\141\1\u060a\3\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\23\141\1\u060a\3\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\5\141\1\u0396\21\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u0549\7\141\1\u060b\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u0269\11\141\1\u060c\13\141" + + "\14\0\5\141\1\u0396\21\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0549\7\141\1\u060b\12\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\141\1\u0269\11\141\1\u060c\13\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u060d\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u060d\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u060e\24\141" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u060e\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\13\141\1\u060f\13\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\13\141\1\u060f\13\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0610\12\141" + + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0610\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u0269\11\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u0269\11\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u0611\7\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0612\11\141" + "\1\u018c\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" - + "\1\u03ee\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0613\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u0611\7\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0612\11\141" + + "\1\u018c\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u03ee\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u0269\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0614" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0615" - + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0616" + "\1\u0617\10\141\1\u0618\5\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0619\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u061a\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u061b\1\141\1\u044f\22\141\1\0\4\141" + + "\1\u0613\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0269\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0614" + + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0615" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0616" + + "\1\u0617\10\141\1\u0618\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0619\20\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u061a\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u061b\1\141\1\u044f\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u061c\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u061c\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u061d\26\141\1\0\4\141\1\132" + + "\1\0\2\141\14\0\1\u061d\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u061e\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u061e\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u061f\26\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u0620\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u0621\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u0622\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141\1\u03d4" + "\5\141\1\u0269\5\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u0623\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\1\u0624\6\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0392\12\141" + + "\2\141\14\0\1\u061f\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u0620\17\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u0621\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u0622\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141\1\u03d4" + + "\5\141\1\u0269\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\u0623\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\1\u0624\6\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0392\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0625\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0625\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0626\17\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0627\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u0628\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0626\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0627\14\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u0628\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0629\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u0629\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u062a\10\141\1\0" + + "\1\141\1\0\2\141\14\0\16\141\1\u062a\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\13\141\1\u062b\13\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\13\141\1\u062b\13\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u03d4\16\141\1\0" + + "\1\141\1\0\2\141\14\0\10\141\1\u03d4\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u062c\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u062c\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u062d\22\141\1\0" + + "\1\141\1\0\2\141\14\0\4\141\1\u062d\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u062e\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u062e\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u062f\5\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u0630\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\11\141\1\u0631\15\141\1\0\4\141" + + "\1\141\1\0\2\141\14\0\21\141\1\u062f\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0630\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u0632\4\141\1\u0633\2\141\1\u0634" + "\6\141\1\u0635\1\141\1\u0636\5\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u0637\2\141\1\u0638\21\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0639\1\u063a\22\141" + + "\1\0\2\141\14\0\11\141\1\u0631\15\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0632\4\141\1\u0633\2\141\1\u0634" + + "\6\141\1\u0635\1\141\1\u0636\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0637\2\141\1\u0638\21\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u0639\1\u063a\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u063b\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u063b\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u063c\5\141" - + "\1\u063d\6\141\1\u0386\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u063e\17\141\1\0\4\141\1\132\4\0" + + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u063c\5\141" + "\1\u063d\6\141\1\u0386\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\12\141\1\u063f\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u0640\16\141\1\0\4\141\1\132\4\0" + + "\14\0\7\141\1\u063e\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u063f\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u0641\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0642\22\141\1\0\4\141\1\132\4\0" + + "\14\0\10\141\1\u0640\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u0641\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0331\12\141\1\u0269\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u0643\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\20\141\1\u0269\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u0644\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\14\0\4\141\1\u0642\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0331\12\141\1\u0269\5\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u0643\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\20\141\1\u0269\6\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u0644\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\11\141\1\u0645\15\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\11\141\1\u0645\15\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0646\1\141\1\u0392\5\141\1\u0647\12\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\12\141\1\u0648\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\u0406\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\141\1\u0646\1\141\1\u0392\5\141\1\u0647\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u0648\14\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u0406\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u03ee\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\10\141\1\u03ee\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0649\3\141\1\u0400\3\141\1\u05d8" - + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u044f" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0400" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u064a" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u064b" - + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\26\141\1\u064c" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u03ec\10\141" + + "\2\141\14\0\6\141\1\u0649\3\141\1\u0400\3\141\1\u05d8" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u044f" + + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0400" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u064a" + + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u064b" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\26\141\1\u064c" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u064d\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u064e\20\141" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u03ec\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u064d\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u064f\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u04f9\22\141" + + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u064e\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u064f\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u05d9\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0650\24\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u04f9\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u05d9\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u0651\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u04d6\16\141\1\0\4\141" + + "\1\141\1\0\2\141\14\0\2\141\1\u0650\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0651\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u0652\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u0653\23\141\1\0\4\141" + + "\1\0\2\141\14\0\10\141\1\u04d6\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u0652\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\14\141\1\u0654\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u0655\20\141\1\0\4\141" + + "\1\0\2\141\14\0\3\141\1\u0653\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u0654\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\13\141\1\u04f9\13\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u03cf\12\141\1\0\4\141" + + "\1\0\2\141\14\0\6\141\1\u0655\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\13\141\1\u04f9\13\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u0656\3\141\1\u0657\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0658\26\141\1\0\4\141" + + "\1\0\2\141\14\0\14\141\1\u03cf\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0656\3\141\1\u0657\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u0658\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u031a\25\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\141\1\u031a\25\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u03cf\16\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u0659\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u065a\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u065b\1\u065c\1\u065d" + + "\1\0\2\141\14\0\10\141\1\u03cf\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u0659\23\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u065a\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u065b\1\u065c\1\u065d" + "\1\141\1\u065e\1\141\1\u065f\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u0660\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0661\1\0\1\141\1\0\1\132\1\u015c\1\141" @@ -2415,18 +2524,21 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0672\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0673\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u0674\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0675\1\141\1\u0676\1\u0677\1\u0678" - + "\1\u0679\1\141\1\u0411\1\u067a\1\141\1\u067b\1\141\1\u067c" + "\5\141\1\u067d\1\141\1\u0174\2\141\1\0\4\141\1\132" + + "\10\141\1\u0674\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\u0675\1\141\1\u0676\1\u0677\1\u0678" + + "\1\u0679\1\141\1\u0411\1\u067a\1\141\1\u067b\1\141\1\u067c" + + "\5\141\1\u067d\1\141\1\u0174\2\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u067e\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u067e\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u067f\23\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\1\141\1\u0680" + "\4\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0681\1\141\1\u0682\16\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u0683\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u0684\1\0\1\u05d1\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0685\1\u0686\1\u0687\1\u0688" - + "\1\141\1\u0689\1\u068a\1\u068b\1\u068c\1\u068d\1\u068e\1\141" + "\1\u0610\1\u068f\1\u0690\2\141\1\u0691\1\u0692\4\141\1\0" + + "\2\141\14\0\3\141\1\u067f\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\1\141\1\u0680" + + "\4\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\6\141\1\u0681\1\141\1\u0682\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u0683\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u0684\1\0\1\u05d1\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u0685\1\u0686\1\u0687\1\u0688" + + "\1\141\1\u0689\1\u068a\1\u068b\1\u068c\1\u068d\1\u068e\1\141" + + "\1\u0610\1\u068f\1\u0690\2\141\1\u0691\1\u0692\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0693\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0694\1\u0169\21\141\1\0" @@ -2519,70 +2631,74 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u06cd" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u06ce" + "\20\141\1\u0639\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u06cf\5\141\1\u06d0\3\141\1\u06d1\7\141\1\u06d2" - + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u0269" + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u06d3\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u06cf\5\141\1\u06d0\3\141\1\u06d1\7\141\1\u06d2" + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u0269" + + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u06d3\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u06d4\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u06d4\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\20\141\1\u0679\6\141\1\0" + + "\1\141\1\0\2\141\14\0\20\141\1\u0679\6\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u06d5\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u06d5\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u05d9\20\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u06d6\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\13\141\1\u06d7\13\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u06d8\1\0\1\u06d9\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u06da\1\u06db\1\u06dc\1\u06dd" + "\1\u06de\1\u06df\1\u06e0\1\u06e1\1\u06e2\1\u06e3\1\u06e4\1\u06e5" - + "\1\u06e6\1\u06e7\1\u06e8\1\u06e9\1\141\1\u06ea\1\u06eb\1\141" + "\1\u06ec\2\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" - + "\1\u06ed\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u06ee" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u06ba" + + "\1\141\1\0\2\141\14\0\6\141\1\u05d9\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u06d6\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\13\141\1\u06d7\13\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u06d8\1\0\1\u06d9\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u06da\1\u06db\1\u06dc\1\u06dd" + + "\1\u06de\1\u06df\1\u06e0\1\u06e1\1\u06e2\1\u06e3\1\u06e4\1\u06e5" + + "\1\u06e6\1\u06e7\1\u06e8\1\u06e9\1\141\1\u06ea\1\u06eb\1\141" + + "\1\u06ec\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" + "\1\u06ed\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u06ee" + + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u06ba" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u06ef" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u06ef" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0262" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0262" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u06f0" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u06f0" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u06f1" - + "\1\141\1\u01fa\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0409\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u06f1" + "\1\141\1\u01fa\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u06f2\22\141\1\0\4\141\1\132\4\0\11\141" + "\1\u06f3\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u06ef\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u06f4\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0415\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u06f5\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\11\141\1\u06f6\15\141\1\0\4\141\1\132" + + "\4\141\1\u0409\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u06f2\22\141\1\0\4\141\1\132\4\0\11\141" + + "\1\u06f3\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u06ef\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\u06f4\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0415\20\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u06f5\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\11\141\1\u06f6\15\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u06f7\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u06f7\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u06f8\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\10\141\1\u01ef\1\141\1\u06f9\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u06fa\17\141\1\0" + + "\2\141\14\0\4\141\1\u06f8\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u01ef\1\141\1\u06f9\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\11\141\1\u05d8\15\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u06fb\4\141\1\0" + + "\1\141\1\0\2\141\14\0\7\141\1\u06fa\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\11\141\1\u05d8\15\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u06fc\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u06fd\1\141\1\u06fe" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0693" + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u06ff" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u0700" + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0701" - + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0702" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0703" - + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0704" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0705" - + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0706\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + "\1\u0707\1\u0708\1\141\1\u0709\1\141\1\u070a\1\141\1\u0393" + + "\1\141\1\0\2\141\14\0\22\141\1\u06fb\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u06fc\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u06fd\1\141\1\u06fe" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0693" + + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u06ff" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u0700" + + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0701" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0702" + + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0703" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0704" + + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0705" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u0706\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + + "\1\u0707\1\u0708\1\141\1\u0709\1\141\1\u070a\1\141\1\u0393" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u03c6" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u070b\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u070c\1\u070d" - + "\1\141\1\u070e\1\u070f\1\u0710\1\u0711\1\141\1\u0712\1\141" + "\1\u0713\1\u0714\1\u0715\1\141\1\u0716\1\u0717\1\141\1\u0718" + + "\1\141\1\u070e\1\u070f\1\u0710\1\u0711\1\141\1\u0712\1\141" + + "\1\u0713\1\u0714\1\u0715\1\141\1\u0716\1\u0717\1\141\1\u0718" + "\1\u0719\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + "\1\u071a\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" @@ -2593,11 +2709,13 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u071d" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u071e\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u071f\1\141\1\u0720" + "\1\141\1\u0721\1\u0204\1\141\1\u0722\1\u0723\1\141\1\u0724" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u071f\1\141\1\u0720" + + "\1\141\1\u0721\1\u0204\1\141\1\u0722\1\u0723\1\141\1\u0724" + "\1\u0725\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0726\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u0727\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u0728\2\141\1\u0729\1\u072a\1\u072b\1\141\1\u072c\1\u072d" + "\1\u072e\1\u072f\1\141\1\u0730\2\141\1\u0731\1\141\1\u0732" + + "\1\u0728\2\141\1\u0729\1\u072a\1\u072b\1\141\1\u072c\1\u072d" + + "\1\u072e\1\u072f\1\141\1\u0730\2\141\1\u0731\1\141\1\u0732" + "\1\u0733\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0734\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" @@ -2634,7 +2752,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\2\141\14\0\4\141\1\u074b\1\141\1\u074c\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0681\7\141" + "\1\u074d\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u074e" + "\2\141\1\u074f\1\u0750\1\u0751\4\141\1\u0208\1\141\1\u0752" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u074e" + + "\2\141\1\u074f\1\u0750\1\u0751\4\141\1\u0208\1\141\1\u0752" + "\1\141\1\u0464\2\141\1\u0753\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0754\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" @@ -2667,105 +2786,115 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0767\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0768\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u0769\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u074e\1\u076a\1\u076b" + "\1\u076c\1\u076d\1\u076e\1\u076f\1\u0770\1\u0771\1\141\1\u0772" - + "\1\u0773\1\u0774\1\u0775\1\u0776\2\141\1\u0777\1\u0778\1\141" + "\1\u06ec\1\141\1\u0779\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\1\u077a" + "\6\141\1\132\10\0\6\141\1\0\10\141\1\u077b\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u06ee\11\141\1\u077c\11\141\1\u06ec\2\141\1\0\4\141" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u074e\1\u076a\1\u076b" + + "\1\u076c\1\u076d\1\u076e\1\u076f\1\u0770\1\u0771\1\141\1\u0772" + + "\1\u0773\1\u0774\1\u0775\1\u0776\2\141\1\u0777\1\u0778\1\141" + + "\1\u06ec\1\141\1\u0779\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\1\u077a" + + "\6\141\1\132\10\0\6\141\1\0\10\141\1\u077b\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\u06ee\11\141\1\u077c\11\141\1\u06ec\2\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u077d\26\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u077e\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u077f\2\141\1\u0780\1\u0387\1\u0262\3\141" + + "\1\u0408\1\u0781\1\u0393\6\141\1\u0782\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u0783\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u077d\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u077e\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\141\1\u077f\2\141\1\u0780\1\u0387\1\u0262\3\141" + "\1\u0408\1\u0781\1\u0393\6\141\1\u0782\3\141\1\0\4\141" + + "\1\0\2\141\14\0\10\141\1\u0784\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u0785\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u0783\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u0784\16\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u0785\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u0414\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u0786\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u0787\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u0788\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0789\26\141\1\0\4\141\1\132" + + "\1\0\2\141\14\0\3\141\1\u0414\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u0786\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0787\26\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u0788\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\u0789\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\22\141\1\u078a\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\22\141\1\u078a\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u078b\14\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u078c\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u078d\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u078e\24\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u078f\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u0790\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0791\23\141\1\0" + + "\2\141\14\0\12\141\1\u078b\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u078c\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u078d\23\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\2\141\1\u078e\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u078f\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0790\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u0792\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u047b\23\141\1\0" + + "\1\141\1\0\2\141\14\0\3\141\1\u0791\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0792\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u0793\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u0794\25\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\1\u0378\5\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\1\141\1\u0169\7\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\132" + "\1\0\11\132\1\0\1\u0795\1\0\3\132\1\0\2\132" - + "\14\0\27\132\1\0\5\132\4\0\12\132\1\0\10\132" + "\10\0\6\141\1\0\10\141\1\u0796\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u0797\5\141\1\0" + + "\1\141\1\0\2\141\14\0\3\141\1\u047b\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0793\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\11\141\1\u0798\15\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0799\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u079a\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u079b\20\141\1\0\4\141\1\132" + + "\1\141\1\0\2\141\14\0\1\141\1\u0794\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\1\u0378\5\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\1\141\1\u0169\7\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\132" + + "\1\0\11\132\1\0\1\u0795\1\0\3\132\1\0\2\132" + "\14\0\27\132\1\0\5\132\4\0\12\132\1\0\10\132" + + "\10\0\6\141\1\0\10\141\1\u0796\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\21\141\1\u0797\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\11\141\1\u0798\15\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u0799\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u079a\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\14\141\1\u079c\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u0269\12\141\1\0\4\141\1\132" + + "\2\141\14\0\6\141\1\u079b\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u079c\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\16\141\1\u079d\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u079e\10\141\1\0\4\141\1\132" + + "\2\141\14\0\14\141\1\u0269\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u079d\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u079f\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\16\0\1\u07a0\41\0\1\u07a0" - + "\136\0\1\u07a1\145\0\1\u07a2\137\0\1\u07a3\137\0\1\u07a4" + "\153\0\1\u050c\144\0\1\u07a5\124\0\1\u07a6\135\0\1\u07a7" - + "\147\0\1\u07a8\130\0\1\u07a9\152\0\1\u07aa\134\0\1\u07ab" + "\3\0\1\u07ac\130\0\1\u07ad\151\0\1\u07ae\125\0\1\u07af" - + "\162\0\1\u07b0\123\0\1\u07b1\141\0\1\u0504\140\0\1\u07b2" + "\152\0\1\u07b3\51\0\3\u0105\1\u07b4\2\u0105\1\0\10\u0105" - + "\2\0\1\u0105\5\0\2\u0105\14\0\1\u07b4\26\u0105\1\0" + "\4\u0105\5\0\12\u0105\1\0\7\u0105\11\0\6\u0105\1\0" - + "\1\u0105\1\u07b5\6\u0105\2\0\1\u0105\5\0\2\u0105\14\0" + "\7\u0105\1\u07b5\17\u0105\1\0\4\u0105\5\0\12\u0105\1\0" - + "\7\u0105\100\0\1\u07b6\50\0\1\u07b7\203\0\1\u0516\12\0" + "\1\u02bb\57\0\2\u07b8\1\0\7\u0518\1\0\10\u0518\2\u07b8" - + "\1\u0518\1\0\1\u07b8\1\0\1\u0518\1\u07b8\2\u0518\2\u07b8" + "\1\0\2\u07b8\1\0\5\u07b8\1\0\27\u0518\1\0\4\u0518" - + "\5\u07b8\12\u0518\1\0\7\u0518\2\57\1\0\1\57\1\0" + "\2\57\2\0\6\57\1\0\26\57\1\0\31\57\1\u07b9" - + "\15\57\1\0\22\57\2\67\1\0\1\67\1\0\2\67" + "\2\0\4\67\1\u02ee\1\67\1\0\26\67\1\0\31\67" - + "\1\u02ee\15\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\26\67\1\0\27\67\1\u02c8\17\67" - + "\1\0\3\67\1\u02c8\20\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\26\67\1\0\23\67\1\u011e\16\67" - + "\1\u011e\4\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\3\67\1\u052a\2\67\1\0\26\67\1\0\7\67" - + "\1\u052a\37\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\1\67\1\u02ee\4\67\1\0\26\67\1\0\21\67" - + "\1\u02ee\25\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\1\67\1\u02c8\4\67\1\0\26\67\1\0\21\67" - + "\1\u02c8\25\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\26\67\1\0\15\67\1\u07ba\23\67" - + "\1\u07ba\5\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\2\67\1\u07bb\3\67\1\0\26\67\1\0\12\67" - + "\1\u07bb\34\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\2\67\1\u07bc\23\67\1\0\13\67" - + "\1\u07bc\1\67\1\u0527\23\67\1\u0527\5\67\1\0\24\67" + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\21\67" - + "\1\u07bd\4\67\1\0\30\67\1\u07bd\16\67\1\0\24\67" + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\26\67" - + "\1\0\10\67\1\u02c8\36\67\1\0\1\67\1\u02c8\22\67" + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\26\67" - + "\1\0\23\67\1\u07be\16\67\1\u07be\4\67\1\0\24\67" + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\26\67" - + "\1\0\15\67\1\u07bf\23\67\1\u07bf\5\67\1\0\24\67" + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\26\67" - + "\1\0\23\67\1\u014f\16\67\1\u014f\4\67\1\0\24\67" + "\1\0\1\67\1\0\2\67\2\0\5\67\1\u07c0\1\0" - + "\26\67\1\0\11\67\1\u07c0\35\67\1\0\24\67\1\0" + "\1\67\1\0\2\67\2\0\6\67\1\0\26\67\1\0" - + "\27\67\1\u07c1\17\67\1\0\3\67\1\u07c1\20\67\1\0" + "\1\67\1\0\2\67\2\0\6\67\1\0\26\67\1\0" - + "\25\67\1\u0137\21\67\1\0\1\u0137\23\67\1\0\1\67" + "\1\0\2\67\2\0\6\67\1\0\26\67\1\0\14\67" - + "\1\u07c2\23\67\1\u07c2\6\67\1\0\24\67\1\0\1\67" + "\1\0\2\67\2\0\6\67\1\0\12\67\1\u0527\13\67" - + "\1\0\37\67\1\u0527\7\67\1\0\24\67\1\0\1\67" + "\1\0\2\67\2\0\6\67\1\0\26\67\1\0\25\67" - + "\1\u011e\21\67\1\0\1\u011e\23\67\1\0\1\67\1\0" + "\2\67\2\0\3\67\1\u07c3\2\67\1\0\26\67\1\0" - + "\7\67\1\u07c3\37\67\1\0\24\67\1\0\1\67\1\0" + "\2\67\2\0\5\67\1\u07c4\1\0\1\67\1\u07c5\24\67" - + "\1\0\11\67\1\u07c4\4\67\1\u07c5\3\67\1\u07c6\24\67" + "\1\0\2\67\1\u07c6\21\67\1\0\1\67\1\0\2\67" - + "\2\0\3\67\1\u07c7\2\67\1\0\26\67\1\0\7\67" + "\1\u07c7\37\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\12\67\1\u07c8\13\67\1\0\37\67" + "\1\u07c8\7\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\2\67\1\u07c9\23\67\1\0\13\67" + "\1\u07c9\33\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\21\67\1\u07ca\4\67\1\0\30\67" + "\1\u07ca\16\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\2\67\1\u02c8\3\67\1\0\26\67\1\0\12\67" + "\1\u02c8\34\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\26\67\1\0\23\67\1\u07cb\16\67" + "\1\u07cb\4\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\1\67\1\u011b\4\67\1\0\26\67\1\0\21\67" + "\1\u011b\25\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\2\67\1\u02ee\23\67\1\0\13\67" + "\1\u02ee\33\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\2\67\1\u07cc\23\67\1\0\13\67" + "\1\u07cc\33\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\26\67\1\0\15\67\1\u07cd\23\67" + "\1\u07cd\5\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\2\67\1\u0137\23\67\1\0\13\67" + "\1\u0137\33\67\1\0\22\67\100\0\1\u07ce\53\0\1\u07cf" - + "\45\0\1\u07cf\157\0\1\u07d0\40\0\1\132\10\0\1\132" + "\1\u07d1\4\132\1\0\2\132\1\u07d1\1\132\4\u07d1\1\132" - + "\1\0\1\132\1\0\3\132\1\0\1\132\1\u07d1\14\0" + "\4\132\3\u07d1\2\132\2\u07d1\6\132\1\u07d1\5\132\1\0" + + "\2\141\14\0\16\141\1\u079e\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u079f\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\16\0\1\u07a0\41\0\1\u07a0" + + "\136\0\1\u07a1\145\0\1\u07a2\137\0\1\u07a3\137\0\1\u07a4" + + "\153\0\1\u050c\144\0\1\u07a5\124\0\1\u07a6\135\0\1\u07a7" + + "\147\0\1\u07a8\130\0\1\u07a9\152\0\1\u07aa\134\0\1\u07ab" + + "\3\0\1\u07ac\130\0\1\u07ad\151\0\1\u07ae\125\0\1\u07af" + + "\162\0\1\u07b0\123\0\1\u07b1\141\0\1\u0504\140\0\1\u07b2" + + "\152\0\1\u07b3\51\0\3\u0105\1\u07b4\2\u0105\1\0\10\u0105" + + "\2\0\1\u0105\5\0\2\u0105\14\0\1\u07b4\26\u0105\1\0" + + "\4\u0105\5\0\12\u0105\1\0\7\u0105\11\0\6\u0105\1\0" + + "\1\u0105\1\u07b5\6\u0105\2\0\1\u0105\5\0\2\u0105\14\0" + + "\7\u0105\1\u07b5\17\u0105\1\0\4\u0105\5\0\12\u0105\1\0" + + "\7\u0105\100\0\1\u07b6\50\0\1\u07b7\203\0\1\u0516\12\0" + + "\1\u02bb\57\0\2\u07b8\1\0\7\u0518\1\0\10\u0518\2\u07b8" + + "\1\u0518\1\0\1\u07b8\1\0\1\u0518\1\u07b8\2\u0518\2\u07b8" + + "\1\0\2\u07b8\1\0\5\u07b8\1\0\27\u0518\1\0\4\u0518" + "\5\u07b8\12\u0518\1\0\7\u0518\2\57\1\0\1\57\1\0" + + "\2\57\2\0\6\57\1\0\26\57\1\0\31\57\1\u07b9" + "\15\57\1\0\22\57\2\67\1\0\1\67\1\0\2\67" + + "\2\0\4\67\1\u02ee\1\67\1\0\26\67\1\0\31\67" + "\1\u02ee\15\67\1\0\24\67\1\0\1\67\1\0\2\67" + + "\2\0\6\67\1\0\26\67\1\0\27\67\1\u02c8\17\67" + "\1\0\3\67\1\u02c8\20\67\1\0\1\67\1\0\2\67" + + "\2\0\6\67\1\0\26\67\1\0\23\67\1\u011e\16\67" + "\1\u011e\4\67\1\0\24\67\1\0\1\67\1\0\2\67" + + "\2\0\3\67\1\u052a\2\67\1\0\26\67\1\0\7\67" + "\1\u052a\37\67\1\0\24\67\1\0\1\67\1\0\2\67" + + "\2\0\1\67\1\u02ee\4\67\1\0\26\67\1\0\21\67" + "\1\u02ee\25\67\1\0\24\67\1\0\1\67\1\0\2\67" + + "\2\0\1\67\1\u02c8\4\67\1\0\26\67\1\0\21\67" + "\1\u02c8\25\67\1\0\24\67\1\0\1\67\1\0\2\67" + + "\2\0\6\67\1\0\26\67\1\0\15\67\1\u07ba\23\67" + "\1\u07ba\5\67\1\0\24\67\1\0\1\67\1\0\2\67" + + "\2\0\2\67\1\u07bb\3\67\1\0\26\67\1\0\12\67" + "\1\u07bb\34\67\1\0\24\67\1\0\1\67\1\0\2\67" + + "\2\0\6\67\1\0\2\67\1\u07bc\23\67\1\0\13\67" + "\1\u07bc\1\67\1\u0527\23\67\1\u0527\5\67\1\0\24\67" + + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\21\67" + "\1\u07bd\4\67\1\0\30\67\1\u07bd\16\67\1\0\24\67" + + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\26\67" + "\1\0\10\67\1\u02c8\36\67\1\0\1\67\1\u02c8\22\67" + + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\26\67" + "\1\0\23\67\1\u07be\16\67\1\u07be\4\67\1\0\24\67" + + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\26\67" + "\1\0\15\67\1\u07bf\23\67\1\u07bf\5\67\1\0\24\67" + + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\26\67" + "\1\0\23\67\1\u014f\16\67\1\u014f\4\67\1\0\24\67" + + "\1\0\1\67\1\0\2\67\2\0\5\67\1\u07c0\1\0" + "\26\67\1\0\11\67\1\u07c0\35\67\1\0\24\67\1\0" + + "\1\67\1\0\2\67\2\0\6\67\1\0\26\67\1\0" + "\27\67\1\u07c1\17\67\1\0\3\67\1\u07c1\20\67\1\0" + + "\1\67\1\0\2\67\2\0\6\67\1\0\26\67\1\0" + "\25\67\1\u0137\21\67\1\0\1\u0137\23\67\1\0\1\67" + + "\1\0\2\67\2\0\6\67\1\0\26\67\1\0\14\67" + "\1\u07c2\23\67\1\u07c2\6\67\1\0\24\67\1\0\1\67" + + "\1\0\2\67\2\0\6\67\1\0\12\67\1\u0527\13\67" + "\1\0\37\67\1\u0527\7\67\1\0\24\67\1\0\1\67" + + "\1\0\2\67\2\0\6\67\1\0\26\67\1\0\25\67" + "\1\u011e\21\67\1\0\1\u011e\23\67\1\0\1\67\1\0" + + "\2\67\2\0\3\67\1\u07c3\2\67\1\0\26\67\1\0" + "\7\67\1\u07c3\37\67\1\0\24\67\1\0\1\67\1\0" + + "\2\67\2\0\5\67\1\u07c4\1\0\1\67\1\u07c5\24\67" + "\1\0\11\67\1\u07c4\4\67\1\u07c5\3\67\1\u07c6\24\67" + + "\1\0\2\67\1\u07c6\21\67\1\0\1\67\1\0\2\67" + "\2\0\3\67\1\u07c7\2\67\1\0\26\67\1\0\7\67" + + "\1\u07c7\37\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\12\67\1\u07c8\13\67\1\0\37\67" + + "\1\u07c8\7\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\2\67\1\u07c9\23\67\1\0\13\67" + + "\1\u07c9\33\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\21\67\1\u07ca\4\67\1\0\30\67" + + "\1\u07ca\16\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\2\67\1\u02c8\3\67\1\0\26\67\1\0\12\67" + + "\1\u02c8\34\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\26\67\1\0\23\67\1\u07cb\16\67" + + "\1\u07cb\4\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\1\67\1\u011b\4\67\1\0\26\67\1\0\21\67" + + "\1\u011b\25\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\2\67\1\u02ee\23\67\1\0\13\67" + + "\1\u02ee\33\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\2\67\1\u07cc\23\67\1\0\13\67" + + "\1\u07cc\33\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\26\67\1\0\15\67\1\u07cd\23\67" + + "\1\u07cd\5\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\2\67\1\u0137\23\67\1\0\13\67" + + "\1\u0137\33\67\1\0\22\67\100\0\1\u07ce\53\0\1\u07cf" + + "\45\0\1\u07cf\157\0\1\u07d0\40\0\1\132\10\0\1\132" + + "\1\u07d1\4\132\1\0\2\132\1\u07d1\1\132\4\u07d1\1\132" + "\1\0\1\132\1\0\3\132\1\0\1\132\1\u07d1\14\0" + + "\4\132\3\u07d1\2\132\2\u07d1\6\132\1\u07d1\5\132\1\0" + "\1\132\2\u07d1\2\132\4\0\7\132\1\u07d1\2\132\1\0" + "\3\u07d1\1\132\3\u07d1\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u07d2\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" @@ -2813,20 +2942,32 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u07e5\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u018f\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\100\0\1\u07e6" - + "\140\0\1\u07e7\53\0\1\u07e8\45\0\1\u07e8\67\0\1\u07e9" + "\203\0\1\u0569\12\0\1\u0345\57\0\2\u07ea\1\0\7\u056b" - + "\1\0\10\u056b\2\u07ea\1\u056b\1\0\1\u07ea\1\0\1\u056b" + "\1\u07ea\2\u056b\2\u07ea\1\0\2\u07ea\1\0\5\u07ea\1\0" - + "\27\u056b\1\0\4\u056b\5\u07ea\12\u056b\1\0\7\u056b\10\0" + "\1\u07eb\203\0\1\u056c\12\0\1\u0349\57\0\2\u07ec\1\0" - + "\7\u056e\1\0\10\u056e\2\u07ec\1\u056e\1\0\1\u07ec\1\0" + "\1\u056e\1\u07ec\2\u056e\2\u07ec\1\0\2\u07ec\1\0\5\u07ec" - + "\1\0\27\u056e\1\0\4\u056e\5\u07ec\12\u056e\1\0\7\u056e" + "\60\0\1\u07ed\152\0\1\u07ee\142\0\1\u07ef\124\0\1\u07f0" - + "\142\0\1\u07f1\134\0\1\u07f2\3\0\1\u0578\145\0\1\u07f3" + "\144\0\1\u07f4\77\0\1\u07f5\174\0\1\u0590\146\0\1\u07f6" - + "\140\0\1\u0590\126\0\1\u07f7\110\0\1\u07f8\205\0\1\u07f9" + "\73\0\1\u07fa\165\0\1\u0590\153\0\1\u07fb\130\0\1\u07fc" - + "\135\0\1\u07fd\155\0\1\u07fe\126\0\1\u0578\151\0\1\u07ff" + "\124\0\1\u0800\145\0\1\u0578\134\0\1\u0801\142\0\1\u0802" - + "\140\0\1\u0803\154\0\1\u0590\141\0\1\u0578\120\0\1\u0804" + "\151\0\1\u0364\130\0\1\u0805\141\0\1\u0579\144\0\1\u0806" - + "\141\0\1\u0807\140\0\1\u0808\153\0\1\u0809\126\0\1\u080a" + "\133\0\1\u080b\155\0\1\u0590\125\0\1\u080c\144\0\1\u0590" - + "\131\0\1\u080d\144\0\1\u0805\155\0\1\u080e\116\0\1\u080f" + "\17\0\1\u0810\124\0\1\u057f\142\0\1\u0811\130\0\1\u0812" - + "\75\0\1\u0813\45\0\1\u0813\67\0\1\u0814\203\0\1\u05a3" + "\12\0\1\u0374\57\0\2\u0815\1\0\7\u05a5\1\0\10\u05a5" - + "\2\u0815\1\u05a5\1\0\1\u0815\1\0\1\u05a5\1\u0815\2\u05a5" + "\2\u0815\1\0\2\u0815\1\0\5\u0815\1\0\27\u05a5\1\0" - + "\4\u05a5\5\u0815"; + + "\140\0\1\u07e7\53\0\1\u07e8\45\0\1\u07e8\67\0\1\u07e9" + + "\203\0\1\u0569\12\0\1\u0345\57\0\2\u07ea\1\0\7\u056b" + + "\1\0\10\u056b\2\u07ea\1\u056b\1\0\1\u07ea\1\0\1\u056b" + + "\1\u07ea\2\u056b\2\u07ea\1\0\2\u07ea\1\0\5\u07ea\1\0" + + "\27\u056b\1\0\4\u056b\5\u07ea\12\u056b\1\0\7\u056b\10\0" + + "\1\u07eb\203\0\1\u056c\12\0\1\u0349\57\0\2\u07ec\1\0" + + "\7\u056e\1\0\10\u056e\2\u07ec\1\u056e\1\0\1\u07ec\1\0" + + "\1\u056e\1\u07ec\2\u056e\2\u07ec\1\0\2\u07ec\1\0\5\u07ec" + + "\1\0\27\u056e\1\0\4\u056e\5\u07ec\12\u056e\1\0\7\u056e" + + "\60\0\1\u07ed\152\0\1\u07ee\142\0\1\u07ef\124\0\1\u07f0" + + "\142\0\1\u07f1\134\0\1\u07f2\3\0\1\u0578\145\0\1\u07f3" + + "\144\0\1\u07f4\77\0\1\u07f5\174\0\1\u0590\146\0\1\u07f6" + + "\140\0\1\u0590\126\0\1\u07f7\110\0\1\u07f8\205\0\1\u07f9" + + "\73\0\1\u07fa\165\0\1\u0590\153\0\1\u07fb\130\0\1\u07fc" + + "\135\0\1\u07fd\155\0\1\u07fe\126\0\1\u0578\151\0\1\u07ff" + + "\124\0\1\u0800\145\0\1\u0578\134\0\1\u0801\142\0\1\u0802" + + "\140\0\1\u0803\154\0\1\u0590\141\0\1\u0578\120\0\1\u0804" + + "\151\0\1\u0364\130\0\1\u0805\141\0\1\u0579\144\0\1\u0806" + + "\141\0\1\u0807\140\0\1\u0808\153\0\1\u0809\126\0\1\u080a" + + "\133\0\1\u080b\155\0\1\u0590\125\0\1\u080c\144\0\1\u0590" + + "\131\0\1\u080d\144\0\1\u0805\155\0\1\u080e\116\0\1\u080f" + + "\17\0\1\u0810\124\0\1\u057f\142\0\1\u0811\130\0\1\u0812" + + "\75\0\1\u0813\45\0\1\u0813\67\0\1\u0814\203\0\1\u05a3" + + "\12\0\1\u0374\57\0\2\u0815\1\0\7\u05a5\1\0\10\u05a5" + + "\2\u0815\1\u05a5\1\0\1\u0815\1\0\1\u05a5\1\u0815\2\u05a5" + + "\2\u0815\1\0\2\u0815\1\0\5\u0815\1\0\27\u05a5\1\0" + "\4\u05a5\5\u0815"; private static final String ZZ_TRANS_PACKED_1 = "\12\u05a5\1\0\7\u05a5\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\2\141\1\u0816\1\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\2\141\1\u0817\3\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" @@ -2911,7 +3052,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + "\1\u0844\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0845\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0846\2\141\1\u0847\1\141\1\u060f\2\141\1\u0848\13\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u0846\2\141\1\u0847\1\141\1\u060f\2\141\1\u0848\13\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0849\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u084a\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" @@ -2999,22 +3141,23 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + "\1\u0881\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u04f9\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u0882\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\5\141\1\u0396\1\141\1\u0883\3\141\1\u0884\5\141\1\u03c1" - + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u0885" + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0886" - + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0887" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0888" - + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0889" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u088a" - + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u088b" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u088c" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u088d\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u088e\2\141" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\5\141\1\u0396\1\141\1\u0883\3\141\1\u0884\5\141\1\u03c1" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u0885" + + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0886" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0887" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0888" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0889" + + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u088a" + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u088b" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u088c" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u088d\26\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u088e\2\141" + "\1\u04c5\2\141\1\u0208\3\141\1\u0464\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u01c6\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" @@ -3061,56 +3204,59 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u08a2\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\21\141\1\u08a3\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u08a4" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u08a5\1\u0679\1\u0687\3\141\1\u0679\1\141\1\u08a6" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u08a5\1\u0679\1\u0687\3\141\1\u0679\1\141\1\u08a6" + "\1\141\1\u0679\1\u06e5\2\141\1\u08a7\3\141\1\u08a8\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u060b\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u08a9\1\141" + "\1\u08aa\1\u08ab\1\u08ac\1\u08ad\1\u08ae\1\u08af\1\141\1\u08b0" - + "\1\u08b1\1\u08b2\4\141\1\u0753\1\u08b3\3\141\1\u08b4\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u08b5\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u05b2\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u08b6\14\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\15\141\1\u08b7\11\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u08b8\24\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\14\141\1\u01fa\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\20\141\1\u08b9\6\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u08ba\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u08bb\1\141\1\u08bc\14\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u08a9\1\141" + + "\1\u08aa\1\u08ab\1\u08ac\1\u08ad\1\u08ae\1\u08af\1\141\1\u08b0" + + "\1\u08b1\1\u08b2\4\141\1\u0753\1\u08b3\3\141\1\u08b4\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u03d2\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u032c\20\141\1\0" + + "\1\141\1\0\2\141\14\0\1\u08b5\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u05b2\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\12\141\1\u08b6\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\15\141\1\u08b7\11\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\2\141\1\u08b8\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u01fa\12\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\20\141\1\u08b9\6\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u08ba\17\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\10\141\1\u08bb\1\141\1\u08bc\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u03d2\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u0269\1\141\1\u08bd" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u08be" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u08bf" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u08c0\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u08c1" - + "\3\141\1\u08c2\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\15\141\1\u0269\11\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\1\u0269\6\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\23\141\1\u08c3\3\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\13\141\1\u08c4\13\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u08c5\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u08c6\26\141\1\0\4\141\1\132\4\0\12\141" + + "\1\141\1\0\2\141\14\0\6\141\1\u032c\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u0269\1\141\1\u08bd" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u08be" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u08bf" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u08c0\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u08c1" + "\3\141\1\u08c2\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u08c7\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u070e\10\141\1\u08c8\12\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\14\141\1\u08c9\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\u08ca\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0262\26\141\1\0\4\141\1\132\4\0" + + "\15\141\1\u0269\11\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\1\u0269\6\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\23\141\1\u08c3\3\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\12\141\1\u08cb\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0832\4\141\1\u08cc\5\141\1\u0318\11\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u08cd\5\141" + "\1\u08ce\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" - + "\1\u08cf\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u08d0\3\141\1\u08d1\1\u08d2\1\u08d3\1\u08d4\5\141\1\u08d5" + + "\14\0\13\141\1\u08c4\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u08c5\23\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u08c6\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u08c7\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u070e\10\141\1\u08c8\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u08c9\12\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u08ca\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u0262\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u08cb\14\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u0832\4\141\1\u08cc\5\141\1\u0318\11\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u08cd\5\141" + + "\1\u08ce\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" + "\1\u08cf\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u08d0\3\141\1\u08d1\1\u08d2\1\u08d3\1\u08d4\5\141\1\u08d5" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u08d6" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u08d7" @@ -3138,18 +3284,19 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\2\141\14\0\16\141\1\u01fa\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u08e6\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u0894\2\141\1\u08e7\4\141\1\u08e8\6\141\1\u08e9" + "\2\141\1\u06b7\4\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\10\141\1\u08ea\11\141\1\u08eb\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0269\12\141\1\u08ec\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u08ed\3\141\1\u06b5\5\141" + "\1\u08ee\7\141\1\u08ef\4\141\1\0\4\141\1\132\4\0" + + "\14\0\1\u0894\2\141\1\u08e7\4\141\1\u08e8\6\141\1\u08e9" + + "\2\141\1\u06b7\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u08ea\11\141\1\u08eb\4\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u0269\12\141\1\u08ec\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u08ed\3\141\1\u06b5\5\141" + + "\1\u08ee\7\141\1\u08ef\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u08f0\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u08f0\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u03c0\24\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u05d8\17\141\1\u04f9\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u05d1\4\141\1\u08f1\1\141" + + "\14\0\2\141\1\u03c0\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u05d8\17\141\1\u04f9\4\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\141\1\u05d1\4\141\1\u08f1\1\141" + "\1\u08f2\4\141\1\u05d8\1\u0262\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u08f3\3\141\1\u08f4\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" @@ -3163,27 +3310,28 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u08fa\2\141\1\u08fb\4\141\1\u060f\13\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u08fc\1\u08fd\1\u08fe\1\141" - + "\1\u08ff\1\u0900\1\u0901\1\u0902\2\141\1\u0903\1\141\1\u0904" + "\1\141\1\u046a\10\141\1\0\4\141\1\132\4\0\12\141" + + "\1\u08ff\1\u0900\1\u0901\1\u0902\2\141\1\u0903\1\141\1\u0904" + + "\1\141\1\u046a\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u0905\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\14\141\1\u0905\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0906\20\141\1\0\4\141\1\132\4\0\12\141" + + "\6\141\1\u0906\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\23\141\1\u01ea\3\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\23\141\1\u01ea\3\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u0907\5\141\1\u0908\20\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u0909\12\141\1\u090a\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u090b\7\141\1\u08cb\14\141" + + "\1\u0907\5\141\1\u0908\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u0909\12\141\1\u090a\10\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\2\141\1\u090b\7\141\1\u08cb\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u090c\3\141\1\u090d" + + "\11\141\1\u090e\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\22\141\1\u090f\4\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u0910\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u0911\7\141\1\u0912\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u0913\6\141\1\u0914\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u044f\3\141\1\u0915\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u0916\2\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u090c\3\141\1\u090d" + "\11\141\1\u090e\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\22\141\1\u090f\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\u0910\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0911\7\141\1\u0912\10\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u0913\6\141\1\u0914\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u044f\3\141\1\u0915\22\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u0916\2\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0917\3\141\1\u0918" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u0917\3\141\1\u0918" + "\11\141\1\u0919\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u091a\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" @@ -3203,60 +3351,62 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u0923" + "\7\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u03c6" + "\21\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0924" + "\2\141\1\u0925\4\141\1\u0926\5\141\1\u0927\1\u0928\4\141" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0924" + + "\2\141\1\u0925\4\141\1\u0926\5\141\1\u0927\1\u0928\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0929\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0929\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u092a\17\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u092b\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u0748\5\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u092a\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u092b\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u092c\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u092d\1\u092e\1\u092f" + + "\1\141\1\0\2\141\14\0\21\141\1\u0748\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u092c\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\141\1\u092d\1\u092e\1\u092f" + "\1\u0930\1\u0931\1\u0932\1\u0933\1\u0934\1\141\1\u0935\1\u0936" - + "\1\u0937\1\141\1\u0938\2\141\1\u0939\1\u093a\1\141\1\u093b" + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u093c\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\1\u0937\1\141\1\u0938\2\141\1\u0939\1\u093a\1\141\1\u093b" + + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u093c\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\23\141\1\u0921\1\141\1\u0921" + + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u093d\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u093e\14\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u093f\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0940\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u04ce\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0941\23\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0942\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u0943\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0944" + + "\1\141\1\u0945\5\141\1\u0946\7\141\1\u0947\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u0748\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\23\141\1\u0921\1\141\1\u0921" + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u093d\26\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u093e\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u093f\24\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0940\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u04ce\10\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0941\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0942\24\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u0943\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0944" + "\1\141\1\u0945\5\141\1\u0946\7\141\1\u0947\4\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\15\141\1\u0748\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u0948\12\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u0949\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0610\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\1\141\1\u094a" - + "\5\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" - + "\1\u0269\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u03c6\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\141\1\0\2\141\14\0\14\141\1\u0948\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u0949\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0610\12\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\1\141\1\u094a" + "\5\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" + "\1\u0269\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u03c6\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u05d1\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + + "\1\u0269\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141" + "\1\u094b\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u0392\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u094c\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" - + "\1\u05d1\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + "\1\u0269\2\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141" - + "\1\u094b\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u0392\20\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u094c\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u094d\25\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" - + "\1\u08e1\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u090a\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u094e\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u094f" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\20\141\1\u0950" - + "\6\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\1\u0269\6\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u06ee\1\141\1\u0951" + + "\1\u094d\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u08e1\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u090a\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u094e\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u094f" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\20\141\1\u0950" + "\6\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\1\u0269\6\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u06ee\1\141\1\u0951" + "\2\141\1\u0952\13\141\1\u0953\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0954\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" @@ -3291,16 +3441,19 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u0966\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u0967\1\u045b\1\141\1\u0968\1\141\1\u0639\1\u0969\1\u096a" - + "\1\u096b\1\141\1\u096c\1\u096d\1\u088f\1\u096e\1\u05d8\2\141" + "\1\u096f\1\u0970\2\141\1\u0971\1\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\3\141\1\u0972\3\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u0973\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0974\1\u0975\1\141\1\u0976" - + "\1\u0977\1\141\1\u0978\1\u0979\1\u097a\1\u097b\1\u097c\1\141" + "\1\u097d\1\u097e\1\u097f\2\141\1\u0980\1\u0981\4\141\1\0" + + "\1\u096b\1\141\1\u096c\1\u096d\1\u088f\1\u096e\1\u05d8\2\141" + + "\1\u096f\1\u0970\2\141\1\u0971\1\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\3\141\1\u0972\3\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0973\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u0974\1\u0975\1\141\1\u0976" + + "\1\u0977\1\141\1\u0978\1\u0979\1\u097a\1\u097b\1\u097c\1\141" + + "\1\u097d\1\u097e\1\u097f\2\141\1\u0980\1\u0981\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u0982\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u0983\1\u0984\11\141" + "\1\u0985\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u03c0\1\141\1\u0986\16\141\1\u0987\1\141\1\u0988\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u03c0\1\141\1\u0986\16\141\1\u0987\1\141\1\u0988\1\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0989\3\141\1\u05ce" + "\16\141\1\u01ea\3\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u098a\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" @@ -3326,79 +3479,81 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0918" + "\1\141\1\u05d9\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u099d\1\u099e\1\141\1\u099f\7\141\1\u09a0\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u09a1\22\141" + + "\3\141\1\u099d\1\u099e\1\141\1\u099f\7\141\1\u09a0\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u09a2\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u09a3\21\141" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u09a1\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u09a2\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0392\10\141" + "\1\u09a4\7\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" - + "\1\u063d\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u09a5\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141" - + "\1\u020c\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u08f6\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u09a6\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u09a7\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u09a8\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\5\141\1\u09a9\21\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u09aa\16\141\1\0\4\141\1\132\4\0\12\141" + + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u09a3\21\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0392\10\141" + + "\1\u09a4\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u063d\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u09a5\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141" + "\1\u020c\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u08f6\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u09a6\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u09a7\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u09a8\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\5\141\1\u09a9\21\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u09ab\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u09ac\20\141\1\0\4\141\1\132\4\0\12\141" + + "\10\141\1\u09aa\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u09ab\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u09ad\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0393\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" - + "\1\u09ae\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u04ae\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u09af\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u09b0" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u09b1\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u09b2\3\141\1\u09b3\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u09b4\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\6\141\1\u09ac\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u09ad\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u0393\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u09ae\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u04ae\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u09af\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u09b0" + + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u09b1\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u09b2\3\141\1\u09b3\16\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u09b4\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u09b5\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u09b5\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u09b6\22\141\1\0\4\141\1\132\4\0\12\141" + + "\4\141\1\u09b6\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0945\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u0945\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u09b7\3\141\1\u09b8\14\141\1\0\4\141\1\132" + + "\6\141\1\u09b7\3\141\1\u09b8\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u09b9\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u09b9\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u09ba\24\141\1\0\4\141\1\132" + + "\2\141\14\0\2\141\1\u09ba\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u09bb\26\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\15\141\1\u09bc\11\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u09bd\12\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\14\141\1\u09be\4\141\1\u01d4\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u09bf\7\141\1\u09c0\5\141" + + "\1\u0269\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u09c1\15\141\1\u09c2\5\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\3\141\1\u09c3\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u09c4\23\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u0408\1\141\1\u09c5\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u040d\5\141\1\u09c6\1\u09c7" + + "\3\141\1\u0269\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u09c8\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u09c9\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\u09ca\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\11\141\1\u09cb\15\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\15\141\1\u03a8\11\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\u09cc\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u09cd\11\141\1\u09ce\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u09bb\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\15\141\1\u09bc\11\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\14\141\1\u09bd\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u09be\4\141\1\u01d4\5\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u09bf\7\141\1\u09c0\5\141" + "\1\u0269\2\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u09c1\15\141\1\u09c2\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u09c3\23\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u09c4\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0408\1\141\1\u09c5\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\7\141\1\u040d\5\141\1\u09c6\1\u09c7" + "\3\141\1\u0269\4\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u09c8\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u09c9\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u09ca\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\11\141\1\u09cb\15\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\15\141\1\u03a8\11\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u09cc\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u09cd\11\141\1\u09ce\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u09cf\11\141\1\u09d0\14\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u09d1\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\u09d2\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u09d3\1\u09d4\1\u09d5\1\141\1\u09d6\1\141\1\u09a4" + "\1\u09d7\1\u09d8\1\u09d9\1\141\1\u0464\2\141\1\u03a8\1\u09da" + + "\2\141\14\0\1\u09cf\11\141\1\u09d0\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u09d1\26\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u09d2\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u09d3\1\u09d4\1\u09d5\1\141\1\u09d6\1\141\1\u09a4" + + "\1\u09d7\1\u09d8\1\u09d9\1\141\1\u0464\2\141\1\u03a8\1\u09da" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u09db" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u023a" @@ -3415,7 +3570,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u09e3" + "\22\141\1\0\4\141\1\132\4\0\11\141\1\u09e4\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u09e5\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u09e6" + "\2\141\1\u09e7\1\u072a\1\u09e8\1\141\1\u09e9\1\u09ea\1\u09eb" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u09e6" + + "\2\141\1\u09e7\1\u072a\1\u09e8\1\141\1\u09e9\1\u09ea\1\u09eb" + "\1\u09ec\1\141\1\u09ed\4\141\1\u09ee\1\u09ef\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u09f0\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" @@ -3455,214 +3611,229 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u0a10\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u0a11\21\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0a12\1\u0461" - + "\1\141\1\u0a13\2\141\1\u0a14\1\141\1\u0208\3\141\1\u0464" + "\1\u020c\7\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" - + "\1\u0a15\2\141\1\u0a16\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u0a17\12\141\1\0\4\141\1\132\4\0" + + "\1\141\1\u0a13\2\141\1\u0a14\1\141\1\u0208\3\141\1\u0464" + + "\1\u020c\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u0a15\2\141\1\u0a16\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\13\141\1\u0a18\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0a19\24\141\1\0\4\141\1\132\4\0" + + "\14\0\14\141\1\u0a17\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\13\141\1\u0a18\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u0a1a\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\13\141\1\u0a1b\13\141\1\0\4\141\1\132\4\0" + + "\14\0\2\141\1\u0a19\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u0a1a\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0a1c\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0a1d\22\141\1\0\4\141\1\132\4\0" + + "\14\0\13\141\1\u0a1b\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0a1c\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\12\141\1\u044f\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u06b7\23\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u0a1e\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0a1f" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" - + "\1\u0a20\21\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u0a21\12\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u0a22\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141" + "\1\u0a23\1\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0a24" - + "\3\141\1\u064e\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0a25\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u0a26\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u044f\16\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\12\141\1\u0a27\1\u0a28\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u0a29\17\141\1\0\4\141\1\132\4\0" + + "\14\0\4\141\1\u0a1d\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u044f\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u0a2a\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u0a2b\25\141\1\0\4\141\1\132\4\0\12\141" + + "\14\0\3\141\1\u06b7\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u0a1e\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0a1f" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + "\1\u0a20\21\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u0a21\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0a22\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141" + + "\1\u0a23\1\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0a24" + "\3\141\1\u064e\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u0a2c\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u0a2d\25\141\1\0\4\141\1\132\4\0\12\141" + + "\4\141\1\u0a25\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0a26\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\14\141\1\u06b5\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u0a2e\26\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u0a2f\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0a1d" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u0a30\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0a31\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0a32\26\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u0a33\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a34\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0a35\10\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0a36\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a37\22\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0a38\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0a39\17\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0a3a\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0a3b\5\141" - + "\1\u0a3c\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0a3d\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u047b\1\u0a3e\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0a3f\22\141\1\0\4\141\1\132\4\0\12\141" + + "\10\141\1\u044f\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u0a27\1\u0a28\13\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\7\141\1\u0a29\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0a2a\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u0a40\4\141\1\u0a41\3\141\1\u0a42\10\141\1\u0705" + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0a43\2\141" - + "\1\u0a44\1\u0a45\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\5\141\1\u0a46\21\141\1\0\4\141\1\132\4\0\12\141" + + "\1\141\1\u0a2b\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0a2c\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u0a47\7\141\1\u0a48\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0a49\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\141\1\u0a4a\4\141\1\u0a4b\1\u0a4c\6\141" + "\1\u0a4d\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u0a4e\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u0a4f" + + "\1\141\1\u0a2d\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u06b5\12\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\u0a2e\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0a2f\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0a1d" + + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0a30\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0754\10\141" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0a31\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u06fe\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a26\4\141" - + "\1\u03ce\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u0a50" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0830" + "\5\141\1\u0a51\3\141\1\u09d0\3\141\1\u0386\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u0a52\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\17\141\1\u0a53\7\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u03ce\1\0\1\132\1\u015c\1\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u0a32\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u0a33\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a34\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0a35\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0a36\12\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a37\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0a38\24\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0a39\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0a3a\12\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0a3b\5\141" + "\1\u0a3c\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u0a3d\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u047b\1\u0a3e\23\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u0a3f\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u0a40\4\141\1\u0a41\3\141\1\u0a42\10\141\1\u0705" + + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0a43\2\141" + "\1\u0a44\1\u0a45\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\5\141\1\u0a46\21\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0a47\7\141\1\u0a48\10\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u0a49\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u0a4a\4\141\1\u0a4b\1\u0a4c\6\141" + + "\1\u0a4d\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0a4e\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u0a4f" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0754\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u06fe\4\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a26\4\141" + "\1\u03ce\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u0a50" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0830" + + "\5\141\1\u0a51\3\141\1\u09d0\3\141\1\u0386\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\u0a52\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\17\141\1\u0a53\7\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\u03ce\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0a54\6\141\1\u0a55\1\u0a56\1\141\1\u0a57" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0a58" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u0a59" + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0a5a\1\u0a5b" + "\1\u0a5c\1\u0a5d\1\u0a5e\1\u0a5f\1\u0a60\1\u0a61\1\u0a62\1\u0a63" - + "\1\u0a64\1\u0a65\1\u0a66\1\141\1\u0a67\2\141\1\u0753\1\u0a68" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0a69" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0a6a" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a6b" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0a6c" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u0174\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u0a6d\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u0a6e\14\141\1\0\4\141" + + "\1\u0a64\1\u0a65\1\u0a66\1\141\1\u0a67\2\141\1\u0753\1\u0a68" + + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0a69" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0a6a" + + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a6b" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0a6c" + + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u0174\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0a6d\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u0a6f\14\141\1\u0a70\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0a71\20\141" + + "\1\0\2\141\14\0\12\141\1\u0a6e\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0a6f\14\141\1\u0a70\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u08bb\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0a72\5\141" + + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0a71\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u08bb\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0a73\25\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0a74\17\141" + + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0a72\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0a73\25\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a75\3\141" + "\1\u0a76\2\141\1\u0a77\6\141\1\u0a78\4\141\1\0\4\141" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0a74\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a75\3\141" + + "\1\u0a76\2\141\1\u0a77\6\141\1\u0a78\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\22\141\1\u0a79\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\22\141\1\u0a79\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u0a7a\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\25\141\1\u0a7b\1\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u0a7c\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0a7d\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\15\141\1\u0a7e\11\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u0a7f\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u0a80\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\1\132\1\u0a81\4\132\1\0" + "\2\132\1\u0a81\1\132\4\u0a81\1\132\1\0\1\132\1\0" - + "\3\132\1\0\1\132\1\u0a81\14\0\4\132\3\u0a81\2\132" + "\2\u0a81\6\132\1\u0a81\5\132\1\0\1\132\2\u0a81\2\132" - + "\4\0\7\132\1\u0a81\2\132\1\0\3\u0a81\1\132\3\u0a81" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0461" + "\1\u0a82\5\141\1\u0208\3\141\1\u0464\10\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u0a83\1\0\1\141\1\0\1\132\1\u015c" + + "\1\0\2\141\14\0\3\141\1\u0a7a\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\25\141\1\u0a7b\1\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u0a7c\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u0a84\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\10\141\1\u0a7d\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0a85\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u08b6\16\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u0a86\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0a87" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" - + "\1\u0a88\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u0a89" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + "\1\u0a8a\5\141\1\u0a8b\13\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\3\141\1\u0a8c\3\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\23\141\1\u0a8d\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\20\0\1\u0a8e\60\0" - + "\1\u0a8e\120\0\1\u0a8f\137\0\1\u07b0\143\0\1\u0a90\146\0" + "\1\u0a91\127\0\1\u0a92\147\0\1\u0a93\137\0\1\u07ab\104\0" - + "\1\u0a94\164\0\1\u0a95\160\0\1\u07af\122\0\1\u0a96\151\0" + "\1\u07af\137\0\1\u0a97\101\0\1\u0a98\171\0\1\u0a99\157\0" - + "\1\u0a96\115\0\1\u0a9a\156\0\1\u0a9b\55\0\4\u0105\1\u0a9c" + "\1\u0105\1\0\10\u0105\2\0\1\u0105\5\0\2\u0105\14\0" - + "\22\u0105\1\u0a9c\4\u0105\1\0\4\u0105\5\0\12\u0105\1\0" + "\7\u0105\11\0\6\u0105\1\0\2\u0105\1\u0a9d\5\u0105\2\0" - + "\1\u0105\5\0\2\u0105\14\0\4\u0105\1\u0a9d\22\u0105\1\0" + "\4\u0105\5\0\12\u0105\1\0\7\u0105\10\0\1\u0518\130\0" - + "\2\67\1\0\1\67\1\0\2\67\2\0\1\114\5\67" + "\1\0\26\67\1\0\17\67\1\114\27\67\1\0\24\67" - + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\26\67" + "\1\0\25\67\1\u0a9e\21\67\1\0\1\u0a9e\23\67\1\0" - + "\1\67\1\0\2\67\2\0\6\67\1\0\26\67\1\0" + "\23\67\1\u02ee\16\67\1\u02ee\4\67\1\0\24\67\1\0" - + "\1\67\1\0\2\67\2\0\6\67\1\0\2\67\1\u0a9f" + "\23\67\1\0\13\67\1\u0a9f\33\67\1\0\24\67\1\0" - + "\1\67\1\0\2\67\2\0\5\67\1\u0aa0\1\0\26\67" + "\1\0\11\67\1\u0aa0\35\67\1\0\24\67\1\0\1\67" - + "\1\0\2\67\2\0\2\67\1\u0aa1\3\67\1\0\26\67" + "\1\0\12\67\1\u0aa1\34\67\1\0\24\67\1\0\1\67" - + "\1\0\2\67\2\0\1\u0aa2\5\67\1\0\26\67\1\0" + "\17\67\1\u0aa2\27\67\1\0\24\67\1\0\1\67\1\0" - + "\2\67\2\0\6\67\1\0\26\67\1\0\35\67\1\u0aa3" + "\11\67\1\0\4\67\1\u0aa3\17\67\1\0\1\67\1\0" - + "\2\67\2\0\6\67\1\0\26\67\1\0\25\67\1\u07bc" + "\21\67\1\0\1\u07bc\23\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\1\67\1\u07ba\24\67\1\0\16\67" + "\1\u07ba\30\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\2\67\1\u0aa4\23\67\1\0\13\67" + "\1\u0aa4\33\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\3\67\1\u0146\2\67\1\0\26\67\1\0\7\67" + "\1\u0146\37\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\2\67\1\u0aa5\3\67\1\0\26\67\1\0\12\67" + "\1\u0aa5\34\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\1\67\1\u0aa6\4\67\1\0\26\67\1\0\21\67" + "\1\u0aa6\25\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\6\67\1\0\2\67\1\u02c8\23\67\1\0\13\67" + "\1\u02c8\33\67\1\0\24\67\1\0\1\67\1\0\2\67" - + "\2\0\1\u0537\5\67\1\0\26\67\1\0\17\67\1\u0537" + "\27\67\1\0\24\67\1\0\1\67\1\0\2\67\2\0" - + "\6\67\1\0\1\u02ed\25\67\1\0\32\67\1\u02ed\14\67" + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\1\u07ba" - + "\5\67\1\0\26\67\1\0\17\67\1\u07ba\27\67\1\0" + "\24\67\1\0\1\67\1\0\2\67\2\0\6\67\1\0" - + "\26\67\1\0\10\67\1\u0aa7\36\67\1\0\1\67\1\u0aa7" + "\20\67\14\0\1\u0aa8\41\0\1\u0aa8\62\0\1\132\10\0" + + "\14\0\15\141\1\u0a7e\11\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0a7f\22\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u0a80\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\1\132\1\u0a81\4\132\1\0" + + "\2\132\1\u0a81\1\132\4\u0a81\1\132\1\0\1\132\1\0" + "\3\132\1\0\1\132\1\u0a81\14\0\4\132\3\u0a81\2\132" + + "\2\u0a81\6\132\1\u0a81\5\132\1\0\1\132\2\u0a81\2\132" + + "\4\0\7\132\1\u0a81\2\132\1\0\3\u0a81\1\132\3\u0a81" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0461" + + "\1\u0a82\5\141\1\u0208\3\141\1\u0464\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u0a83\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0a84\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0a85\20\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\10\141\1\u08b6\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u0a86\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0a87" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u0a88\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u0a89" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + + "\1\u0a8a\5\141\1\u0a8b\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\3\141\1\u0a8c\3\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\23\141\1\u0a8d\3\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\20\0\1\u0a8e\60\0" + + "\1\u0a8e\120\0\1\u0a8f\137\0\1\u07b0\143\0\1\u0a90\146\0" + + "\1\u0a91\127\0\1\u0a92\147\0\1\u0a93\137\0\1\u07ab\104\0" + + "\1\u0a94\164\0\1\u0a95\160\0\1\u07af\122\0\1\u0a96\151\0" + + "\1\u07af\137\0\1\u0a97\101\0\1\u0a98\171\0\1\u0a99\157\0" + + "\1\u0a96\115\0\1\u0a9a\156\0\1\u0a9b\55\0\4\u0105\1\u0a9c" + + "\1\u0105\1\0\10\u0105\2\0\1\u0105\5\0\2\u0105\14\0" + + "\22\u0105\1\u0a9c\4\u0105\1\0\4\u0105\5\0\12\u0105\1\0" + + "\7\u0105\11\0\6\u0105\1\0\2\u0105\1\u0a9d\5\u0105\2\0" + + "\1\u0105\5\0\2\u0105\14\0\4\u0105\1\u0a9d\22\u0105\1\0" + + "\4\u0105\5\0\12\u0105\1\0\7\u0105\10\0\1\u0518\130\0" + "\2\67\1\0\1\67\1\0\2\67\2\0\1\114\5\67" + + "\1\0\26\67\1\0\17\67\1\114\27\67\1\0\24\67" + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\26\67" + + "\1\0\25\67\1\u0a9e\21\67\1\0\1\u0a9e\23\67\1\0" + "\1\67\1\0\2\67\2\0\6\67\1\0\26\67\1\0" + + "\23\67\1\u02ee\16\67\1\u02ee\4\67\1\0\24\67\1\0" + "\1\67\1\0\2\67\2\0\6\67\1\0\2\67\1\u0a9f" + + "\23\67\1\0\13\67\1\u0a9f\33\67\1\0\24\67\1\0" + "\1\67\1\0\2\67\2\0\5\67\1\u0aa0\1\0\26\67" + + "\1\0\11\67\1\u0aa0\35\67\1\0\24\67\1\0\1\67" + "\1\0\2\67\2\0\2\67\1\u0aa1\3\67\1\0\26\67" + + "\1\0\12\67\1\u0aa1\34\67\1\0\24\67\1\0\1\67" + "\1\0\2\67\2\0\1\u0aa2\5\67\1\0\26\67\1\0" + + "\17\67\1\u0aa2\27\67\1\0\24\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\26\67\1\0\35\67\1\u0aa3" + + "\11\67\1\0\4\67\1\u0aa3\17\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\26\67\1\0\25\67\1\u07bc" + + "\21\67\1\0\1\u07bc\23\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\1\67\1\u07ba\24\67\1\0\16\67" + + "\1\u07ba\30\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\2\67\1\u0aa4\23\67\1\0\13\67" + + "\1\u0aa4\33\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\3\67\1\u0146\2\67\1\0\26\67\1\0\7\67" + + "\1\u0146\37\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\2\67\1\u0aa5\3\67\1\0\26\67\1\0\12\67" + + "\1\u0aa5\34\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\1\67\1\u0aa6\4\67\1\0\26\67\1\0\21\67" + + "\1\u0aa6\25\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\2\67\1\u02c8\23\67\1\0\13\67" + + "\1\u02c8\33\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\1\u0537\5\67\1\0\26\67\1\0\17\67\1\u0537" + + "\27\67\1\0\24\67\1\0\1\67\1\0\2\67\2\0" + "\6\67\1\0\1\u02ed\25\67\1\0\32\67\1\u02ed\14\67" + + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\1\u07ba" + "\5\67\1\0\26\67\1\0\17\67\1\u07ba\27\67\1\0" + + "\24\67\1\0\1\67\1\0\2\67\2\0\6\67\1\0" + "\26\67\1\0\10\67\1\u0aa7\36\67\1\0\1\67\1\u0aa7" + + "\20\67\14\0\1\u0aa8\41\0\1\u0aa8\62\0\1\132\10\0" + "\1\132\1\u0aa9\4\132\1\0\2\132\1\u0aa9\1\132\4\u0aa9" + "\1\132\1\0\1\132\1\0\3\132\1\0\1\132\1\u0aa9" - + "\14\0\4\132\3\u0aa9\2\132\2\u0aa9\6\132\1\u0aa9\5\132" + "\1\0\1\132\2\u0aa9\2\132\4\0\7\132\1\u0aa9\2\132" - + "\1\0\3\u0aa9\1\132\3\u0aa9\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u03e9\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u0aaa\25\141\1\0\4\141\1\132\4\0" + + "\14\0\4\132\3\u0aa9\2\132\2\u0aa9\6\132\1\u0aa9\5\132" + + "\1\0\1\132\2\u0aa9\2\132\4\0\7\132\1\u0aa9\2\132" + "\1\0\3\u0aa9\1\132\3\u0aa9\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u03e9\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\5\141\1\u0aab\21\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u0aac\12\141\1\0\4\141\1\132\4\0" + + "\14\0\1\141\1\u0aaa\25\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\5\141\1\u0aab\21\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u0aad\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u0637\12\141\1\0\4\141\1\132\4\0\12\141" + + "\14\0\14\141\1\u0aac\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0aad\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\21\141\1\u0312\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u0aae\26\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" - + "\1\u0629\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u0aaf\20\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" - + "\1\u0169\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0ab0\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\14\141\1\u0637\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\21\141\1\u0312\5\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\u0aae\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u0629\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u0ab1\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u0ab2\12\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" - + "\1\u0426\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" + "\1\u0324\13\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" - + "\1\u0ab3\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\3\141\1\u090a\2\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\1\141\1\u0ab4\2\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\13\141\1\u0317\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\14\0\1\u0ab5\41\0\1\u0ab5\72\0" - + "\1\u056b\140\0\1\u056e\224\0\1\u0ab6\142\0\1\u0ab7\123\0" + "\1\u0364\143\0\1\u0362\135\0\1\u0590\151\0\1\u0590\130\0" - + "\1\u0ab8\152\0\1\u0598\131\0\1\u0364\150\0\1\u0578\142\0" + "\1\u0ab9\122\0\1\u0aba\153\0\1\u0abb\122\0\1\u0abc\142\0" - + "\1\u0590\141\0\1\u0abd\157\0\1\u07f5\121\0\1\u0abe\153\0" + "\1\u07f1\126\0\1\u0abf\137\0\1\u0ac0\145\0\1\u0578\144\0" - + "\1\u0ac1\132\0\1\u0ac2\132\0\1\u059a\151\0\1\u0ac3\137\0" + "\1\u0ac4\132\0\1\u0ac5\141\0\1\u0ac6\143\0\1\u0ac7\142\0" - + "\1\u0ac8\104\0\1\u0ac9\170\0\1\u0aca\142\0\1\u0acb\136\0" + "\1\u0acc\140\0\1\u0acd\134\0\1\u0ace\146\0\1\u0acf\70\0" + + "\1\u0aaf\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u0169\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u0ab0\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u0ab1\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u0ab2\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u0426\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" + + "\1\u0324\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u0ab3\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\3\141\1\u090a\2\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\1\141\1\u0ab4\2\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\13\141\1\u0317\13\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\14\0\1\u0ab5\41\0\1\u0ab5\72\0" + + "\1\u056b\140\0\1\u056e\224\0\1\u0ab6\142\0\1\u0ab7\123\0" + + "\1\u0364\143\0\1\u0362\135\0\1\u0590\151\0\1\u0590\130\0" + + "\1\u0ab8\152\0\1\u0598\131\0\1\u0364\150\0\1\u0578\142\0" + + "\1\u0ab9\122\0\1\u0aba\153\0\1\u0abb\122\0\1\u0abc\142\0" + + "\1\u0590\141\0\1\u0abd\157\0\1\u07f5\121\0\1\u0abe\153\0" + + "\1\u07f1\126\0\1\u0abf\137\0\1\u0ac0\145\0\1\u0578\144\0" + + "\1\u0ac1\132\0\1\u0ac2\132\0\1\u059a\151\0\1\u0ac3\137\0" + + "\1\u0ac4\132\0\1\u0ac5\141\0\1\u0ac6\143\0\1\u0ac7\142\0" + + "\1\u0ac8\104\0\1\u0ac9\170\0\1\u0aca\142\0\1\u0acb\136\0" + + "\1\u0acc\140\0\1\u0acd\134\0\1\u0ace\146\0\1\u0acf\70\0" + "\1\u0ad0\41\0\1\u0ad0\72\0\1\u05a5\130\0\1\132\10\0" + "\1\u0ad1\5\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u0ad2\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" @@ -3688,10 +3859,12 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u015c\1\141\1\0\2\141\14\0\20\141\1\u0add\6\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u0ade\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0adf\1\141" + "\1\u0ae0\1\u0ae1\1\u0ae2\1\u0ae3\1\u0ae4\1\u0ae5\1\u0ae6\1\141" - + "\1\u0ae7\1\u0ae8\3\141\1\u0a53\1\141\1\u0ae9\1\u0aea\2\141" + "\1\u0aeb\1\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\1\u077a\2\141\1\u0aec\3\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u0aed\1\0\1\132\1\u015c\1\141\1\0" + + "\1\u0ae7\1\u0ae8\3\141\1\u0a53\1\141\1\u0ae9\1\u0aea\2\141" + + "\1\u0aeb\1\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\1\u077a\2\141\1\u0aec\3\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\u0aed\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u0aee\1\u0aef\1\u0af0\1\u0af1\1\u0af2" - + "\1\u0af3\1\u0af4\1\u0af5\1\u0af6\1\u0af7\1\u0af8\1\u0af9\1\u0afa" + "\1\u0464\2\141\1\u0afb\1\u0afc\3\141\1\u0afd\1\0\4\141" + + "\1\u0af3\1\u0af4\1\u0af5\1\u0af6\1\u0af7\1\u0af8\1\u0af9\1\u0afa" + + "\1\u0464\2\141\1\u0afb\1\u0afc\3\141\1\u0afd\1\0\4\141" + "\1\132\4\0\12\141\1\0\6\141\1\u0afe\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u03d4\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0aff\24\141\1\0" @@ -3800,303 +3973,308 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0b3e" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0b3f" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0b40\1\141" + "\1\u0b41\1\u0b42\1\u0b43\1\u0b44\1\u0b45\1\u0b46\1\u0b47\1\141" - + "\1\u0b48\1\141\1\u0b49\1\141\1\u0464\1\u0b4a\1\141\1\u0b4b" + "\1\u08b9\4\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u0b4c\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0b4d" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u0b4e\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u05c1\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0b4f\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\23\141\1\u0b50\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u0b51\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\14\141\1\u0b52\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0b53\2\141\1\u0b54\1\u0b55\1\141\1\u0b56" - + "\1\u0b57\1\u0b58\1\141\1\u0b59\1\u0b5a\3\141\1\u0b5b\1\141" + "\1\u0b5c\1\u0b5d\4\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u0b5e\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0614\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\16\141\1\u0b5f\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0b60\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\21\141\1\u0b61\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0b62" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u0b63\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0b64\5\141\1\u09d0\13\141\1\u0779\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u0b65\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0b66\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u0b67\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\11\141\1\u03c8" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\14\141\1\u0b68\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0b69\24\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u0b6a\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0b6b\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u0b6c\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0b6d\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\21\141\1\u0b6e\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u0b6f\14\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u0b1d\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u0b70\12\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u04ce\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\u090a\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0b71" - + "\2\141\1\u0b72\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\u0b73\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u0b74\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u06ee" - + "\11\141\1\u063d\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u074f\23\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0894" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0b75\23\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u0b76\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u0b77\14\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0b78" - + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0b79" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0410" - + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0b7a" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0b7b\1\141" - + "\1\u0b7c\1\u0b7d\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u0b7e\10\141\1\u0312\5\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0b7f\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\13\141\1\u0b80\1\u0b81\12\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u0b82\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u08d8\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0b83" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0750\6\141\1\u0b84\6\141\1\u0b85\4\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\14\141\1\u063d\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0993\26\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\17\141\1\u099b\7\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0b86\1\u099e\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\20\141\1\u01eb\1\u0b87\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u01eb\2\141\1\u03ce" - + "\1\141\1\u0b88\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\25\141\1\u0705\1\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\13\141\1\u060f\6\141\1\u0b89\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u0b8a\17\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\16\141\1\u0b8b\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0b8c\3\141\1\u0b8d\3\141\1\u0b8e\12\141" - + "\1\u0b8f\3\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u040d\5\141\1\u0b90\1\u04d8\2\141\1\u0b91\5\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u0b92\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u04c5\1\141\1\u0b93" - + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u044f\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u08bd" + "\10\141\1\u0392\7\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u06ce\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0b94" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u05b6" - + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0b95\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u0262\1\141\1\u0b96\16\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\24\141\1\u0174\2\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u0464\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u0b97\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u0269\16\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\10\141\1\u06b5\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u01fa\24\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\16\141\1\u0b98\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u060f\2\141\1\u060f\13\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\11\141\1\u0b99\15\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u05d6\5\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0b9a\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u0b9b\12\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u0b9c\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\1\u0b9d\6\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\13\141\1\u0b9e\13\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0b9f\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u04ec\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u065d\12\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u0ba0\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0ba1\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\7\141\1\u08cc\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u0971\17\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u0ba2\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u0717\14\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u0ba3\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u0ba4\23\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u0ba5\2\141\1\u0ba6\1\u0ba7\6\141\1\u0ba8\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0ba9\22\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u0baa\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\21\141\1\u0bab\5\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\10\141\1\u0bac\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u0bad\14\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\14\141\1\u0bae\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0baf\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u0bb0\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u0bb1\24\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u03c0\1\141\1\u0bb2\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u05d1\26\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\22\141\1\u0bb3\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\u0bb4\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u0bb5\1\u0bb6\1\u0bb7" - + "\1\u0bb8\1\u0bb9\1\u045c\1\u04c5\1\u0bba\1\u09a4\1\u0bbb\1\u0bbc" + "\1\u0bbd\4\141\1\u0bbe\1\u0bbf\4\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\6\141\1\u0bc0\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u06b9\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\22\141\1\u0bc1\4\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u0bc2\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u0bc3\20\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u0bc4\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0bc5\26\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u0bc6\11\141\1\u0bc7\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u0bc8\4\141\1\u0866" - + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0bc9" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u05d8" - + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0bca\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u08cd\1\141\1\u0bcb\3\141\1\u08f6\10\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u0bcc\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u03c0\4\141\1\u0bcd\10\141" + "\1\u0269\6\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" - + "\1\u08ef\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" + "\1\u05d8\11\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" - + "\1\u08f6\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u0bce\25\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" - + "\1\u0bcf\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + "\1\u04f9\4\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u0bd0\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u05d1\4\141\1\u08f1\20\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u0400\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u0bd1\14\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\5\141\1\u0bd2\21\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0bd3\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\12\141\1\u0bd4\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u0bd5\12\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0bd6\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0bd7\26\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u0bd8\21\141\1\u0bd9\1\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0bda\26\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u0bdb\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u0bdc\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u0bdd\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0bde\20\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\21\141\1\u0bdf\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u0be0\23\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\13\141\1\u0be1\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0be2\14\141\1\u0be3\7\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u0be4\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u044f\12\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u0be5\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u0be6\12\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\5\141\1\u0be7\21\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u06b3\14\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u0be8\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\5\141\1\u0be9\21\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\12\141\1\u0bea\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u0beb\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0a34\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u0bec\5\141\1\u0971\6\141\1\u0bed\10\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u0bee\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u05d8\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\141\1\u0bef\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u0b65\4\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\17\141\1\u04f9\7\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0bf0\23\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\7\141\1\u08a6\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0bf1\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u0bf2\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u0bf3\10\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\7\141\1\u0bf4\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u0bf5\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u03a8\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0bf6\20\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u0bf7\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0bf8\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u0bf9\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0bfa\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u0bf9\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\u0bfa\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0bfb" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u0bfc\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0b40\1\141" + + "\1\u0b41\1\u0b42\1\u0b43\1\u0b44\1\u0b45\1\u0b46\1\u0b47\1\141" + + "\1\u0b48\1\141\1\u0b49\1\141\1\u0464\1\u0b4a\1\141\1\u0b4b" + + "\1\u08b9\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u0b4c\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0b04" - + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0bfd" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u0bfe\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u09c0" - + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0bff" + "\1\u0c00\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u0c01\11\141\1\u0c02\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u0c03\12\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u0c04\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u0c05\6\141\1\u0c06\5\141\1\0\4\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0b4d" + + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0b4e\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\u05c1\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u0c07\7\141\1\u0c08\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0c09\1\141" + + "\1\0\2\141\14\0\4\141\1\u0b4f\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\23\141\1\u0b50\3\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u0b51\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u0b52\12\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u0b53\2\141\1\u0b54\1\u0b55\1\141\1\u0b56" + + "\1\u0b57\1\u0b58\1\141\1\u0b59\1\u0b5a\3\141\1\u0b5b\1\141" + + "\1\u0b5c\1\u0b5d\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0b5e\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u0614\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u0b5f\10\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u0b60\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\21\141\1\u0b61\5\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0b62" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0b63\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u0b64\5\141\1\u09d0\13\141\1\u0779\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0b65\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u0b66\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0b67\26\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\11\141\1\u03c8" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u0b68\12\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u0b69\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u0b6a\23\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u0b6b\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0b6c\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u0b6d\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\21\141\1\u0b6e\5\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\12\141\1\u0b6f\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u0b1d\23\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\14\141\1\u0b70\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u04ce\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u090a\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0b71" + "\2\141\1\u0b72\20\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u0b73\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0b74\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u06ee" + "\11\141\1\u063d\14\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u074f\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0894" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u0b75\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0b76\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + + "\1\u0b77\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0b78" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0b79" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0410" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0b7a" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0b7b\1\141" + "\1\u0b7c\1\u0b7d\23\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\10\141\1\u0b7e\10\141\1\u0312\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u0b7f\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\13\141\1\u0b80\1\u0b81\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0b82\26\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u08d8\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0b83" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u0750\6\141\1\u0b84\6\141\1\u0b85\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u063d\12\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\u0993\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\17\141\1\u099b\7\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u0b86\1\u099e\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\20\141\1\u01eb\1\u0b87\5\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\141\1\u01eb\2\141\1\u03ce" + "\1\141\1\u0b88\20\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\25\141\1\u0705\1\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\13\141\1\u060f\6\141\1\u0b89\4\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\7\141\1\u0b8a\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u0b8b\10\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u0b8c\3\141\1\u0b8d\3\141\1\u0b8e\12\141" + "\1\u0b8f\3\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + + "\1\u040d\5\141\1\u0b90\1\u04d8\2\141\1\u0b91\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0b92\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\7\141\1\u04c5\1\141\1\u0b93" + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u044f\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u08bd" + + "\10\141\1\u0392\7\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\u06ce\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0b94" + + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u05b6" + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u0b95\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u0262\1\141\1\u0b96\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\24\141\1\u0174\2\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\16\141\1\u0464\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u0b97\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\10\141\1\u0269\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u06b5\16\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u01fa\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u0b98\10\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\10\141\1\u060f\2\141\1\u060f\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\11\141\1\u0b99\15\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\21\141\1\u05d6\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u0b9a\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\14\141\1\u0b9b\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0b9c\24\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\1\u0b9d\6\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\13\141\1\u0b9e\13\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u0b9f\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u04ec\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\14\141\1\u065d\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0ba0\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u0ba1\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u08cc\17\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\7\141\1\u0971\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0ba2\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\12\141\1\u0717\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0ba3\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u0ba4\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u0ba5\2\141\1\u0ba6\1\u0ba7\6\141\1\u0ba8\10\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0ba9\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\u0baa\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\21\141\1\u0bab\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u0bac\16\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\12\141\1\u0bad\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u0bae\12\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u0baf\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u0bb0\20\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\2\141\1\u0bb1\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u03c0\1\141\1\u0bb2\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u05d1\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u0bb3\4\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u0bb4\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\141\1\u0bb5\1\u0bb6\1\u0bb7" + + "\1\u0bb8\1\u0bb9\1\u045c\1\u04c5\1\u0bba\1\u09a4\1\u0bbb\1\u0bbc" + + "\1\u0bbd\4\141\1\u0bbe\1\u0bbf\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\6\141\1\u0bc0\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u06b9\10\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\22\141\1\u0bc1\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u0bc2\23\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\6\141\1\u0bc3\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0bc4\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\u0bc5\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0bc6\11\141\1\u0bc7\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\15\141\1\u0bc8\4\141\1\u0866" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0bc9" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u05d8" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u0bca\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + + "\1\u08cd\1\141\1\u0bcb\3\141\1\u08f6\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\u0bcc\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u03c0\4\141\1\u0bcd\10\141" + + "\1\u0269\6\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + "\1\u08ef\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" + + "\1\u05d8\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u08f6\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + + "\1\u0bce\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u0bcf\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + + "\1\u04f9\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0bd0\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + + "\1\u05d1\4\141\1\u08f1\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u0400\23\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\12\141\1\u0bd1\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\5\141\1\u0bd2\21\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u0bd3\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u0bd4\14\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\14\141\1\u0bd5\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0bd6\20\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u0bd7\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u0bd8\21\141\1\u0bd9\1\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u0bda\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0bdb\24\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\16\141\1\u0bdc\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u0bdd\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\6\141\1\u0bde\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\21\141\1\u0bdf\5\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\3\141\1\u0be0\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\13\141\1\u0be1\13\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u0be2\14\141\1\u0be3\7\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u0be4\20\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\14\141\1\u044f\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u0be5\24\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\14\141\1\u0be6\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\5\141\1\u0be7\21\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\12\141\1\u06b3\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u0be8\20\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\5\141\1\u0be9\21\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u0bea\14\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u0beb\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0a34\20\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\141\1\u0bec\5\141\1\u0971\6\141\1\u0bed\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0bee\26\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u05d8\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u0bef\25\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\22\141\1\u0b65\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\17\141\1\u04f9\7\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u0bf0\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u08a6\17\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u0bf1\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u0bf2\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\16\141\1\u0bf3\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u0bf4\17\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u0bf5\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u03a8\24\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\6\141\1\u0bf6\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0bf7\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u0bf8\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0bf9\24\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u0bfa\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0bf9\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u0bfa\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0bfb" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u0bfc\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0b04" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0bfd" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u0bfe\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u09c0" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0bff" + + "\1\u0c00\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0c01\11\141\1\u0c02\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\14\141\1\u0c03\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u0c04\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\12\141\1\u0c05\6\141\1\u0c06\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u0c07\7\141\1\u0c08\10\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0c09\1\141" + "\1\u0c0a\5\141\1\u06b3\2\141\1\u0c0b\11\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u0c0c\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" @@ -4137,52 +4315,54 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\3\141\1\u03a8\1\141\1\u05d8\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\22\141\1\u0c24\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u0bc5\1\u0c25\2\141\1\u0c26\3\141\1\u0c27" + "\1\141\1\u0c28\1\u0c29\10\141\1\u06ec\2\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u0c2a\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u0c2b\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\2\141\14\0\1\u0bc5\1\u0c25\2\141\1\u0c26\3\141\1\u0c27" + + "\1\141\1\u0c28\1\u0c29\10\141\1\u06ec\2\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0c2a\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u0c2b\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u0c2c\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\16\141\1\u0c2c\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0c2d\23\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u0c2e\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\u0c2f\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\2\141\14\0\3\141\1\u0c2d\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0c2e\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u0c2f\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0c30\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u0c30\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u0c31\16\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0c32" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\20\141\1\u0c33\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u06ab\11\141\1\u03c1\5\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u08a5\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u063d\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0bc5\1\141\1\u0c34\1\u0c35" - + "\2\141\1\u0c36\1\u0c37\1\u0c38\1\141\1\u0c39\1\141\1\u0a66" + "\4\141\1\u0c3a\2\141\1\u0c3b\2\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0c3c\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u0c3d\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0411\23\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u04f9\15\141\1\u0b89\2\141\1\u0c3e\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0c3f\14\141" + + "\10\141\1\u0c31\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0c32" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\20\141\1\u0c33\6\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\7\141\1\u06ab\11\141\1\u03c1\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u08a5\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u063d\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u0bc5\1\141\1\u0c34\1\u0c35" + + "\2\141\1\u0c36\1\u0c37\1\u0c38\1\141\1\u0c39\1\141\1\u0a66" + + "\4\141\1\u0c3a\2\141\1\u0c3b\2\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u0c3c\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u0c3d\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u0411\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u04f9\15\141\1\u0b89\2\141\1\u0c3e\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0c40\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u0c41\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0c3f\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0c40\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u0c41\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u090a\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u090a\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u0c42\14\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u0c43\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u0c44\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\141\1\0\2\141\14\0\12\141\1\u0c42\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0c43\23\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u0c44\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u0c45\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\12\141\1\u0c45\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\5\141\1\u0679\21\141\1\0\4\141" + + "\1\0\2\141\14\0\5\141\1\u0679\21\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u0c46\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\14\141\1\u0c46\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u0c47\20\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\11\141\1\u08f6\2\141\1\u0392\4\141" + "\1\u0392\5\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u0c48\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u06b2" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u041a" + "\1\141\1\u0c49\1\141\1\u0c4a\5\141\1\u0c4b\13\141\1\u0c4c" + + "\1\0\2\141\14\0\6\141\1\u0c47\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\11\141\1\u08f6\2\141\1\u0392\4\141" + + "\1\u0392\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0c48\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u06b2" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u041a" + + "\1\141\1\u0c49\1\141\1\u0c4a\5\141\1\u0c4b\13\141\1\u0c4c" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u05d1\5\141" + "\1\u0c4d\6\141\1\u0614\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" @@ -4418,18 +4598,20 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u03ec\4\141\1\u0cde\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0cdf\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0ce0\1\u0ce1\1\u0ce2\1\u0ce3\1\u0ce4\1\u0ce5" - + "\1\u0ce6\1\u0ce7\1\u0ce8\1\u0ce9\1\u0cea\4\141\1\u0ceb\1\u0cec" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u08f6" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0ced" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0cee\26\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u0ce0\1\u0ce1\1\u0ce2\1\u0ce3\1\u0ce4\1\u0ce5" + + "\1\u0ce6\1\u0ce7\1\u0ce8\1\u0ce9\1\u0cea\4\141\1\u0ceb\1\u0cec" + + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u08f6" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0ced" + + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0cee\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u06b7\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u06b7\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0cef\24\141" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0cef\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0cf0\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0cf0\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0cf1\1\141" + + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0cf1\1\141" + "\1\u0cf2\10\141\1\u0cf3\1\u0cf4\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0cf5\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" @@ -4484,44 +4666,46 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0d13\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u05d8\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0d14" + "\1\u0269\21\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u0d15\1\141\1\u0d16\4\141\1\u0d17\2\141\1\u0d18\12\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + + "\1\u0d15\1\141\1\u0d16\4\141\1\u0d17\2\141\1\u0d18\12\141" + "\1\u0d19\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u03d4" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0d1a" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0d1b" + "\7\141\1\u0208\1\u0d1c\1\u0d1d\1\141\1\u0464\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u08f6\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u0d1e\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0d1b" + + "\7\141\1\u0208\1\u0d1c\1\u0d1d\1\141\1\u0464\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u08f6\16\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u0d1e\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u0d1f\24\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u0d20\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\20\141\1\u0d21\6\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u0d22\11\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u0d23\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0749\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u0d1f\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u0d20\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\20\141\1\u0d21\6\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\15\141\1\u0d22\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u0d23\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u0749\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u0d24\1\141\1\u0d25\22\141" + + "\1\0\2\141\14\0\2\141\1\u0d24\1\141\1\u0d25\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0480\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0480\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0d26\24\141" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0d26\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0d27\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0d27\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0d28\16\141" + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0d28\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0d29\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0d29\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0d2a\14\141" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0d2a\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0d2b\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u0d2b\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0d2c\22\141" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0d2c\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0d2d\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0d2d\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0d2e\24\141" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0d2e\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u0d2f\21\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u0d2f\21\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0d30\16\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u0d31\1\0\1\u0d32\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0d33\2\141" + "\1\u0d34\1\u0a6f\5\141\1\u0d35\3\141\1\u0464\1\u020c\7\141" + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0d30\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u0d31\1\0\1\u0d32\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0d33\2\141" + + "\1\u0d34\1\u0a6f\5\141\1\u0d35\3\141\1\u0464\1\u020c\7\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0d36\4\141" + "\1\u0a3a\4\141\1\u0d37\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" @@ -4600,15 +4784,16 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u0d6e\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0d6f\1\u0d70\2\141" - + "\1\u0d71\1\u0d72\1\u0d73\1\u0c27\6\141\1\u0d74\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u08b8\7\141\1\u0d75" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0d76\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0d77\17\141" - + "\1\u0d78\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0d70\1\141\1\u0ada\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\1\132\1\u0d79\4\132" + "\1\0\2\132\1\u0d79\1\132\4\u0d79\1\132\1\0\1\132" - + "\1\0\3\132\1\0\1\132\1\u0d79\14\0\4\132\3\u0d79" + "\2\132\2\u0d79\6\132\1\u0d79\5\132\1\0\1\132\2\u0d79" + + "\1\u0d71\1\u0d72\1\u0d73\1\u0c27\6\141\1\u0d74\4\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u08b8\7\141\1\u0d75" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u0d76\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0d77\17\141" + "\1\u0d78\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u0d70\1\141\1\u0ada\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\1\132\1\u0d79\4\132" + + "\1\0\2\132\1\u0d79\1\132\4\u0d79\1\132\1\0\1\132" + "\1\0\3\132\1\0\1\132\1\u0d79\14\0\4\132\3\u0d79" + + "\2\132\2\u0d79\6\132\1\u0d79\5\132\1\0\1\132\2\u0d79" + "\2\132\4\0\7\132\1\u0d79\2\132\1\0\3\u0d79\1\132" + "\3\u0d79\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u0d7a\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" @@ -4628,42 +4813,48 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\10\0\6\141\1\0\11\141\1\0\1\u0d81\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0d82\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0d83\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\21\0" - + "\1\u0d84\43\0\1\u0d84\141\0\1\u0d85\146\0\1\u0d86\126\0" + "\1\u050c\157\0\1\u07af\124\0\1\u0d87\141\0\1\u07af\154\0" - + "\1\u0d88\67\0\1\u0d89\205\0\1\u0d87\127\0\1\u0d8a\2\0" + "\1\u0d8b\3\0\1\u0d8c\125\0\1\u07af\137\0\1\u0d87\141\0" - + "\1\u0d8d\70\0\5\u0105\1\u0d8e\1\0\10\u0105\2\0\1\u0105" + "\5\0\2\u0105\14\0\2\u0105\1\u0d8e\24\u0105\1\0\4\u0105" - + "\5\0\12\u0105\1\0\7\u0105\2\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\12\67\1\u02c6\13\67\1\0" - + "\37\67\1\u02c6\7\67\1\0\24\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\20\67\1\114\5\67\1\0" - + "\34\67\1\114\12\67\1\0\24\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\2\67\1\u0d8f\23\67\1\0" - + "\13\67\1\u0d8f\33\67\1\0\24\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\2\67\1\u02f2\23\67\1\0" - + "\13\67\1\u02f2\33\67\1\0\24\67\1\0\1\67\1\0" + "\2\67\2\0\6\67\1\0\26\67\1\0\25\67\1\u0116" - + "\21\67\1\0\1\u0116\23\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\12\67\1\u0d90\13\67\1\0\37\67" - + "\1\u0d90\7\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\26\67\1\0\10\67\1\u0d91\36\67" - + "\1\0\1\67\1\u0d91\22\67\1\0\1\67\1\0\2\67" + "\2\0\3\67\1\u014f\2\67\1\0\26\67\1\0\7\67" - + "\1\u014f\37\67\1\0\24\67\1\0\1\67\1\0\2\67" + "\2\0\6\67\1\0\26\67\1\0\25\67\1\u02f9\21\67" - + "\1\0\1\u02f9\23\67\1\0\1\67\1\0\2\67\2\0" + "\6\67\1\0\2\67\1\u07ba\23\67\1\0\13\67\1\u07ba" - + "\33\67\1\0\22\67\15\0\1\u0d92\62\0\1\u0d92\40\0" + "\1\132\10\0\1\132\1\141\4\132\1\0\2\132\1\141" - + "\1\132\4\141\1\132\1\0\1\132\1\0\3\132\1\0" + "\1\132\1\141\14\0\4\132\3\141\2\132\2\141\6\132" - + "\1\141\5\132\1\0\1\132\2\141\2\132\4\0\7\132" + "\1\141\2\132\1\0\3\141\1\132\3\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0d93\22\141\1\0" + + "\1\u0d84\43\0\1\u0d84\141\0\1\u0d85\146\0\1\u0d86\126\0" + + "\1\u050c\157\0\1\u07af\124\0\1\u0d87\141\0\1\u07af\154\0" + + "\1\u0d88\67\0\1\u0d89\205\0\1\u0d87\127\0\1\u0d8a\2\0" + + "\1\u0d8b\3\0\1\u0d8c\125\0\1\u07af\137\0\1\u0d87\141\0" + + "\1\u0d8d\70\0\5\u0105\1\u0d8e\1\0\10\u0105\2\0\1\u0105" + + "\5\0\2\u0105\14\0\2\u0105\1\u0d8e\24\u0105\1\0\4\u0105" + "\5\0\12\u0105\1\0\7\u0105\2\67\1\0\1\67\1\0" + + "\2\67\2\0\6\67\1\0\12\67\1\u02c6\13\67\1\0" + "\37\67\1\u02c6\7\67\1\0\24\67\1\0\1\67\1\0" + + "\2\67\2\0\6\67\1\0\20\67\1\114\5\67\1\0" + "\34\67\1\114\12\67\1\0\24\67\1\0\1\67\1\0" + + "\2\67\2\0\6\67\1\0\2\67\1\u0d8f\23\67\1\0" + "\13\67\1\u0d8f\33\67\1\0\24\67\1\0\1\67\1\0" + + "\2\67\2\0\6\67\1\0\2\67\1\u02f2\23\67\1\0" + "\13\67\1\u02f2\33\67\1\0\24\67\1\0\1\67\1\0" + + "\2\67\2\0\6\67\1\0\26\67\1\0\25\67\1\u0116" + "\21\67\1\0\1\u0116\23\67\1\0\1\67\1\0\2\67" + + "\2\0\6\67\1\0\12\67\1\u0d90\13\67\1\0\37\67" + "\1\u0d90\7\67\1\0\24\67\1\0\1\67\1\0\2\67" + + "\2\0\6\67\1\0\26\67\1\0\10\67\1\u0d91\36\67" + "\1\0\1\67\1\u0d91\22\67\1\0\1\67\1\0\2\67" + + "\2\0\3\67\1\u014f\2\67\1\0\26\67\1\0\7\67" + "\1\u014f\37\67\1\0\24\67\1\0\1\67\1\0\2\67" + + "\2\0\6\67\1\0\26\67\1\0\25\67\1\u02f9\21\67" + "\1\0\1\u02f9\23\67\1\0\1\67\1\0\2\67\2\0" + + "\6\67\1\0\2\67\1\u07ba\23\67\1\0\13\67\1\u07ba" + "\33\67\1\0\22\67\15\0\1\u0d92\62\0\1\u0d92\40\0" + + "\1\132\10\0\1\132\1\141\4\132\1\0\2\132\1\141" + "\1\132\4\141\1\132\1\0\1\132\1\0\3\132\1\0" + + "\1\132\1\141\14\0\4\132\3\141\2\132\2\141\6\132" + "\1\141\5\132\1\0\1\132\2\141\2\132\4\0\7\132" + + "\1\141\2\132\1\0\3\141\1\132\3\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u0d93\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u0d94\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u0d94\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u0314\14\141\1\0" + + "\1\141\1\0\2\141\14\0\12\141\1\u0314\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0d95\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u0d95\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0d96\10\141\1\0" + + "\1\141\1\0\2\141\14\0\16\141\1\u0d96\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u0426\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\12\141\1\u0426\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0d97\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u0554\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\u0317\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\1\141\1\0\2\141\14\0\16\141\1\u0d97\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u0554\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u0317\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0d98\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u0d98\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u082e\17\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\15\0\1\u0d99\62\0\1\u0d99" + "\121\0\1\u0d9a\57\0\44\u0ab7\1\u0590\74\u0ab7\61\0\1\u0d9b" - + "\141\0\1\u0d9c\150\0\1\u0d9d\140\0\1\u0d9e\127\0\1\u0584" + "\151\0\1\u080a\126\0\1\u0578\152\0\1\u0abe\132\0\1\u0d9f" - + "\142\0\1\u0364\133\0\1\u0da0\143\0\1\u0da1\153\0\1\u0da2" + "\122\0\1\u0da3\2\0\1\u0580\132\0\1\u0da4\147\0\1\u0590" - + "\153\0\1\u0da5\125\0\1\u07fb\143\0\1\u0da6\130\0\1\u0364" + "\150\0\1\u0da7\131\0\1\u0da8\153\0\1\u07f2\124\0\1\u0811" + + "\2\141\14\0\7\141\1\u082e\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\15\0\1\u0d99\62\0\1\u0d99" + + "\121\0\1\u0d9a\57\0\44\u0ab7\1\u0590\74\u0ab7\61\0\1\u0d9b" + + "\141\0\1\u0d9c\150\0\1\u0d9d\140\0\1\u0d9e\127\0\1\u0584" + + "\151\0\1\u080a\126\0\1\u0578\152\0\1\u0abe\132\0\1\u0d9f" + + "\142\0\1\u0364\133\0\1\u0da0\143\0\1\u0da1\153\0\1\u0da2" + + "\122\0\1\u0da3\2\0\1\u0580\132\0\1\u0da4\147\0\1\u0590" + + "\153\0\1\u0da5\125\0\1\u07fb\143\0\1\u0da6\130\0\1\u0364" + + "\150\0\1\u0da7\131\0\1\u0da8\153\0\1\u07f2\124\0\1\u0811" + "\75\0\1\u0da9\62\0\1\u0da9\40\0\1\132\10\0\1\u0817" + "\5\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0169\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" @@ -4697,18 +4888,19 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u0dbb\4\141\1\u0dbc\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0dbd\5\141\1\u0dbe\7\141\1\u0dbf\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u0dc0\1\141\1\u0dc1" + "\1\141\1\u0dc2\14\141\1\u0269\1\141\1\u0269\1\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u0dc3\11\141\1\u0dc4" + "\1\u0dc5\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u01fa" - + "\5\141\1\u0dc6\12\141\1\u0dc7\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0dc8\1\141\1\u0dc9\20\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u0dca\1\141\1\u0dcb" + "\3\141\1\u04ce\1\141\1\u0dcc\10\141\1\0\4\141\1\132" + + "\1\141\1\0\2\141\14\0\2\141\1\u0dc0\1\141\1\u0dc1" + + "\1\141\1\u0dc2\14\141\1\u0269\1\141\1\u0269\1\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0dc3\11\141\1\u0dc4" + + "\1\u0dc5\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u01fa" + "\5\141\1\u0dc6\12\141\1\u0dc7\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\11\141\1\u0614\15\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\22\141\1\u088f\4\141\1\0\4\141\1\132" + + "\2\141\14\0\4\141\1\u0dc8\1\141\1\u0dc9\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u0dca\1\141\1\u0dcb" + + "\3\141\1\u04ce\1\141\1\u0dcc\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\11\141\1\u0614\15\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\22\141\1\u088f\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0392\1\141\1\u0dcd\11\141\1\u0dce\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0dcf\5\141\1\u0dd0" + "\1\141\1\u0dd1\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" @@ -4766,103 +4958,107 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\1\0\2\141\14\0\16\141\1\u0df8\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0df9\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\141\1\u0dfa\1\u0dfb\1\u0dfc" + "\1\u0dfd\1\u0dfe\1\u0dff\1\141\1\u0e00\1\u0e01\1\u0e02\1\u0e03" - + "\1\u0e04\2\141\1\u0e05\1\141\1\u0e06\1\u0e07\3\141\1\u0779" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0e08\6\141" - + "\1\u0e09\2\141\1\u0e0a\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u0e0b\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\10\141\1\u0e0c\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0916\24\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u0e0d\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0e0e\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u0e0f\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0e10\24\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u0617\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0e11" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0e12\2\141\1\u0e13\1\u0e14\6\141\1\u0e15" - + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0e16" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u047b" - + "\21\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u0e17" + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u03ec" - + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0e18" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0e19" - + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0e1a" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0e1b" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0e1c" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u0e1d" - + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0e1e\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0dbd\10\141" + + "\1\141\1\0\2\141\14\0\1\141\1\u0dfa\1\u0dfb\1\u0dfc" + + "\1\u0dfd\1\u0dfe\1\u0dff\1\141\1\u0e00\1\u0e01\1\u0e02\1\u0e03" + + "\1\u0e04\2\141\1\u0e05\1\141\1\u0e06\1\u0e07\3\141\1\u0779" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\26\141\1\u0e1f\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0e20\10\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0e08\6\141" + "\1\u0e09\2\141\1\u0e0a\13\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u0e0b\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u0e0c\16\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u0916\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0e0d\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u0e0e\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0e0f\20\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u0e10\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0617\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0e11" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\6\141\1\u0e12\2\141\1\u0e13\1\u0e14\6\141\1\u0e15" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0e16" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u047b" + "\21\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u0e17" + + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u03ec" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0e18" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0e19" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0e1a" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0e1b" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0e1c" + + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u0e1d" + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u0e1e\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0dbd\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\26\141\1\u0e1f\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\141\1\u0e21\10\141\1\u0e22" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0b2f" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0e23" + "\11\141\1\u0392\12\141\1\0\4\141\1\132\4\0\12\141" + + "\1\141\1\0\2\141\14\0\16\141\1\u0e20\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u0e21\10\141\1\u0e22" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0b2f" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0e23" + + "\11\141\1\u0392\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0e23\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u0e23\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0e24\22\141\1\0\4\141\1\132\4\0\12\141" + + "\4\141\1\u0e24\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0e25\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u0e25\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\13\141\1\u0e26\13\141\1\0\4\141\1\132\4\0\12\141" + + "\13\141\1\u0e26\13\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u0e27\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\16\141\1\u0e27\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0e28\24\141\1\0\4\141\1\132\4\0\12\141" + + "\2\141\1\u0e28\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\13\141\1\u0e29\13\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\13\141\1\u0e29\13\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u0e2a\16\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u0e2b\1\141\1\u0e2c\1\u08ed\3\141\1\u0411\2\141\1\u0b89" + "\4\141\1\u06e9\2\141\1\u08ef\4\141\1\0\4\141\1\132" + + "\10\141\1\u0e2a\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\u0e2b\1\141\1\u0e2c\1\u08ed\3\141\1\u0411\2\141\1\u0b89" + + "\4\141\1\u06e9\2\141\1\u08ef\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u0e2d\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\21\141\1\u0e2d\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\24\141\1\u0e2e\2\141\1\0\4\141\1\132" + + "\2\141\14\0\24\141\1\u0e2e\2\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\22\141\1\u0e2f\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\22\141\1\u0e2f\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\22\141\1\u0e30\4\141\1\0\4\141\1\132" + + "\2\141\14\0\22\141\1\u0e30\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0e31\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u0e31\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\5\141\1\u0e32\21\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\10\141\1\u0e33\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u0e34\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\2\141\14\0\5\141\1\u0e32\21\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u0e33\16\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0e34\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u0e35\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\10\141\1\u0e35\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0e36\26\141\1\0\4\141\1\132\4\0\12\141" + + "\14\0\1\u0e36\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0e37\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u0e37\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\24\141\1\u0e38\1\u0dd7\1\141\1\0\4\141\1\132\4\0" + + "\24\141\1\u0e38\1\u0dd7\1\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0e39\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u0e39\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\22\141\1\u0e3a\4\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u0e3b\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0e3c\11\141\1\u0e3d\12\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0e3e\3\141\1\u040d\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0e3f\22\141\1\0" + + "\14\0\22\141\1\u0e3a\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0e3b\26\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u0e3c\11\141\1\u0e3d\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0e3e\3\141\1\u040d\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u0e40\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0e41\1\141\1\u0e42" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0627" + "\1\u0e43\4\141\1\u0e44\6\141\1\0\4\141\1\132\4\0" + + "\1\141\1\0\2\141\14\0\4\141\1\u0e3f\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0e40\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u0e41\1\141\1\u0e42" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0627" + + "\1\u0e43\4\141\1\u0e44\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0e45\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u0e45\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\5\141\1\u0e46\21\141\1\0\4\141\1\132\4\0" + + "\14\0\5\141\1\u0e46\21\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u0921\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\14\141\1\u0921\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\22\141\1\u0e47\4\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u0e48\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u0e49\1\141\1\u0e4a\1\u0e4b\1\u0e4c\1\u0e4d\1\u076f" + "\1\u0e4e\1\u0e4f\1\141\1\u0e50\1\u0e51\1\u0e52\4\141\1\u0e53" + + "\14\0\22\141\1\u0e47\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\u0e48\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u0e49\1\141\1\u0e4a\1\u0e4b\1\u0e4c\1\u0e4d\1\u076f" + + "\1\u0e4e\1\u0e4f\1\141\1\u0e50\1\u0e51\1\u0e52\4\141\1\u0e53" + "\1\u0e54\3\141\1\u0779\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0e55\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" @@ -4963,15 +5159,17 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u0e8d\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u0e8e\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0e8f\1\141\1\u0e90\1\u0e91\7\141\1\u05cb\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u0e92\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u0e93\24\141\1\0\4\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u0e8f\1\141\1\u0e90\1\u0e91\7\141\1\u05cb\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0e92\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\141\1\u0cd7\25\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u0e94\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u0e95\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u0e96\1\u0e97\1\141\1\u0e98\1\141\1\u0e99\2\141" + "\1\u0e9a\1\141\1\u0e9b\4\141\1\u0e9c\1\u0e9d\1\u0e9e\1\u0e9f" + + "\1\0\2\141\14\0\2\141\1\u0e93\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u0cd7\25\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u0e94\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\u0e95\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u0e96\1\u0e97\1\141\1\u0e98\1\141\1\u0e99\2\141" + + "\1\u0e9a\1\141\1\u0e9b\4\141\1\u0e9c\1\u0e9d\1\u0e9e\1\u0e9f" + "\1\141\1\u0ea0\2\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0ea1\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0ea2" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" @@ -5105,273 +5303,276 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u0ef2\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u09d3\1\u0ef3\1\u0ef4" - + "\1\u076f\1\141\1\u0ef5\1\141\1\u0ef6\1\141\1\u0ef7\4\141" + "\1\u0ef8\4\141\1\u0779\1\0\4\141\1\132\4\0\12\141" + + "\1\u076f\1\141\1\u0ef5\1\141\1\u0ef6\1\141\1\u0ef7\4\141" + + "\1\u0ef8\4\141\1\u0779\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u0ef9\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\14\141\1\u0ef9\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u0efa\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\26\141\1\u0779\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + "\1\u0efb\2\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" - + "\1\u0efc\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u0efd\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\16\141\1\u0efa\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\26\141\1\u0779\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + + "\1\u0efb\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u0efc\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + + "\1\u0efd\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0efe\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u0efe\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0eff\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u0461\4\141\1\u08a6\1\141\1\u0208\3\141\1\u0464\1\u020c" + "\1\141\1\u0753\5\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u08ab\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0f00" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" - + "\1\u0f01\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u0f02\20\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141" - + "\1\u0f03\1\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u0f04\25\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u0480\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u0f05\5\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" - + "\1\u0f06\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0f07\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" - + "\1\u0f08\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" + "\1\u0f09\15\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" - + "\1\u0f0a\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u0f0b\20\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u0f0c\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u0f0d\7\141\1\u0f0e\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u0f0f\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0f10\24\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\25\141\1\u0f11\1\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0f12\24\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\12\141\1\u0f13\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0f14\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\5\141\1\u0f15\21\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u0f16\16\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u0f17\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0f18\20\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u0f19\1\u0f1a\11\141\1\u0f1b\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0f1c\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u0f1d\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0e17\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u0f1e\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u05b7\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\13\141\1\u0f1f\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u0f20\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u0f21\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\25\141\1\u03cc\1\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u0f22\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u087a\23\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u0f23\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u0f24\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u0f25\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u0f26\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u0f27\21\141\1\u0705\1\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0f28\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u040d\6\141\1\u0f29\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0f2a\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u0f2b\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u0f2c\1\141\1\u0f2d" + "\1\141\1\u0f2e\3\141\1\u0f2f\6\141\1\u0f30\1\u0f31\4\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0f32\1\u0f33" + "\2\141\1\u0f34\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0adb" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\1\u0eff\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u0461\4\141\1\u08a6\1\141\1\u0208\3\141\1\u0464\1\u020c" + + "\1\141\1\u0753\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u08ab\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0f00" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u0f35\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141" - + "\1\u0f36\3\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u0f37\16\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u0f38\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0f39" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0f3a\3\141" - + "\1\u0750\15\141\1\u0f3b\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0f3c\26\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u0f3d\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0f3e\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u0b65\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\21\141\1\u0392\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u0f3f\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u0ddf\3\141\1\u03c6\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u0f40\10\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u0a26\11\141\1\u0dbd\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u05b7\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u0d17\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u097d\12\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u05d9\5\141\1\u0f41" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0f42" - + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0f43\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0f44\14\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0f45\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0f46\24\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u0bb4\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0f47\2\141" + "\1\u09a4\1\u0f48\13\141\1\u0779\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0f49\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u044f\1\141\1\u08b8\21\141\1\u0d07\2\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u0f4a\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\13\141\1\u0f4b\13\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u08b8\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0afe\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u0f4c\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0f4d\23\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u0afe\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u0f4e\5\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\141\1\u0f4f\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\24\141\1\u0f50\2\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u0f51\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0f52\23\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\17\141\1\u0f53\2\141\1\u03e7" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0f54" - + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0f55" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0f56" - + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141\1\u0f57" + "\13\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0f58" - + "\15\141\1\u0f59\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0f5a\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u0f5b\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0f5c\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u0f01\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u0f5d\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0f5e\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\u0f02\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141" + "\1\u0f03\1\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + + "\1\u0f04\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0480\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + + "\1\u0f05\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u0f06\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u0f07\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u0f08\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" + + "\1\u0f09\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u0f0a\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u0f0b\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0f0c\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u0f0d\7\141\1\u0f0e\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u0f0f\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u0f10\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\25\141\1\u0f11\1\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u0f12\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u0f13\14\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u0f14\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\5\141\1\u0f15\21\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\10\141\1\u0f16\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u0f17\23\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\6\141\1\u0f18\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u0f19\1\u0f1a\11\141\1\u0f1b\4\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u0f1c\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0f1d\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u0e17\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u0f1e\20\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u05b7\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\13\141\1\u0f1f\13\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u0f20\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0f21\22\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\25\141\1\u03cc\1\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u0f22\17\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\3\141\1\u087a\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u0f23\23\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\16\141\1\u0f24\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u0f25\23\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u0f26\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0f27\21\141\1\u0705\1\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u0f28\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u040d\6\141\1\u0f29\10\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u0f2a\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u0f2b\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0f2c\1\141\1\u0f2d" + + "\1\141\1\u0f2e\3\141\1\u0f2f\6\141\1\u0f30\1\u0f31\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0f32\1\u0f33" + + "\2\141\1\u0f34\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0adb" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" - + "\1\u0f5f\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0f60\23\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" - + "\1\u0eff\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0f61" + "\5\141\1\u0f62\20\141\1\0\4\141\1\132\4\0\12\141" + + "\1\u0f35\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141" + "\1\u0f36\3\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + + "\1\u0f37\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u0f38\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0f39" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0f3a\3\141" + "\1\u0750\15\141\1\u0f3b\4\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u0f3c\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u0f3d\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\21\141\1\u0b78\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u0f63\25\141\1\0\4\141\1\132\4\0\12\141" + + "\4\141\1\u0f3e\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\u0b65\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\21\141\1\u0392\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u0f64\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\3\141" - + "\1\u0f65\3\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\5\141\1\u0f66\4\141\1\u0f67\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0f68\23\141\1\0\4\141\1\132" + + "\16\141\1\u0f3f\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0ddf\3\141\1\u03c6\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u0f69\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\13\141\1\u0f6a\13\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0f6b\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0f6c\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\15\141\1\u0200\11\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0f6d\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u0f6e\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u0f6f\5\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\141\1\u0f70\25\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u06fe\14\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u0f71\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0f72\23\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\15\141\1\u0f73\11\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0f74\24\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u0f75\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\24\141\1\u0f76\2\141\1\0\4\141\1\132\4\0" + + "\2\141\14\0\16\141\1\u0f40\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0a26\11\141\1\u0dbd\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\16\141\1\u05b7\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u0d17\16\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\14\141\1\u097d\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u05d9\5\141\1\u0f41" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0f42" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u0f43\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0f44\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0f45\24\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0f46\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\u0bb4\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0f47\2\141" + + "\1\u09a4\1\u0f48\13\141\1\u0779\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0f49\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\22\141\1\u0f77\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u0f78\17\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u0f79\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0f7a\24\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u0f7b\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u08f6\25\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\15\141\1\u04b7\11\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\20\141\1\u0f7c\6\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u08cb\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u0ba0\16\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\17\141\1\u08f6\7\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u0f7d\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\14\0\1\u044f\1\141\1\u08b8\21\141\1\u0d07\2\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u0f4a\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\13\141\1\u0f4b\13\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u08b8\23\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u0afe\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u0f4c\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u0f4d\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0afe\23\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\21\141\1\u0f4e\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u0f4f\25\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\24\141\1\u0f50\2\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0f51\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u0f52\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\17\141\1\u0f53\2\141\1\u03e7" + + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0f54" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0f55" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0f56" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141\1\u0f57" + + "\13\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0f58" + "\15\141\1\u0f59\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u01c7\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" + "\1\u0485\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\u0f5a\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0f5b\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u0f5c\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u0f5d\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u0f7e\20\141\1\u0f7f\2\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u0f80\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u0f81\3\141\1\u0f82\1\141\1\u0f83\1\u0f84" - + "\1\u0f85\1\u0f86\1\141\1\u0f87\1\u0f88\3\141\1\u0f89\2\141" + "\1\u06ec\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\u0f5e\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u0f5f\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u0f60\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" + "\1\u0eff\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0f61" + + "\5\141\1\u0f62\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\21\141\1\u0b78\5\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\141\1\u0f63\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0f64\20\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\3\141" + "\1\u0f65\3\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\5\141\1\u0f66\4\141\1\u0f67\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u0f68\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0f69\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\13\141\1\u0f6a\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0f6b\23\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u0f6c\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\15\141\1\u0200\11\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u0f6d\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0f6e\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\21\141\1\u0f6f\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u0f70\25\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\12\141\1\u06fe\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0f71\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u0f72\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\15\141\1\u0f73\11\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\2\141\1\u0f74\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0f75\26\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\24\141\1\u0f76\2\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\22\141\1\u0f77\4\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\7\141\1\u0f78\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0f79\22\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u0f7a\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0f7b\24\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\141\1\u08f6\25\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\15\141\1\u04b7\11\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\20\141\1\u0f7c\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u08cb\26\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\10\141\1\u0ba0\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\17\141\1\u08f6\7\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\u0f7d\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u01c7\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" - + "\1\u0f8a\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u0f8b\12\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u0f8c" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\u0485\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0f7e\20\141\1\u0f7f\2\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u0f80\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\141\1\u0f81\3\141\1\u0f82\1\141\1\u0f83\1\u0f84" + + "\1\u0f85\1\u0f86\1\141\1\u0f87\1\u0f88\3\141\1\u0f89\2\141" + + "\1\u06ec\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" + "\1\u0f8a\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u0f8b\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u0f8c" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u03f2\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u03f2\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0f8d\22\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0f8e\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\u0f8f\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0f8d\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0f8e\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u0f8f\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u0f90\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\10\141\1\u0f90\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u0f91\24\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u0f92\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0f93\24\141\1\0\4\141\1\132" + + "\1\0\2\141\14\0\2\141\1\u0f91\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0f92\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0f94\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u0f95\17\141\1\0\4\141\1\132" + + "\2\141\14\0\2\141\1\u0f93\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0f94\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u0f96\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u05ba\10\141\1\0\4\141\1\132" + + "\2\141\14\0\7\141\1\u0f95\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u0f96\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u0f97\5\141\1\u0f98\6\141\1\u0e88" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0f99" - + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0f9a\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0f9b\10\141" + + "\2\141\14\0\16\141\1\u05ba\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0f97\5\141\1\u0f98\6\141\1\u0e88" + + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0f99" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0f9a\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a05\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0f9c\20\141" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0f9b\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a05\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0f9d\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0f9e\17\141" + + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0f9c\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0f9d\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0f9f\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0fa0\12\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u0fa1\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0393\1\u0fa2" + "\2\141\1\u0fa3\1\141\1\u0fa4\1\141\1\u0fa5\3\141\1\u0fa6" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u0f9e\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0f9f\12\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0fa0\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\u0fa1\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0393\1\u0fa2" + + "\2\141\1\u0fa3\1\141\1\u0fa4\1\141\1\u0fa5\3\141\1\u0fa6" + "\3\141\1\u0fa7\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\22\141\1\u0fa8\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" @@ -5557,7 +5758,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1016\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0d27\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u0bc5\11\141\1\u1017\7\141\1\u1018\1\141\1\u06ec\2\141" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\u0bc5\11\141\1\u1017\7\141\1\u1018\1\141\1\u06ec\2\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u08a5\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0269" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u1019\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u101a\7\141" @@ -5565,7 +5767,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u101b" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u101c" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u08ab" + "\1\u101d\1\u101e\1\141\1\u101f\2\141\1\u1020\3\141\1\u1021" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u08ab" + + "\1\u101d\1\u101e\1\141\1\u101f\2\141\1\u1020\3\141\1\u1021" + "\7\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0a3e" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1022" @@ -5586,7 +5789,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u102b\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u102c\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u0d32\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u0d33\1\141\1\u0488\1\u102d\1\u0a6f" + + "\1\0\11\141\1\0\1\u0d32\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\u0d33\1\141\1\u0488\1\u102d\1\u0a6f" + "\3\141\1\u048b\1\141\1\u0d35\3\141\1\u0464\1\u020c\7\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0455\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" @@ -5621,83 +5825,84 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u1042\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u03ce\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1043\1\u1044\1\u1045\1\141" - + "\1\u1046\3\141\1\u1047\1\141\1\u1048\1\u1049\4\141\1\u104a" + "\6\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u104b\26\141" + + "\1\u1046\3\141\1\u1047\1\141\1\u1048\1\u1049\4\141\1\u104a" + + "\6\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u104b\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\20\141\1\u104c\6\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\20\141\1\u104c\6\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u104d\2\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0e0c\1\141" + "\1\u044f\14\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" - + "\1\u104e\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u104f\4\141\1\u1050\4\141\1\u1051\12\141\1\0\4\141" + + "\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u104d\2\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0e0c\1\141" + + "\1\u044f\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u104e\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u104f\4\141\1\u1050\4\141\1\u1051\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u1052\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u1052\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u1053\14\141\1\0\4\141" + + "\1\0\2\141\14\0\12\141\1\u1053\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\21\141\1\u1054\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\21\141\1\u1054\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u104d\12\141\1\0\4\141" + + "\1\0\2\141\14\0\14\141\1\u104d\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u1055\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u1055\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1056\23\141\1\0\4\141" + + "\1\0\2\141\14\0\3\141\1\u1056\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u1057\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u1057\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\24\141\1\u03d4\2\141\1\0\4\141" + + "\1\0\2\141\14\0\24\141\1\u03d4\2\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1058\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u1058\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\13\141\1\u1059\13\141\1\0\4\141" + + "\1\0\2\141\14\0\13\141\1\u1059\13\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u0d4a\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u0d4a\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u105a\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u05d1\15\141\1\u105b\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u105c\12\141\1\0" + + "\1\0\2\141\14\0\3\141\1\u105a\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u05d1\15\141\1\u105b\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u105d\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\17\141\1\u0269\7\141\1\0" + + "\1\141\1\0\2\141\14\0\14\141\1\u105c\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u105d\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u105e\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u105f\20\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u05a8\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u03a8\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u1060\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\1\141\1\0\2\141\14\0\17\141\1\u0269\7\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u105e\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u1061\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u1062\12\141\1\0" + + "\1\141\1\0\2\141\14\0\6\141\1\u105f\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u05a8\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u03a8\12\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1060\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u1061\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u1063\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u01ef\4\141\1\0" + + "\1\141\1\0\2\141\14\0\14\141\1\u1062\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u1063\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1064\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1065\26\141\1\0\4\141" + + "\1\141\1\0\2\141\14\0\22\141\1\u01ef\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1064\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u1065\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1066\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u1066\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u1067\24\141\1\0\4\141" + + "\1\0\2\141\14\0\2\141\1\u1067\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u1068\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u1068\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1069\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u106a\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u106b\3\141\1\u04c5\1\u106c\2\141" - + "\1\u060f\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u106d\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\0\2\141\14\0\3\141\1\u1069\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u106a\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u106b\3\141\1\u04c5\1\u106c\2\141" + "\1\u060f\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + + "\1\u106d\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0f27\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u0f27\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u106e\23\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u106f\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1070\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\u106e\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u106f\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u1070\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u102f\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u102f\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1071\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\u1071\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1072\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u1072\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1073\7\141\1\u0d75\12\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u1074\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u1075\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\1\132\1\u1076\4\132\1\0" + "\2\132\1\u1076\1\132\4\u1076\1\132\1\0\1\132\1\0" - + "\3\132\1\0\1\132\1\u1076\14\0\4\132\3\u1076\2\132" + "\2\u1076\6\132\1\u1076\5\132\1\0\1\132\2\u1076\2\132" + + "\1\u1073\7\141\1\u0d75\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1074\22\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1075\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\1\132\1\u1076\4\132\1\0" + + "\2\132\1\u1076\1\132\4\u1076\1\132\1\0\1\132\1\0" + "\3\132\1\0\1\132\1\u1076\14\0\4\132\3\u1076\2\132" + + "\2\u1076\6\132\1\u1076\5\132\1\0\1\132\2\u1076\2\132" + "\4\0\7\132\1\u1076\2\132\1\0\3\u1076\1\132\3\u1076" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1077" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1078" @@ -5714,71 +5919,74 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u107e" + "\7\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u107f" + "\21\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\22\0\1\u1080\37\0\1\u1080\136\0\1\u1081\141\0\1\u0d88" - + "\141\0\1\u1082\140\0\1\u07af\146\0\1\u0d8b\3\0\1\u0d8c" + "\130\0\1\u07a7\147\0\1\u1083\130\0\1\u1084\135\0\1\u1085" - + "\60\0\2\67\1\0\1\67\1\0\2\67\2\0\6\67" + "\1\0\20\67\1\u02ee\5\67\1\0\34\67\1\u02ee\12\67" - + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\6\67" + "\1\0\26\67\1\0\25\67\1\u0117\21\67\1\0\1\u0117" - + "\23\67\1\0\1\67\1\0\2\67\2\0\4\67\1\u1086" + "\1\67\1\0\26\67\1\0\31\67\1\u1086\15\67\1\0" - + "\22\67\16\0\1\u1087\41\0\1\u1087\60\0\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u1088\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u0317\14\141\1\0" + + "\141\0\1\u1082\140\0\1\u07af\146\0\1\u0d8b\3\0\1\u0d8c" + + "\130\0\1\u07a7\147\0\1\u1083\130\0\1\u1084\135\0\1\u1085" + "\60\0\2\67\1\0\1\67\1\0\2\67\2\0\6\67" + + "\1\0\20\67\1\u02ee\5\67\1\0\34\67\1\u02ee\12\67" + "\1\0\24\67\1\0\1\67\1\0\2\67\2\0\6\67" + + "\1\0\26\67\1\0\25\67\1\u0117\21\67\1\0\1\u0117" + "\23\67\1\0\1\67\1\0\2\67\2\0\4\67\1\u1086" + + "\1\67\1\0\26\67\1\0\31\67\1\u1086\15\67\1\0" + "\22\67\16\0\1\u1087\41\0\1\u1087\60\0\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u1088\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u0426\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u0169\12\141\1\0" + + "\1\141\1\0\2\141\14\0\12\141\1\u0317\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u0426\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u1089\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0216\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\16\0\1\u108a" + "\41\0\1\u108a\136\0\1\u108b\156\0\1\u0d9c\127\0\1\u0590" - + "\142\0\1\u0da0\143\0\1\u07fb\151\0\1\u0590\127\0\1\u058b" + "\132\0\1\u108c\110\0\1\u108d\177\0\1\u108e\133\0\1\u058e" - + "\140\0\1\u0da7\134\0\1\u108f\140\0\1\u0da0\76\0\1\u1090" + "\41\0\1\u1090\60\0\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u1091\23\141\1\0\4\141\1\132\4\0" + + "\1\141\1\0\2\141\14\0\14\141\1\u0169\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u1089\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u0216\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\16\0\1\u108a" + + "\41\0\1\u108a\136\0\1\u108b\156\0\1\u0d9c\127\0\1\u0590" + + "\142\0\1\u0da0\143\0\1\u07fb\151\0\1\u0590\127\0\1\u058b" + + "\132\0\1\u108c\110\0\1\u108d\177\0\1\u108e\133\0\1\u058e" + + "\140\0\1\u0da7\134\0\1\u108f\140\0\1\u0da0\76\0\1\u1090" + + "\41\0\1\u1090\60\0\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\3\141\1\u1091\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\22\141\1\u0b78\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\22\141\1\u0b78\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u1092\16\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\3\141\1\u1093\2\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\4\141\1\u1094\1\141" + + "\14\0\10\141\1\u1092\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\3\141\1\u1093\2\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\1\141" - + "\1\u0817\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1095\24\141\1\0\4\141\1\132\4\0\12\141" + + "\12\141\1\0\7\141\1\132\10\0\4\141\1\u1094\1\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\1\141" + "\1\u0817\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\23\141\1\u1096\3\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1097\24\141\1\0\4\141\1\132\4\0\12\141" + + "\2\141\1\u1095\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\23\141\1\u1096\3\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u1098\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\5\141\1\u0db9\21\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u1099\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u109a" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u109b" + + "\2\141\1\u1097\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1098\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\5\141\1\u0db9\21\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\u1099\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u109a" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u109b" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u109c" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u109c" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0393" - + "\6\141\1\u109d\15\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u109e\12\141\1\0\4\141\1\132\4\0\12\141" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0393" + "\6\141\1\u109d\15\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\22\141\1\u109f\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u10a0\24\141\1\0\4\141\1\132\4\0\12\141" + + "\14\141\1\u109e\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\22\141\1\u109f\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\14\141\1\u03d4\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\23\141\1\u10a1\3\141\1\0\4\141\1\132\4\0\12\141" + + "\2\141\1\u10a0\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u03d4\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u1051\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u10a2\23\141\1\0\4\141\1\132\4\0\12\141" + + "\23\141\1\u10a1\3\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u1051\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u10a3\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\24\141\1\u10a4\2\141\1\0\4\141\1\132\4\0\12\141" + + "\3\141\1\u10a2\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u10a3\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u10a5\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u10a6\20\141\1\0\4\141\1\132\4\0\12\141" + + "\24\141\1\u10a4\2\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u10a5\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\7\141\1\u10a7\12\141\1\u10a8\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u10a9\25\141\1\0\4\141\1\132" + + "\6\141\1\u10a6\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u10a7\12\141\1\u10a8\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\10\141\1\u10aa\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u10ab\16\141\1\0\4\141\1\132" + + "\2\141\14\0\1\141\1\u10a9\25\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u10aa\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u10ac\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0393\1\141\1\u10ad\1\u10ae\1\141" + + "\2\141\14\0\10\141\1\u10ab\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u10ac\17\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\2\141\1\u0393\1\141\1\u10ad\1\u10ae\1\141" + "\1\u10af\1\u10b0\1\u109d\1\u10b1\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u10b2\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" @@ -5937,7 +6145,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1114\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1115\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u1116\2\141\1\u1117\2\141\1\u1118\2\141\1\u1119" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\141\1\u1116\2\141\1\u1117\2\141\1\u1118\2\141\1\u1119" + "\1\u111a\2\141\1\u111b\2\141\1\u111c\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u111d\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" @@ -6068,7 +6277,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u0945\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u116c\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u116d" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0"; + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0"; private static final String ZZ_TRANS_PACKED_3 = "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0687\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\5\141\1\u08ac\4\141\1\u116e" @@ -6181,7 +6391,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0916\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u0916\7\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u11a9\1\141" + "\1\u11aa\2\141\1\u11ab\1\141\1\u11ac\1\u11ad\3\141\1\u11ae" + + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u11a9\1\141" + + "\1\u11aa\2\141\1\u11ab\1\141\1\u11ac\1\u11ad\3\141\1\u11ae" + "\7\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u11a6" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u06b4" @@ -6246,72 +6457,73 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\14\0\6\141\1\u03d2\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u11cb\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u11cc\2\141\1\u11cd\1\u11ce\1\u11cf\1\u09a4\1\u11d0" + "\1\u11d1\3\141\1\u020c\7\141\1\0\4\141\1\132\4\0" + + "\3\141\1\u11cc\2\141\1\u11cd\1\u11ce\1\u11cf\1\u09a4\1\u11d0" + + "\1\u11d1\3\141\1\u020c\7\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u11d2\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\12\141\1\u11d2\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u11d3\12\141\1\0\4\141\1\132\4\0" + + "\14\0\14\141\1\u11d3\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u110d\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u110d\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u11d4\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\10\141\1\u11d5\1\u11d6\7\141\1\u11d7\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u11d8\24\141\1\0" + + "\14\0\16\141\1\u11d4\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u11d5\1\u11d6\7\141\1\u11d7\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u11d9\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\11\141\1\u11da\1\u11d2\14\141\1\0" + + "\1\141\1\0\2\141\14\0\2\141\1\u11d8\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u11d9\26\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\11\141\1\u11da\1\u11d2\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u11db\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u11db\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\20\141\1\u0408\6\141\1\0" + + "\1\141\1\0\2\141\14\0\20\141\1\u0408\6\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u11dc\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u11dc\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\5\141\1\u11dd\21\141\1\0" + + "\1\141\1\0\2\141\14\0\5\141\1\u11dd\21\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u11de\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\22\141\1\u11de\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\17\141\1\u11df\7\141\1\0" + + "\1\141\1\0\2\141\14\0\17\141\1\u11df\7\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u11e0\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u11e0\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\5\141\1\u11e1\3\141\1\u11e2" - + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u05b7" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u11e3" - + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u11e4" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u03c8" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u11e5\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u0f1b\11\141" + + "\1\141\1\0\2\141\14\0\5\141\1\u11e1\3\141\1\u11e2" + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u05b7" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u11e3" + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u11e4" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u03c8" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u11e5\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u11e6\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u11e7\14\141" + + "\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u0f1b\11\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u11e6\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u11e8\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u11e9\23\141" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u11e7\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u11e8\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u11ea\25\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u0d65\7\141" + + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u11e9\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u11ea\25\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u11eb\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u11ec\16\141" + + "\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u0d65\7\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u11eb\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u11b0\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u11ed\7\141" - + "\1\u11ee\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141" + "\1\u11ef\1\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u11f0" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u11ec\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u11b0\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u11f1\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u11f2\12\141" + + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u11ed\7\141" + "\1\u11ee\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141" + + "\1\u11ef\1\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u11f0" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u11f1\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a34\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u11f3\17\141" + + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u11f2\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0a34\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u11f4\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u11f5\24\141" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u11f3\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u11f4\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u11f6\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0485\24\141" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u11f5\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u11f6\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u11f7\1\141" + "\1\u11f8\1\u1159\1\u0901\3\141\1\u11f9\7\141\1\u11fa\4\141" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0485\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u11f7\1\141" + + "\1\u11f8\1\u1159\1\u0901\3\141\1\u11f9\7\141\1\u11fa\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u11fb\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u11fc\4\141" @@ -6675,115 +6887,117 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u12d0" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u12d1\1\141" - + "\1\u12d2\1\141\1\u12d3\1\141\1\u12d4\1\141\1\u12d5\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u12d6\14\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u12d7\1\0\1\141\1\0" + + "\1\u12d2\1\141\1\u12d3\1\141\1\u12d4\1\141\1\u12d5\16\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u12d6\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u12d7\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\7\141\1\u12d8\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u12d9\23\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\22\141\1\u12da\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u12db\14\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\21\141\1\u12dc\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u05b2\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u081f\23\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u12dd\11\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u12de\14\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u12df\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u12d8\17\141\1\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u12e0\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u12d9\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u12da\4\141\1\0" + + "\1\141\1\0\2\141\14\0\6\141\1\u12e1\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0480\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\12\141\1\u12db\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u12dc\5\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u05b2\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u081f\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u12dd\11\141" + + "\1\141\1\0\2\141\14\0\12\141\1\u12e2\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u12e3\17\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u12e4\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u12e5\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\14\141\1\u12e6\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u12e7\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u12e8\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u081f\10\141\1\u12e9\5\141\1\u05b7\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u12de\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u12df\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u12ea\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u09a6\1\141" + + "\1\u103a\21\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u12eb" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u12ec" + + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u12ed" + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u12ee\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u12ef\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u12f0\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u12e0\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u12e1\20\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u0480\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u12e2\14\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\7\141\1\u12e3\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\u12e4\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\1\141\1\0\2\141\14\0\1\u12f1\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u12f2\14\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\u06f4\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u12f3\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u12e5\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u12e6\12\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u12e7\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u12e8\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\2\141\14\0\20\141\1\u12f4\6\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u0be4\1\141\1\u128c\24\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\3\141\1\u12f5\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u12f6\1\141\1\u12f7\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u12f8\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u12f9\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u0262\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u12fa\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u12fb\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u12fc\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u12fd\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0881\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u12fe\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\7\141\1\u12ff\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u1300\5\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\6\141\1\u1301\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u1302\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\21\141\1\u1303\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u1304\15\141\1\u1305\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u1306\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u1307\1\141" + + "\1\u1308\1\141\1\u1309\1\141\1\u130a\2\141\1\u11d2\1\u130b" + + "\5\141\1\u0e81\1\u130c\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\17\141\1\u130d\7\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u081f\10\141\1\u12e9\5\141\1\u05b7\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u12ea\20\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u09a6\1\141" + "\1\u103a\21\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u12eb" - + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u12ec" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u12ed" - + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u12ee\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u12ef\10\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u12f0\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u12f1\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\12\141\1\u12f2\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u06f4\26\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\10\141\1\u12f3\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\20\141\1\u12f4\6\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u0be4\1\141\1\u128c\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u12f5\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u12f6\1\141\1\u12f7\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u12f8\24\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u12f9\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0262\26\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u12fa\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u12fb\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u12fc\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u12fd\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0881\4\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u12fe\1\0\1\141\1\0" + + "\14\0\1\u130e\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u03c6\14\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\10\141\1\u130f\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1310\7\141\1\u0408\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u1311\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u1312\12\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\12\141\1\u1313\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\21\141\1\u1314\5\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\3\141\1\u1315\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u1316\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1317" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1318\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1319" + + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u131a" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u131b\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u131c\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u12ff\17\141\1\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u131d\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\21\141\1\u1300\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u1301\20\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u1302\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\21\141\1\u1303\5\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u1304\15\141\1\u1305\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u1306\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u1307\1\141" - + "\1\u1308\1\141\1\u1309\1\141\1\u130a\2\141\1\u11d2\1\u130b" + "\5\141\1\u0e81\1\u130c\4\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\17\141\1\u130d\7\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u130e\26\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\12\141\1\u03c6\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u130f\16\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u1310\7\141\1\u0408\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u1311\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\14\141\1\u1312\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u1313\14\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\21\141\1\u1314\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u1315\23\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1316\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1317" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1318\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1319" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u131a" - + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u131b\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u131c\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u131d\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u131e\3\141\1\u131f\3\141" + + "\1\141\1\0\2\141\14\0\1\u131e\3\141\1\u131f\3\141" + "\1\u1320\2\141\1\u1321\5\141\1\u1322\1\u1323\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1324\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u05d3\1\0\1\132\1\u015c" @@ -6817,12 +7031,13 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0406\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\17\141\1\u048b\7\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\17\0\1\u1332\152\0\1\u1333\206\0\1\u07af" + "\117\0\1\u1334\113\0\1\u1335\173\0\1\u1336\54\0\2\67" - + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\1\67" + "\1\u1337\24\67\1\0\16\67\1\u1337\30\67\1\0\22\67" - + "\17\0\1\u1338\121\0\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u0312\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u1339\26\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\17\0\1\u133a\205\0\1\u133b\142\0\1\u059a" + "\142\0\1\u133c\143\0\1\u07fb\127\0\1\u0598\75\0\1\u133d" + + "\1\0\7\141\17\0\1\u1332\152\0\1\u1333\206\0\1\u07af" + + "\117\0\1\u1334\113\0\1\u1335\173\0\1\u1336\54\0\2\67" + "\1\0\1\67\1\0\2\67\2\0\6\67\1\0\1\67" + + "\1\u1337\24\67\1\0\16\67\1\u1337\30\67\1\0\22\67" + "\17\0\1\u1338\121\0\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u0312\24\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u1339\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\17\0\1\u133a\205\0\1\u133b\142\0\1\u059a" + + "\142\0\1\u133c\143\0\1\u07fb\127\0\1\u0598\75\0\1\u133d" + "\121\0\1\132\10\0\6\141\1\0\11\141\1\0\1\u0749" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u133e\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" @@ -7284,387 +7499,389 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u1445\1\141\1\u116d" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u1446\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1447\1\u1448" - + "\1\141\1\u1449\1\u05b0\3\141\1\u144a\1\141\1\u144b\1\u144c" + "\1\u0610\2\141\1\u144d\1\141\1\u144e\5\141\1\0\4\141" + + "\1\141\1\u1449\1\u05b0\3\141\1\u144a\1\141\1\u144b\1\u144c" + + "\1\u0610\2\141\1\u144d\1\141\1\u144e\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\13\141\1\u1023\13\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\13\141\1\u1023\13\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u144f\17\141\1\0\4\141" + + "\1\0\2\141\14\0\7\141\1\u144f\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\24\141\1\u1450\2\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\24\141\1\u1450\2\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\24\141\1\u0df3\2\141\1\0\4\141" + + "\1\0\2\141\14\0\24\141\1\u0df3\2\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1451\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u1451\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u1452\14\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u1453\5\141\1\u0ddc\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u12f6\1\141\1\u1454" - + "\10\141\1\u1455\11\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u1456\3\141\1\u1457\6\141\1\u04d8\10\141\1\0" + + "\1\0\2\141\14\0\12\141\1\u1452\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u1453\5\141\1\u0ddc\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1458\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u08ce\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u09a3\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\24\141\1\u11e7\2\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\15\141\1\u0318\5\141\1\u1459" + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u145a\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u145b\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u145c\5\141\1\u145d" - + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u145e" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u145f\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\7\141\1\u11df\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0f05\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u0610\12\141\1\u090a" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1460" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u09a9" + "\21\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u03c8" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0610" + "\12\141\1\u1461\10\141\1\0\4\141\1\132\4\0\12\141" + + "\1\141\1\0\2\141\14\0\2\141\1\u12f6\1\141\1\u1454" + "\10\141\1\u1455\11\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u1462\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u0dc7\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" - + "\1\u1463\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u1464\12\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" - + "\1\u1465\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1466\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u1467\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u1468\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u1469\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u146a\12\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" - + "\1\u0b78\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u146b\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u146c\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u146d\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" - + "\1\u04f9\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u146e\12\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" - + "\1\u0d07\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u146f\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" - + "\1\u03a8\1\141\1\u05d8\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u046a\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\23\141\1\u1470\3\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1471\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u1472\4\141\1\u1473\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u05d5\2\141\1\u1474\5\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1475\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u1476\1\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1477\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1478\24\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1479\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u147a\20\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u147b\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u147c\10\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u147d\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u147e\24\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u147f\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u1480\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\3\141\1\u1456\3\141\1\u1457\6\141\1\u04d8\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1458\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u1481\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u1482\12\141\1\0" + + "\1\141\1\0\2\141\14\0\16\141\1\u08ce\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u09a3\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1483\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u1484\4\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u1485\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u1486\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u0667\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u1487\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u0b20\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\20\141\1\u0b91\6\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\141\1\u05ea\25\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u1488\23\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\10\141\1\u0916\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u11af\20\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u1489\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u148a\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u148b\14\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u148c\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\15\141\1\u148d\11\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u0614\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u148e\12\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\5\141" + "\1\u0269\3\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\5\141\1\u0269\1\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u0cf6\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u0269\22\141\1\u148f\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\25\141\1\u0639\1\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u1490\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1491\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\11\141\1\u1492\15\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u1493\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u0bca\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u1494\14\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u1495\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1496\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1497\22\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1498\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u1499\26\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u149a\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u149b\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u149c\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u0868\12\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u149d\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u149e\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u11af\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u149f\14\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\14\141\1\u14a0\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u14a1\20\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\14\141\1\u14a2\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u08a6\16\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u0971\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\5\141\1\u14a3\21\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u0a1d\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u14a4\12\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\23\141\1\u14a5\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\1\u0269\4\141\1\u0269\1\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u0411\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u14a6\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\23\141\1\u14a7\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\11\141\1\u14a8\15\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\21\141\1\u1234\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u0afc\17\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\10\141\1\u14a9\15\141\1\u14aa\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u14ab\23\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u14ac\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u14ad\16\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\21\141\1\u047b\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u14ae\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\22\141\1\u14af\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\24\141\1\u14b0\2\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u14b1\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u14b2\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u14b3\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\22\141\1\u14b4\4\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u14b5\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\22\141\1\u14b6\4\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u0d37\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u04c5\1\u06bb\16\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u14b7\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u14b8\5\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\11\141\1\u14b9\15\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u11a8\12\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0411\10\141\1\u097d\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u14ba\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\7\141\1\u14bb\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\23\141\1\u1466\3\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\141\1\u14bc\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\1\u14bd\6\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\14\141\1\u14be\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u14bf\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\12\141\1\u14c0\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u14c1\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\141\1\u14c2\5\141\1\u0455\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u14c3\6\141" - + "\1\u09bd\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u14c4\14\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u14c5" - + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\3\141\1\u14c6\3\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u14c7" - + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0a05" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u14c8" - + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u14c9" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u14ca" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0397" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u14cb" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u14cc" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u14cd" - + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u14ce" + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u14cf\26\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u14d0\25\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u14d1\14\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u09e4\1\0\1\141\1\0" + + "\1\141\1\0\2\141\14\0\24\141\1\u11e7\2\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u0318\5\141\1\u1459" + + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u145a\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u14d2\11\141\1\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u145b\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u14d3\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0ddf\24\141\1\0" + + "\1\141\1\0\2\141\14\0\2\141\1\u145c\5\141\1\u145d" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u145e" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u145f\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u11df\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\7\141\1\u09e2\6\141\1\u14d4" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u14d5" - + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0e12" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u14d6" - + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u14d7" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u14d8\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u14d9\11\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u14da\11\141\1\u12db" - + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u14db" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u14dc" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u14dd\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u14de\6\141" - + "\1\u0fdc\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u14df\12\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141" - + "\1\u14e0\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u14e1\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\141\1\0\2\141\14\0\2\141\1\u0f05\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0610\12\141\1\u090a" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1460" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u09a9" + + "\21\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u03c8" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0610" + + "\12\141\1\u1461\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u1462\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + + "\1\u0dc7\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u1463\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u1464\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + "\1\u1465\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u1466\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1467\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + + "\1\u1468\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1469\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u146a\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u0b78\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u146b\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u146c\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u14e2\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u14e3\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u14e4" - + "\7\141\1\u1284\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u06b2\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\141\1\u14e5\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u14e6\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u14e7\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u14e8\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\23\141\1\u03ce\3\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u14e9\12\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\10\141\1\u14ea\11\141\1\u0dda\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u14eb\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u08f6\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u14ec\16\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u14ed\4\141\1\u14ee\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0fd5\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u14ef\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u14f0\17\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u14f1\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u14f2\17\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\12\141\1\u14f3\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u14f4\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\13\141\1\u14f5\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u14f6\24\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\12\141\1\u14f7\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u063d\25\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\10\141\1\u0971\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u14f8\16\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u14f9\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u14fa\24\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u08f7\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u06a1\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\141\1\u14fb\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u14fc\14\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u0a75\1\u14fd\2\141\1\u14fe\1\141\1\u14ff\1\u1500" + "\2\141\1\u0464\3\141\1\u1501\1\141\1\u1502\1\u1503\1\141" + + "\1\u146d\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u04f9\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u146e\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + "\1\u0d07\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u146f\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u03a8\1\141\1\u05d8\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\16\141\1\u046a\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\23\141\1\u1470\3\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u1471\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u1472\4\141\1\u1473\12\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\16\141\1\u05d5\2\141\1\u1474\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1475\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u1504\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u1505\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u1476\1\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1477\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1478\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1479\24\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u147a\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u147b\14\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u147c\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u147d\10\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u147e\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u147f\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1480\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1481\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u1506\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1507\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\20\141\1\u1508\6\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u1509\12\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u150a\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u150b\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u150c\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u150d\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\1\141\1\0\2\141\14\0\14\141\1\u1482\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1483\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\22\141\1\u1484\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1485\23\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u1486\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u0667\24\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u1487\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u0b20\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u150e\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u150f\22\141\1\0\4\141\1\132\4\0" + + "\14\0\20\141\1\u0b91\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u05ea\25\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u1510\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\23\141\1\u1511\3\141\1\0\4\141\1\132\4\0" + + "\14\0\3\141\1\u1488\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u0916\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\12\141\1\u1512\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u1513\26\141\1\0\4\141\1\132\4\0\12\141" + + "\14\0\6\141\1\u11af\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u1489\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u148a\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\12\141\1\u148b\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u148c\24\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\15\141\1\u148d\11\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u0614\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\14\141\1\u148e\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\5\141" + + "\1\u0269\3\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\5\141\1\u0269\1\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\3\141\1\u0cf6\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u0269\22\141\1\u148f\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\25\141\1\u0639\1\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u1490\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u1491\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\11\141\1\u1492\15\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u1493\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u0bca\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u1514\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0ccf" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u1515\4\141\1\u060f\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0681\20\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u047b\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\20\141\1\u1516\6\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\141\1\u0a1d\1\141\1\u1517\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1518\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u1519\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\22\141\1\u151a\4\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\141\1\u151b\6\141\1\u151c\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u151d\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\12\141\1\u1494\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\u1495\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1496\26\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1497\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1498\12\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u1499\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u149a\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u151e\1\141\1\u151f" + "\1\u1520\1\u1521\1\141\1\u1522\1\u1523\2\141\1\u0464\1\u020c" + + "\1\141\1\0\2\141\14\0\4\141\1\u149b\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u149c\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\14\141\1\u0868\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u149d\16\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u149e\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u11af\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\12\141\1\u149f\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u14a0\12\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\6\141\1\u14a1\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u14a2\12\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\10\141\1\u08a6\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u0971\24\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\5\141\1\u14a3\21\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u0a1d\20\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\14\141\1\u14a4\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\23\141\1\u14a5\3\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\1\u0269\4\141\1\u0269\1\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u0411\23\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u14a6\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\23\141\1\u14a7\3\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\11\141\1\u14a8\15\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\21\141\1\u1234\5\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\7\141\1\u0afc\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u14a9\15\141\1\u14aa\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u14ab\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u14ac\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\10\141\1\u14ad\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u047b\5\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u14ae\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u14af\4\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\24\141\1\u14b0\2\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u14b1\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u14b2\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u14b3\26\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\22\141\1\u14b4\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u14b5\26\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\22\141\1\u14b6\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u0d37\17\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\7\141\1\u04c5\1\u06bb\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u14b7\26\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\21\141\1\u14b8\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\11\141\1\u14b9\15\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\14\141\1\u11a8\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0411\10\141\1\u097d\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u14ba\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u14bb\17\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\23\141\1\u1466\3\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u14bc\25\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\1\u14bd\6\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u14be\12\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\3\141\1\u14bf\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u14c0\14\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u14c1\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u14c2\5\141\1\u0455\17\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u14c3\6\141" + "\1\u09bd\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + + "\1\u14c4\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u14c5" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\3\141\1\u14c6\3\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u14c7" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0a05" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u14c8" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u14c9" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u14ca" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0397" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u14cb" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u14cc" + + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u14cd" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u14ce" + + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u14cf\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u14d0\25\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u14d1\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u09e4\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\15\141\1\u14d2\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u14d3\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u0ddf\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u09e2\6\141\1\u14d4" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u14d5" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0e12" + + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u14d6" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u14d7" + + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u14d8\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u14d9\11\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u14da\11\141\1\u12db" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u14db" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u14dc" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u14dd\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u14de\6\141" + "\1\u0fdc\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u14df\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141" + "\1\u14e0\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u14e1\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u14e2\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u14e3\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u14e4" + "\7\141\1\u1284\16\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\16\141\1\u06b2\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u14e5\25\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u14e6\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u14e7\23\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\16\141\1\u14e8\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\23\141\1\u03ce\3\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\14\141\1\u14e9\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u14ea\11\141\1\u0dda\4\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u14eb\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u08f6\17\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\10\141\1\u14ec\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u14ed\4\141\1\u14ee\17\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u0fd5\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u14ef\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\7\141\1\u14f0\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\u14f1\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\7\141\1\u14f2\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u14f3\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u14f4\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\13\141\1\u14f5\13\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\2\141\1\u14f6\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u14f7\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\141\1\u063d\25\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u0971\16\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\10\141\1\u14f8\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\u14f9\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u14fa\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u08f7\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u06a1\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u14fb\25\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\12\141\1\u14fc\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u0a75\1\u14fd\2\141\1\u14fe\1\141\1\u14ff\1\u1500" + + "\2\141\1\u0464\3\141\1\u1501\1\141\1\u1502\1\u1503\1\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u1504\4\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1505\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1506\26\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u1507\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\20\141\1\u1508\6\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\14\141\1\u1509\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u150a\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u150b\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u150c\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u150d\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u150e\20\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u150f\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u1510\24\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\23\141\1\u1511\3\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u1512\14\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u1513\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u1514\20\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0ccf" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1515\4\141\1\u060f\16\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\6\141\1\u0681\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u047b\22\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\20\141\1\u1516\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u0a1d\1\141\1\u1517\23\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\3\141\1\u1518\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1519\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\22\141\1\u151a\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u151b\6\141\1\u151c\16\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u151d\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u151e\1\141\1\u151f" + + "\1\u1520\1\u1521\1\141\1\u1522\1\u1523\2\141\1\u0464\1\u020c" + "\1\141\1\u1524\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u1525\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" @@ -7756,14 +7973,16 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\5\141\1\u155c\21\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u155d\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u155e\3\141\1\u155f\1\u1560\1\141\1\u1561\2\141" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u155e\3\141\1\u155f\1\u1560\1\141\1\u1561\2\141" + "\1\u1013\1\141\1\u1562\1\u1563\2\141\1\u1564\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u1300\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u1565\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\20\141\1\u03d4\6\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u1566\1\141\1\u1567\2\141\1\u155c" + "\1\141\1\u1568\1\141\1\u1569\1\u156a\2\141\1\u156b\1\141" + + "\1\0\2\141\14\0\1\u1566\1\141\1\u1567\2\141\1\u155c" + + "\1\141\1\u1568\1\141\1\u1569\1\u156a\2\141\1\u156b\1\141" + "\1\u156c\1\141\1\u156d\1\u156e\1\141\1\u08db\2\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u156f\5\141\1\u1469\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" @@ -7790,483 +8009,488 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\2\141\14\0\21\141\1\u0916\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u1580\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u09e7\1\u08ab\1\u1581\1\u0ce4" + "\3\141\1\u1582\3\141\1\u1583\10\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u1584\1\u045b\1\141\1\u11e9\1\u1585\1\u075e" + "\1\u0969\1\141\1\u1586\1\141\1\u1587\1\u1321\1\u1588\1\141" + + "\1\0\2\141\14\0\3\141\1\u09e7\1\u08ab\1\u1581\1\u0ce4" + + "\3\141\1\u1582\3\141\1\u1583\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u1584\1\u045b\1\141\1\u11e9\1\u1585\1\u075e" + + "\1\u0969\1\141\1\u1586\1\141\1\u1587\1\u1321\1\u1588\1\141" + "\1\u05d8\2\141\1\u1589\1\u0e8f\2\141\1\u0971\1\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u158a\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u158b\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u158c\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u158d\3\141\1\u158e\1\141" - + "\1\u158f\1\141\1\u1590\1\141\1\u05cb\2\141\1\u1591\1\u1592" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1593" - + "\5\141\1\u1594\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1595\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\u158f\1\141\1\u1590\1\141\1\u05cb\2\141\1\u1591\1\u1592" + + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1593" + "\5\141\1\u1594\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\10\141\1\u0df4\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u1596\12\141\1\0\4\141\1\132\4\0\12\141" + + "\4\141\1\u1595\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u0df4\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1597\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1598\22\141\1\0\4\141\1\132\4\0\12\141" + + "\14\141\1\u1596\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1597\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1596\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u1599\20\141\1\0\4\141\1\132\4\0\12\141" + + "\4\141\1\u1598\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1596\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\141\1\u0ed9\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\22\141\1\u159a\4\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u159b" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u046a\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\20\141\1\u159c\6\141\1\0\4\141\1\132\4\0" + + "\6\141\1\u1599\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u0ed9\25\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\22\141\1\u159a\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u159b" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u046a\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\12\141\1\u0f25\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u159d\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u159e\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0269\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u159f\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\23\141\1\u15a0\3\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u15a1" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u15a2\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u15a3\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u15a4\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\65\0\1\u15a5\140\0\1\u1082\133\0\1\u15a6\152\0" + "\1\u15a7\46\0\2\67\1\0\1\67\1\0\2\67\2\0" - + "\6\67\1\0\26\67\1\0\15\67\1\u0117\23\67\1\u0117" + "\5\67\1\0\22\67\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\11\141\1\u0d98" - + "\1\0\7\141\65\0\1\u0ab7\133\0\1\u15a8\60\0\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u15a9\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\3\141" - + "\1\u0817\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\1\141\1\u081b\4\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u15aa\23\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u15ab\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\u15ac\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0d08\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u15ad\14\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u0e92\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\22\141\1\u03ec\4\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u15ae\1\141\1\u15af\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0a1d\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\15\141\1\u15b0\1\141\1\u06e9" + "\7\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15b1" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15b2" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u15b3" - + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u15b4" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u03c6\14\141" - + "\1\u15b5\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u15b6\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u0405\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u15b7" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15b8" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u15b9" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u15ba" - + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u15bb" + "\1\141\1\u15bc\23\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u15bd\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u15be\23\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u15bf\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u15c0\24\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\12\141\1\u15c1\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u15c2\24\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u15c3\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u15c4\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\22\141\1\u15c5\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u15c6" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u15c7\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\11\141\1\u15c8\15\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u0b89\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\141\1\u15c9\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\1\u15ca" - + "\6\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" - + "\1\u0f6e\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" + "\1\u15cb\11\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" - + "\1\u15cc\6\141\1\u15cd\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u15ce\14\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u08f6\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\26\141" + "\1\u15cf\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u15d0" - + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u031a" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u15cc" - + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\1\141\1\u15d1\5\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u15c9" - + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u15d2" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\26\141\1\u15d3" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15d4\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\u15d5\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\141\1\u14bc\1\141\1\u15d6\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15d7\22\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\26\141\1\u15d8\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u15d9\7\141\1\u0627" - + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15da" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u15db" - + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0cca" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15dc" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u15dd" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u15de\26\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15df\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u15e0\17\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u14bc\10\141" + "\1\u063d\14\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" - + "\1\u15e1\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u15e2\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" - + "\1\u15e3\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u15e4\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u15e5" - + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u15e6" + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u15e7" - + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u15e8\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u15e9\24\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0bf1\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15ea\22\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15eb\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15ec\22\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u08ea\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u08ed\3\141" - + "\1\u0411\12\141\1\u08ef\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u15ed\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\10\141\1\u15ee\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\15\141\1\u0971\11\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u15ef\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u0840\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" - + "\1\u0d94\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u15f0\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141" - + "\1\u15f1\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u15f2\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u15f3" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u15f4\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u15f5\24\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u15f6\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\u15f7\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u15f8\1\141\1\u15f9" - + "\1\u15fa\1\141\1\u09a4\1\141\1\u15fb\1\u15fc\1\141\1\u15fd" + "\1\u15fc\5\141\1\u15fe\1\u15ff\4\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u0e23\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\u1600\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u1601\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1207\3\141\1\u1602\16\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u1603\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u1604\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\14\141\1\u1605\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u1606\24\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u0239\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u1607\24\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\14\141\1\u1608\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u1609\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u160a\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u160b" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u160c" - + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u160d" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u160e" - + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u160f" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1610" - + "\11\141\1\u1611\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u1612\14\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1613\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1614" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" - + "\1\u1615\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1616\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" - + "\1\u1617\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u1618\12\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1619\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15e9" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1615" - + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u161a\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u161b\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u161c\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u161d\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u161e\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u161f\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\13\141\1\u1620\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u06f4\17\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\141\1\u0408\25\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\13\141\1\u1621\13\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u1622\1\0\1\132\1\u015c\1\141\1\0" + + "\14\0\20\141\1\u159c\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u0f25\14\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u159d\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1623\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u159e\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\7\141\1\u1624\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1625\22\141\1\0\4\141\1\132\4\0\12\141" + + "\6\141\1\u0269\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u159f\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\7\141\1\u1626\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u1627\17\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\12\141\1\u1628\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1629\24\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u162a" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0694\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u162b\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u162c\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u162d" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0610" + "\11\141\1\u0779\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" - + "\1\u162e\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u13dc\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u162f" - + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u11a7" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1630" - + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u1631\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1632\12\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u1633\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1634\1\u1635\3\141" - + "\1\u1274\1\u0f85\1\u1636\2\141\1\u1637\1\u13ad\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1638\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\14\141\1\u040d\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u14b2\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\15\141\1\u0de7\11\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\5\141\1\u03d4\21\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u1639\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\22\141\1\u163a\4\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u06ee\2\141\1\u163b\2\141\1\u163c" + "\1\u163d\2\141\1\u163e\3\141\1\u163f\1\u1640\7\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1641\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u1642\25\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1643\5\141\1\u1644" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u03cd\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1645\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u0e8b\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u1646\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u03d4\20\141\1\u08f6\3\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1647\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1648\14\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u1649\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u164a\17\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0e8b\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u164b\15\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u164c\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u164d\20\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u164e\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u164f\14\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1650\11\141\1\u1651" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1652\26\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u1653\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1654\17\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1655\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\26\141\1\u0eb4\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\15\141\1\u117c\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\5\141\1\u1656\21\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1657\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1658\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\13\141\1\u1659\13\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\u0d27\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u0916\4\141\1\u0269\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\5\141\1\u044f\21\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u165a\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u165b\12\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\11\141\1\u12ec\15\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\20\141\1\u165c\6\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u073d\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0269\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u165d\21\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u0b78\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\21\141\1\u10d7\5\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u165e\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u165f\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\22\141\1\u0a3e\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u1660\11\141\1\u1661\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\22\141\1\u1662\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u1663\4\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u038d\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u0eb4\12\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\12\141\1\u1664\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1665\1\141\1\u1666" - + "\14\141\1\u1667\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1668\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\5\141\1\u075e\21\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u074f\2\141\1\u045c\12\141\1\u0fd6\5\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1669\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u166a\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u166b\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u166c\12\141\1\u0d02" - + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u0eb9\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u166d\24\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u166e\1\141" + "\1\u166f\7\141\1\u0d02\2\141\1\u04f9\2\141\1\u1670\2\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1671\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\5\141\1\u04f9\21\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1672\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u1673\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u1674\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\u090a\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u119c\25\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u1675\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\13\141\1\u1676\13\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u1677\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u1678\4\141\1\u0a3a\17\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\12\141\1\u1679\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u167a\5\141\1\u167b\4\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u167c\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u167d\20\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u167e\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u167f\17\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1680\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u157b\15\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u0fcc\15\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u1681\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u08cb\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\u1682\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0b8b\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u1683\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u1684\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u1685\10\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\12\141\1\u1686\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u1687\17\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\12\141\1\u1688\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\20\141\1\u1689\6\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u168a\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u168b\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\13\141\1\u168c\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u168d\12\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\10\141\1\u168e\10\141\1\u0269\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u168f\10\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u1690\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u09e1\1\141\1\u1691\1\141" - + "\1\u1692\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1693\7\141\1\u0b98\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u1694\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u1695\23\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u1696\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u1697\26\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1698\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u0392\3\141\1\u1699\14\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\12\141\1\u169a\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u169b\16\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u169c\4\141\1\u0a3a\4\141\1\u169d" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u169e\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u169f\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u16a0\11\141\1\u03ec" - + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u16a1" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u16a2" - + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0b1b" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u065d" - + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u16a3" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0993\6\141" - + "\1\u16a4\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u16a5\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\23\141\1\u15a0\3\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u15a1" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u16a6\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u16a7\3\141\1\u16a8\1\u16a9\1\u16aa\2\141\1\u16ab\14\141" + + "\1\u15a2\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u15a3\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + + "\1\u15a4\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\65\0\1\u15a5\140\0\1\u1082\133\0\1\u15a6\152\0" + + "\1\u15a7\46\0\2\67\1\0\1\67\1\0\2\67\2\0" + "\6\67\1\0\26\67\1\0\15\67\1\u0117\23\67\1\u0117" + + "\5\67\1\0\22\67\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\11\141\1\u0d98" + "\1\0\7\141\65\0\1\u0ab7\133\0\1\u15a8\60\0\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u15a9\23\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\3\141" + "\1\u0817\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\1\141\1\u081b\4\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u15aa\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u15ab\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u15ac\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0d08\23\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\12\141\1\u15ad\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0e92\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\22\141\1\u03ec\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u15ae\1\141\1\u15af\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\16\141\1\u0a1d\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u15b0\1\141\1\u06e9" + + "\7\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15b1" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15b2" + + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u15b3" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u15b4" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u03c6\14\141" + "\1\u15b5\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u15b6\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0405\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u15b7" + + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15b8" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u15b9" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u15ba" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u15bb" + + "\1\141\1\u15bc\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u15bd\20\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u15be\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u15bf\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u15c0\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u15c1\14\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u15c2\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u15c3\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u15c4\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\22\141\1\u15c5\4\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u15c6" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u15c7\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\11\141\1\u15c8\15\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\16\141\1\u0b89\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u15c9\25\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\1\u15ca" + "\6\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u0f6e\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" + + "\1\u15cb\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u15cc\6\141\1\u15cd\16\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\12\141\1\u15ce\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\u08f6\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\26\141" + + "\1\u15cf\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u15d0" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u031a" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u15cc" + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\1\141\1\u15d1\5\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u15c9" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u15d2" + + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\26\141\1\u15d3" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15d4\20\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u15d5\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u14bc\1\141\1\u15d6\23\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15d7\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\26\141\1\u15d8\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u15d9\7\141\1\u0627" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15da" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u15db" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0cca" + + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15dc" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u15dd" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u15de\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15df\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u15e0\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u14bc\10\141" + + "\1\u063d\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u15e1\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u15e2\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u15e3\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u15e4\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u15e5" + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u15e6" + + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u15e7" + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u15e8\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u15e9\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0bf1\4\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15ea\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u15eb\20\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15ec\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u08ea\16\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u08ed\3\141" + "\1\u0411\12\141\1\u08ef\4\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u15ed\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u15ee\16\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\15\141\1\u0971\11\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u15ef\17\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u0840\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u0d94\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u15f0\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141" + "\1\u15f1\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + + "\1\u15f2\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u15f3" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u15f4\5\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u15f5\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u15f6\24\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u15f7\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u15f8\1\141\1\u15f9" + + "\1\u15fa\1\141\1\u09a4\1\141\1\u15fb\1\u15fc\1\141\1\u15fd" + + "\1\u15fc\5\141\1\u15fe\1\u15ff\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0e23\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u1600\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u1601\20\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u1207\3\141\1\u1602\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u1603\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u1604\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u1605\12\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u1606\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u0239\20\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u1607\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u1608\12\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u1609\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u160a\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u160b" + + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u160c" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u160d" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u160e" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u160f" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1610" + "\11\141\1\u1611\12\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\12\141\1\u1612\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1613\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1614" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u1615\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1616\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" + "\1\u1617\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u1618\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1619\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u15e9" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1615" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u161a\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u161b\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u161c\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u161d\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u161e\10\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u161f\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\13\141\1\u1620\13\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\7\141\1\u06f4\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u0408\25\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\13\141\1\u1621\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\u1622\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u1623\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u1624\17\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u1625\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u1626\17\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\7\141\1\u1627\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u1628\14\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u1629\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u162a" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u0694\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u162b\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u162c\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u162d" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0610" + + "\11\141\1\u0779\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u162e\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u13dc\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u162f" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u11a7" + + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1630" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u1631\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1632\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u1633\26\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u1634\1\u1635\3\141" + + "\1\u1274\1\u0f85\1\u1636\2\141\1\u1637\1\u13ad\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u1638\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u040d\12\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u14b2\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\15\141\1\u0de7\11\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\5\141\1\u03d4\21\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1639\23\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\22\141\1\u163a\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u06ee\2\141\1\u163b\2\141\1\u163c" + + "\1\u163d\2\141\1\u163e\3\141\1\u163f\1\u1640\7\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1641\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\141\1\u1642\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1643\5\141\1\u1644" + + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u03cd\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u1645\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u0e8b\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1646\10\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\2\141\1\u03d4\20\141\1\u08f6\3\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1647\17\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1648\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u1649\20\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u164a\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0e8b\22\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u164b\15\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u164c\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\6\141\1\u164d\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u164e\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\12\141\1\u164f\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1650\11\141\1\u1651" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1652\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u1653\10\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1654\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1655\24\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\26\141\1\u0eb4\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u117c\11\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\5\141\1\u1656\21\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1657\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u1658\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\13\141\1\u1659\13\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u0d27\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0916\4\141\1\u0269\17\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\5\141\1\u044f\21\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u165a\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\14\141\1\u165b\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\11\141\1\u12ec\15\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\20\141\1\u165c\6\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u073d\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u0269\16\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u165d\21\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\u0b78\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\21\141\1\u10d7\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u165e\10\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u165f\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\22\141\1\u0a3e\4\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u1660\11\141\1\u1661\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u1662\4\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\22\141\1\u1663\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u038d\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\14\141\1\u0eb4\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u1664\14\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u1665\1\141\1\u1666" + "\14\141\1\u1667\4\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u1668\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\5\141\1\u075e\21\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u074f\2\141\1\u045c\12\141\1\u0fd6\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1669\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\16\141\1\u166a\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u166b\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u166c\12\141\1\u0d02" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u0eb9\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u166d\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u166e\1\141" + + "\1\u166f\7\141\1\u0d02\2\141\1\u04f9\2\141\1\u1670\2\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u1671\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\5\141\1\u04f9\21\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1672\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u1673\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u1674\26\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u090a\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\141\1\u119c\25\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u1675\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\13\141\1\u1676\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u1677\17\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u1678\4\141\1\u0a3a\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u1679\14\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\14\141\1\u167a\5\141\1\u167b\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u167c\24\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u167d\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u167e\5\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u167f\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1680\24\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u157b\15\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u0fcc\15\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1681\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u08cb\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\u1682\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0b8b\23\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u1683\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u1684\24\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\16\141\1\u1685\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u1686\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\7\141\1\u1687\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u1688\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\20\141\1\u1689\6\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u168a\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u168b\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\13\141\1\u168c\13\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\14\141\1\u168d\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u168e\10\141\1\u0269\5\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\16\141\1\u168f\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1690\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\2\141\1\u09e1\1\141\1\u1691\1\141" + "\1\u1692\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u1693\7\141\1\u0b98\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1694\22\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\3\141\1\u1695\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1696\22\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u1697\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1698\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u0392\3\141\1\u1699\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u169a\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\10\141\1\u169b\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u169c\4\141\1\u0a3a\4\141\1\u169d" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u169e\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u169f\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u16a0\11\141\1\u03ec" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u16a1" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u16a2" + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0b1b" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u065d" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u16a3" + + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0993\6\141" + "\1\u16a4\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u16a5\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u16a6\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + + "\1\u16a7\3\141\1\u16a8\1\u16a9\1\u16aa\2\141\1\u16ab\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0f2a\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u16ac\24\141" @@ -8595,39 +8819,41 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0606" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u175e" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u175f" + "\2\141\1\u1760\7\141\1\u05cb\10\141\1\0\4\141\1\132" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u175f" + + "\2\141\1\u1760\7\141\1\u05cb\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u1761\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u1761\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u1762\10\141\1\0\4\141\1\132" + + "\2\141\14\0\16\141\1\u1762\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u0e0d\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\21\141\1\u0e0d\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u046c\26\141\1\0\4\141\1\132\4\0" + + "\2\141\14\0\1\u046c\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1763\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u1763\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u0b78\17\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u0f38\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u1207\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u1764\24\141\1\0\4\141\1\132" + + "\14\0\7\141\1\u0b78\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u0f38\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u1207\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u1218\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0c3b\24\141\1\0\4\141\1\132" + + "\2\141\14\0\2\141\1\u1764\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u1218\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u0821\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u1765\24\141\1\0\4\141\1\132" + + "\2\141\14\0\2\141\1\u0c3b\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u0821\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\12\141\1\u1766\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\13\141\1\u1767\13\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u1768\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u1769\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\2\141\14\0\2\141\1\u1765\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u1766\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\13\141\1\u1767\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u1768\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1769\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u176a\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u176a\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u09a2\26\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u05b7" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u09a2\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u05b7" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u176b\3\141\1\u05b7\2\141\1\u05b7\6\141\1\u176c\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u176d\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u176e\1\0\1\u05b7\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1434" + "\1\u176b\2\141\1\u08ae\1\u05b7\1\141\1\u176f\1\u1770\6\141" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1434" + + "\1\u176b\2\141\1\u08ae\1\u05b7\1\141\1\u176f\1\u1770\6\141" + "\1\u1771\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1772\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" @@ -8688,27 +8914,28 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u1787" + "\12\141\1\u1796\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u1797\1\u1798\1\u1799\2\141\1\u0396\4\141\1\u179a\1\u179b" + "\6\141\1\u179c\4\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\3\141\1\u0aec\3\141\1\132\10\0\6\141\1\0" + "\10\141\1\u179d\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\5\141\1\u179e\21\141\1\0\4\141\1\132\4\0" + + "\1\u1797\1\u1798\1\u1799\2\141\1\u0396\4\141\1\u179a\1\u179b" + + "\6\141\1\u179c\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\3\141\1\u0aec\3\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u179d\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u179f\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u17a0\2\141\1\u17a1\1\u064e\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\7\141\1\u040d\6\141\1\u0cc4\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u17a2\21\141" + + "\14\0\5\141\1\u179e\21\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u179f\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u17a0\2\141\1\u17a1\1\u064e\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u040d\6\141\1\u0cc4\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u05d1\12\141" + "\1\u044f\4\141\1\u045f\5\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\26\141\1\u06b5\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\u06b2\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u17a3\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\141\1\u05d1\4\141\1\u17a4\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u04ce\11\141\1\u044f\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u06b5\5\141\1\u17a5\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0ada\1\141" + + "\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u17a2\21\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u05d1\12\141" + + "\1\u044f\4\141\1\u045f\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\26\141\1\u06b5\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u06b2\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u17a3\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u05d1\4\141\1\u17a4\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\4\141\1\u04ce\11\141\1\u044f\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u06b5\5\141\1\u17a5\20\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0ada\1\141" + "\1\u17a6\1\141\1\u17a7\10\141\1\u17a8\1\u17a9\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u05a8\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" @@ -8735,74 +8962,75 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u17b9\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u17ba\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u17bb\2\141\1\u06ab\1\u17bc\1\u11b0\4\141\1\u05cb\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u17bd\22\141" + + "\1\u17bb\2\141\1\u06ab\1\u17bc\1\u11b0\4\141\1\u05cb\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u17be\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u17bf\17\141" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u17bd\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u17be\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u17c0\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u17c1\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u17bf\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u17c0\26\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u17c1\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u17c2\14\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u17c3\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u17c4\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\3\141\1\u107d\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\56\0\1\u17c5\3\0\1\u17c6\157\0" + + "\1\u17c7\117\0\1\u17c8\146\0\1\u0590\5\0\1\u07f1\44\0" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u17c9" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u17ca\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u17cb\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0f01\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\16\141\1\u17cc\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u17cd\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\21\141\1\u17ce\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u0915\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\11\141\1\u17cf\15\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u17d0\17\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u17d1\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\13\141\1\u1355\13\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u17d2\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\23\141\1\u03c6\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\12\141\1\u17c2\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u17c3\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u17c4\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u107d\23\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\56\0\1\u17c5\3\0\1\u17c6\157\0" + "\1\u17c7\117\0\1\u17c8\146\0\1\u0590\5\0\1\u07f1\44\0" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u17c9" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u17ca\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u17cb\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u0f01\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u17cc\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u17cd\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u17ce\5\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u0915\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\11\141\1\u17cf\15\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\7\141\1\u17d0\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u17d1\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\13\141\1\u1355\13\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u17d2\26\141\1\0\4\141" + + "\1\0\2\141\14\0\25\141\1\u0fd6\1\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u17d3\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\23\141\1\u03c6\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\25\141\1\u0fd6\1\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\7\141\1\u17d3\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u17d4\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\141\1\u040f\1\u17d5\1\u17d6\1\u17d7" + "\1\141\1\u17d8\1\141\1\u17d9\1\141\1\u17da\6\141\1\u17db" + + "\1\0\2\141\14\0\4\141\1\u17d4\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u040f\1\u17d5\1\u17d6\1\u17d7" + + "\1\141\1\u17d8\1\141\1\u17d9\1\141\1\u17da\6\141\1\u17db" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u17dc" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u17dd" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u17de" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u047b" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u103b" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u17dc" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u17dd" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u17de" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u047b" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u17df" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u17e0" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u103b" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u17df" - + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u17e0" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u17e1" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u17e1" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1300" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1300" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u17e2" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u1300" + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u17e3" - + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0ed9" + "\10\141\1\u17e4\14\141\1\0\4\141\1\132\4\0\12\141" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u17e2" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u1300" + + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u17e3" + "\11\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u0ed9" + + "\10\141\1\u17e4\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u17e5\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\16\141\1\u17e5\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u17e6\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\1\u17e7" + "\6\141\1\132\10\0\6\141\1\0\10\141\1\u17e8\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u0393\5\141\1\u17e9\1\u0f85\3\141\1\u17ea\11\141" + + "\4\141\1\u17e6\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\1\u17e7" + + "\6\141\1\132\10\0\6\141\1\0\10\141\1\u17e8\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u0393\5\141\1\u17e9\1\u0f85\3\141\1\u17ea\11\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u17eb\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u15d5\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0cb8\14\141" @@ -9125,19 +9353,20 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\14\0\11\141\1\u0836\15\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u189c\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u189d\5\141\1\u189e\2\141\1\u189f\1\u18a0" + "\2\141\1\u18a1\2\141\1\u18a2\4\141\1\0\4\141\1\132" + + "\14\0\2\141\1\u189d\5\141\1\u189e\2\141\1\u189f\1\u18a0" + + "\2\141\1\u18a1\2\141\1\u18a2\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u18a3\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u18a3\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u0d4a\10\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u18a4\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u0945\23\141\1\0\4\141\1\132\4\0" + + "\2\141\14\0\16\141\1\u0d4a\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u18a4\26\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u18a5\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\u18a6\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u18a7" - + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0393" + "\1\u0a3a\1\141\1\u155c\1\141\1\u12ec\1\141\1\u18a8\10\141" + + "\14\0\3\141\1\u0945\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u18a5\26\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\u18a6\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u18a7" + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0393" + + "\1\u0a3a\1\141\1\u155c\1\141\1\u12ec\1\141\1\u18a8\10\141" + "\1\u18a9\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u18aa\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0a66" @@ -9272,7 +9501,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1485\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u18f5\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u175c\1\141\1\u18f6\5\141\1\u1715\3\141\1\u0610\5\141" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\u175c\1\141\1\u18f6\5\141\1\u1715\3\141\1\u0610\5\141" + "\1\u1716\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u0fec" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0e8f\2\141" @@ -9549,7 +9779,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u1987\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u0461\1\141\1\u1988\4\141\1\u1989\1\141\1\u0610\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u0461\1\141\1\u1988\4\141\1\u1989\1\141\1\u0610\1\141" + "\1\u0464\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u198a\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" @@ -9638,231 +9869,232 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\u19b6\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u19b7\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u19b8" - + "\3\141\1\u08d0\1\141\1\u045c\3\141\1\u19b9\1\u060f\2\141" + "\1\u0464\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u19ba\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u19bb\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\3\141\1\u08d0\1\141\1\u045c\3\141\1\u19b9\1\u060f\2\141" + + "\1\u0464\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u19ba\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u19bb\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u19bc\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u19bc\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u05b0\14\141\1\u19bd\5\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u19be\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\11\141\1\u0699\15\141\1\0\4\141\1\132\4\0\12\141" + + "\1\u05b0\14\141\1\u19bd\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u19be\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\10\141\1\u19bf\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u19c0\26\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" - + "\1\u19c1\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u098a" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u19c2\16\141" + + "\11\141\1\u0699\15\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u19bf\16\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\u19c0\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" + "\1\u19c1\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u098a" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u19c3\6\141\1\u0c97" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u19c4" + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u19c2\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u19c3\6\141\1\u0c97" + + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u19c4" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u19c5" + + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u19c6" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u090a\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0768" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u19c5" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u19c6" - + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u090a\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0768" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u116d" - + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u0b8b\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u19c7\24\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u116d" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u0b8b\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u19c8\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u19c9\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u19ca\1\0\1\132\1\u015c\1\141" + + "\1\141\1\0\2\141\14\0\2\141\1\u19c7\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u19c8\23\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u19c9\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\u19ca\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\16\141\1\u19cb\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u19cc\24\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u1207\5\141\1\u11b0\5\141\1\u19cd\3\141" + "\1\u19ce\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + + "\1\u19cf\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u19d0\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u19d1" + + "\7\141\1\u19d2\2\141\1\u19d3\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\23\141\1\u046a\3\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u19d4\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u19cb\10\141\1\0\4\141\1\132\4\0" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u19d5\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u19cc\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1207\5\141\1\u11b0\5\141\1\u19cd\3\141" - + "\1\u19ce\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u19cf\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\14\0\1\u19d6\10\141\1\u182d\1\u19d7\5\141\1\u19d8\6\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u19d9\23\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u19da\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u19db\20\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u19dc\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0bc5\5\141\1\u19dd\1\141" + + "\1\u19de\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u19bc\5\141\1\u19df\14\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\24\141\1\u1485\2\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u19e0\17\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u19e1\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\5\141\1\u19da\21\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u19e2\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u19e3" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" - + "\1\u19d0\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u19d1" + "\7\141\1\u19d2\2\141\1\u19d3\13\141\1\0\4\141\1\132" + + "\1\u19e4\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u19e5\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u19e6\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u0b0b\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + + "\1\u19e7\21\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u138a\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + + "\1\u138a\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0b64\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u19e8\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u19e9\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u19ea\2\141" + + "\1\u103a\13\141\1\u19eb\1\u19ec\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\15\141\1\u19ed\11\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\23\141\1\u046a\3\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u19d4\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u19d5\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u19d6\10\141\1\u182d\1\u19d7\5\141\1\u19d8\6\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u19d9\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u19da\4\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u19db\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u19dc\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\2\141\14\0\4\141\1\u0bf1\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u19ee\17\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\16\141\1\u19ef\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u19f0\23\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u19f1\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u0eda\17\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u19f2\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u19f3\12\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\141\1\u19f4\25\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\11\141\1\u19f5\15\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\6\141\1\u1844\12\141\1\u19f6\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u19f7\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u0bc5\5\141\1\u19dd\1\141" + "\1\u19de\16\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u19bc\5\141\1\u19df\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\24\141\1\u1485\2\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u19e0\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u19e1\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\5\141\1\u19da\21\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u19e2\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u19e3" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\1\141\1\0\2\141\14\0\10\141\1\u19f8\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u19f9\17\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u19fa\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u19fb\25\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u19fc\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u19fd\26\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u19fe\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u19ff\14\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u1a00\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u19e4\17\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u19e5\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u19e6\12\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" - + "\1\u0b0b\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + "\1\u19e7\21\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u1a01\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u138a\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u138a\5\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u0b64\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u19e8\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u19e9\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u19ea\2\141" + "\1\u103a\13\141\1\u19eb\1\u19ec\4\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\15\141\1\u19ed\11\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0bf1\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u19ee\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u19ef\10\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u19f0\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u19f1\23\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u0eda\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u19f2\23\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\14\141\1\u19f3\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u19f4\25\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\11\141\1\u19f5\15\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u1844\12\141\1\u19f6\5\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\21\141\1\u19f7\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u19f8\16\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\7\141\1\u19f9\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u19fa\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\141\1\u19fb\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u19fc\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u19fd\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u19fe\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\1\u0afc\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1a02\3\141\1\u1a03\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\12\141\1\u19ff\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u1a00\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" - + "\1\u1a01\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0afc\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u1a02\3\141\1\u1a03\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u1a04\16\141\1\0\4\141\1\132\4\0" + + "\14\0\10\141\1\u1a04\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\22\141\1\u084f\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\22\141\1\u084f\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u1a05\10\141\1\0\4\141\1\132\4\0" + + "\14\0\16\141\1\u1a05\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\13\141\1\u08bb\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\13\141\1\u08bb\13\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u1a06\23\141\1\0\4\141\1\132\4\0" + + "\14\0\3\141\1\u1a06\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u1a07\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u1a07\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\1\u1a08\6\141\1\132\10\0\6\141\1\0\10\141\1\u1a09" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\10\141\1\u0269\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u1a0a\23\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1a0b\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u1a0c\16\141\1\0\4\141\1\132\4\0\12\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\1\u1a08\6\141\1\132\10\0\6\141\1\0\10\141\1\u1a09" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u0269\16\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\3\141\1\u1a0a\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u1a0b\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1a0d\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1a0e" + + "\10\141\1\u1a0c\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1a0d\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1a0e" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1a0f\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1a10" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u1a11\11\141\1\u12bc\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1a12\22\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\3\141\1\u1a13\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u1a14\16\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\20\141\1\u1a15\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u1a16\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\u1a17\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\13\141\1\u1a18\13\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\14\141\1\u1a19\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u1a1a\23\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\22\141\1\u1a1b\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1a1c" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u1a1d\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1290\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" + + "\1\u1a1e\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u166e\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1a1f\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1a20\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + + "\1\u1a21\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1a22\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u1a0f\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1a10" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1a11\11\141\1\u12bc\6\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u1a12\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u1a13\23\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\10\141\1\u1a14\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\20\141\1\u1a15\6\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u1a16\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u1a17\26\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\13\141\1\u1a18\13\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u1a19\12\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u1a1a\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\22\141\1\u1a1b\4\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1a1c" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1a1d\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u1290\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" + "\1\u1a1e\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\u1a23\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u1a24\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u166e\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1a1f\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u1a20\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u1a21\17\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u1a22\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1a23\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\u1a25\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u1a26\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" - + "\1\u1a24\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1a25\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" - + "\1\u1a26\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u1a27\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" - + "\1\u1a28\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1a29\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u15f9\6\141\1\u1a2a\5\141\1\u1a2b\7\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1a2c\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u1a2d\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u1a2e\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\141\1\u076a\1\u1a2f\2\141\1\u1a30\1\141" + "\1\u12ec\2\141\1\u164f\4\141\1\u1a31\7\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\22\141\1\u1a32\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u1a33\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\16\141\1\u1a34\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u1a35\12\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u1a36\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u0d27\12\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\141\1\u0614\25\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\10\141\1\u1a37\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1a38\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u0e8f\23\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1a39" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u1a3a\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\u1a27\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u1a28\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u1a3b\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1a3c\23\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1a3d" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u1a3e\3\141\1\u1a3f" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u1a40\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u1a41\11\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u1a42\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\1\u1a29\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u15f9\6\141\1\u1a2a\5\141\1\u1a2b\7\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u1a2c\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1a2d\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u1a2e\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u076a\1\u1a2f\2\141\1\u1a30\1\141" + + "\1\u12ec\2\141\1\u164f\4\141\1\u1a31\7\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\22\141\1\u1a32\4\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u1a33\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u1a34\10\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\14\141\1\u1a35\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u1a36\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\14\141\1\u0d27\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u0614\25\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u1a37\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u1a38\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u0e8f\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1a39" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + + "\1\u1a3a\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1a3b\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u1a3c\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1a3d" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u1a3e\3\141\1\u1a3f" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u1a40\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\15\141\1\u1a41\11\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1a42\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1a43\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1a43\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u1a44\20\141\1\0" + + "\1\141\1\0\2\141\14\0\6\141\1\u1a44\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\5\141\1\u1549\21\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\5\141\1\u1549\21\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u15f9\6\141\1\u1a45" + + "\1\141\1\0\2\141\14\0\2\141\1\u15f9\6\141\1\u1a45" + "\2\141\1\u1a46\1\141\1\u0d02\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u1a47\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" @@ -10024,96 +10256,97 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1aa2" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1aa3" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0687" + "\4\141\1\u0411\1\u090e\3\141\1\u153d\5\141\1\u1716\4\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u14e4\2\141\1\u0e8f" + "\2\141\1\u05dd\7\141\1\u05cb\10\141\1\0\4\141\1\132" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u0687" + + "\4\141\1\u0411\1\u090e\3\141\1\u153d\5\141\1\u1716\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u14e4\2\141\1\u0e8f" + + "\2\141\1\u05dd\7\141\1\u05cb\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u1aa4\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\14\141\1\u1aa4\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u1aa5\20\141\1\0\4\141\1\132" + + "\2\141\14\0\6\141\1\u1aa5\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u1aa6\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\2\141\1\u1aa6\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u1aa7\17\141\1\0\4\141\1\132" + + "\2\141\14\0\7\141\1\u1aa7\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u0485\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u0485\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\23\141\1\u1aa4\3\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u1aa8\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1aa9\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1aaa" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1aab\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1aac" - + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u1aad" + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u1aae" - + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1aaf" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\4\141\1\u1ab0\4\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1ab1\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u1ab2\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u1ab3\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\20\141\1\u0ff4\6\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\10\141\1\u1ab4\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u1ab5\14\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u1ab6\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u1ab7\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\21\141\1\u0a70\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u1ab8\10\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\10\141\1\u1ab9\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u0e88\5\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u1aba\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u1abb\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\2\141\14\0\23\141\1\u1aa4\3\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\u1aa8\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u1abc\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1abd\23\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u1abe\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1abf\20\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141" - + "\1\u1ac0\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1abf\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u1ac1\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u1ac2\16\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" - + "\1\u1ac3\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u1ac4\25\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1ac5" - + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u10d8\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\13\141\1\u1ac6\13\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u1ac7\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1ac8\16\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1ac9\1\0\1\141\1\0" + + "\4\141\1\u1aa9\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1aaa" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1aab\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1aac" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u1aad" + + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u1aae" + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1aaf" + + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\4\141\1\u1ab0\4\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1ab1\26\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1ab2\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u0ddf\1\141\1\u0409" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u1aca" + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u175d\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u0262\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u0411\17\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u06f5\1\0\1\141\1\0\1\132\1\u015c" + + "\6\141\1\0\10\141\1\u1ab3\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\20\141\1\u0ff4\6\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u1ab4\16\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\12\141\1\u1ab5\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1ab6\10\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u1ab7\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u0f38\24\141\1\0\4\141\1\132" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u0a70\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\16\141\1\u1acb\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u12c9\23\141\1\0\4\141\1\132" + + "\2\141\14\0\16\141\1\u1ab8\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u1ab9\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\14\141\1\u1acc\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\15\141\1\u1acd\11\141\1\0\4\141\1\132" + + "\2\141\14\0\21\141\1\u0e88\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u1aba\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1abb\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u1abc\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u1abd\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1abe\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u1abf\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141" + "\1\u1ac0\7\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u1abf\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1ac1\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + + "\1\u1ac2\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u1ac3\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + + "\1\u1ac4\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1ac5" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u10d8\26\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\13\141\1\u1ac6\13\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u1ac7\10\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1ac8\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u1ac9\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u0ddf\1\141\1\u0409" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u1aca" + + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u175d\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\u0262\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\7\141\1\u0411\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u06f5\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\23\141\1\u1ace\3\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u0ddc\20\141\1\0\4\141\1\132" + + "\2\141\14\0\2\141\1\u0f38\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u1acb\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u12c9\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u1acc\12\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\15\141\1\u1acd\11\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\23\141\1\u1ace\3\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\6\141\1\u0ddc\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\13\141\1\u05b7\1\u087a\1\141\1\u1acf\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0392\2\141\1\u05d1" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u05b7\1\0" @@ -10208,421 +10441,423 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1afb\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u1afc\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + "\1\u0d70\2\141\1\u1523\1\141\1\u1afd\1\u1523\13\141\1\0" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + + "\1\u0d70\2\141\1\u1523\1\141\1\u1afd\1\u1523\13\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u1afe\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\21\141\1\u1afe\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1aff\22\141\1\0" + + "\1\141\1\0\2\141\14\0\4\141\1\u1aff\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1b00\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1b00\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u1b01\14\141\1\0" + + "\1\141\1\0\2\141\14\0\12\141\1\u1b01\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\25\141\1\u1b02\1\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\25\141\1\u1b02\1\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u1b03\11\141\1\0" + + "\1\141\1\0\2\141\14\0\15\141\1\u1b03\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u1b04\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\21\141\1\u1b04\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u06fc\12\141\1\0" + + "\1\141\1\0\2\141\14\0\14\141\1\u06fc\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1b05\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1b05\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1b06\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u1b07\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u040d\6\141\1\u1b08\10\141" + + "\1\141\1\0\2\141\14\0\2\141\1\u1b06\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1b07\26\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\7\141\1\u040d\6\141\1\u1b08\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u1b09\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u1b09\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u1b0a\1\141" + + "\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u1b0a\1\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1b0b\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1b0b\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u1b0c\4\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u1b0d\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1b0e\10\141\1\0\4\141" + + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u1b0c\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\u1b0d\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u1b0f\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u0db6\22\141\1\0\4\141" + + "\1\0\2\141\14\0\16\141\1\u1b0e\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1b0f\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u0dcc\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1b10\22\141\1\0\4\141" + + "\1\0\2\141\14\0\4\141\1\u0db6\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u0dcc\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u08f6\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\5\141\1\u0a3a\21\141\1\0\4\141" + + "\1\0\2\141\14\0\4\141\1\u1b10\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u08f6\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\20\141\1\u1b11\6\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\15\141\1\u132b\11\141\1\0\4\141" + + "\1\0\2\141\14\0\5\141\1\u0a3a\21\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\20\141\1\u1b11\6\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u1b12\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u1b13\20\141\1\0\4\141" + + "\1\0\2\141\14\0\15\141\1\u132b\11\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1b12\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\10\141\1\u1b14\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u1b15\20\141\1\0\4\141" + + "\1\0\2\141\14\0\6\141\1\u1b13\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u1b14\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\7\141\1\u1b16\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1b17\10\141\1\0\4\141" + + "\1\0\2\141\14\0\6\141\1\u1b15\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u1b16\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u1b18\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1b19\10\141\1\0\4\141" + + "\1\0\2\141\14\0\16\141\1\u1b17\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1b18\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u1b1a\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\13\141\1\u1b1b\13\141\1\0\4\141" + + "\1\0\2\141\14\0\16\141\1\u1b19\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u1b1a\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u1b1c\5\141\1\u1b1d\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1b1e\23\141\1\0" + + "\1\0\2\141\14\0\13\141\1\u1b1b\13\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u1b1c\5\141\1\u1b1d\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u1b1f\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u1b20\20\141\1\u047b" - + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u1b21" + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u1b22" - + "\2\141\1\u1b23\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\24\141\1\u1b24\2\141\1\0\4\141\1\132\4\0\12\141" + + "\1\141\1\0\2\141\14\0\3\141\1\u1b1e\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u1b1f\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\141\1\u1b20\20\141\1\u047b" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u1b21" + + "\25\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u1b22" + "\2\141\1\u1b23\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u1b25\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u1315\20\141\1\0\4\141\1\132\4\0\12\141" + + "\24\141\1\u1b24\2\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u1b25\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\7\141\1\u109d\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b26" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u1b27\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" + "\1\u1b28\15\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" - + "\1\u1b29\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u1b2a\16\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1b2b" - + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1b2c\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1b2d\14\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0e8f\2\141" + "\1\u1a11\7\141\1\u05cb\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u1b2e\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1b2f\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\141\1\u0d65\12\141\1\u09a2\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u102f\2\141\1\u09fc\1\u040d" - + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u1b30\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1b31\23\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u06bb\2\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1b32\22\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u151f\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1b33\24\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1b34\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\u04ce\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u1b35\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\26\141\1\u0269\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\21\141\1\u1391\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u1b36\24\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1b37\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u1b38\14\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\141\1\u1b39\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u1b3a\25\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\21\141\1\u0f95\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1b3b\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\6\141\1\u1b3c\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u1b3d\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b3e" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\6\141\1\u1315\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u109d\17\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b26" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1b3f\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" - + "\1\u1b40\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1b41\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u1b42\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u097d\4\141\1\u1b43\20\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\4\141\1\u1b44\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\24\141\1\u1b45\2\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u1b46\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1b47\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u1b48\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b49\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u05b7" - + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1b4a" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u1b4b" - + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1b4c" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u1b4d\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u099e\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u1b4e\14\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u19bc\5\141\1\u1b4a" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u048b" - + "\3\141\1\u1b4f\3\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u1b50\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\10\141\1\u1b51\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b52" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u1b53\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1b54\2\141\1\u1b55\1\141\1\u0411\1\u048b\3\141\1\u0610" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0e8f" + "\1\141\1\u1b56\1\u0e91\1\u1b57\6\141\1\u05cb\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u1b58\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\11\141\1\u08f6\15\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u1b59\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u1b5a\20\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u0f61\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u0868\16\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u1b5b\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1b5c\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u1b5d\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\5\141\1\u1ac8\21\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\7\141\1\u1b5e\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u1b5f\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u1b60\26\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b61" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u19f7\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u1b62\17\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u1b63\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + "\1\u1b64\4\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" - + "\1\u1b65\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1b66\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" - + "\1\u0cf6\3\141\1\u0396\21\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\20\141\1\u12a7\6\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u1b67\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u1b68\20\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u04ce\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u0392\25\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1b69\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u1b6a\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u1b6b\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u1b6c\5\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" - + "\1\u1b6d\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u1b6e\5\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" - + "\1\u1b6f\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1b70" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1a11\20\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u1b71\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b72\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u0ea0" - + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1b73" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u1a11" - + "\11\141\1\u12bc\6\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u1171\16\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u1b74\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u1b75\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u1b76\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1b77\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" - + "\1\u1b78\21\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + "\1\u1b79\2\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1b7a" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1b7b\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1b7c\16\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u1b7d\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\6\141\1\u1b7e\1\132\10\0" + "\6\141\1\0\10\141\1\u1b7f\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u1b80\26\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0899\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u1b81\23\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u1b82\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\5\141\1\u1b83\21\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1b84\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b85" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" - + "\1\u1b86\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + "\1\u1b87\4\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u1b88\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1b89\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u1b8a\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u1b8b\17\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u1b8c\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1b8d\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141" - + "\1\u1b8e\1\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1b8f\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u1b90\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1b91" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1b92" - + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1b93" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0881" - + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1271" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u1b94" - + "\21\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1b95" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u05dd" - + "\5\141\1\u0610\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u175f\2\141\1\u05dd\20\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\10\141\1\u1b96\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u1b97\16\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\13\141\1\u1b98\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u1b99\22\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\7\141\1\u1b9a\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u0b16\16\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\14\141\1\u1b9b\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u1b9c\1\141\1\u1b9d\14\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1b9e\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u1b9d\14\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1b9f\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1ba0\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\7\141\1\u1ba1\17\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u1ba2\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u0919\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1ba3\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\12\141\1\u1ba4\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\20\141\1\u0afc\6\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\13\141\1\u1ba5\13\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1ba6\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1ba7\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1ba8\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\25\141\1\u1ba9\1\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1baa\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u1bab\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u173c\12\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\7\141\1\u1bac\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1bad\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\24\141\1\u1bae\2\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\22\141\1\u0485\4\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\2\141\1\u1baf\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u047b\17\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u1bb0\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u1bb1\12\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u1bb2\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\21\141\1\u1bb3\5\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u1bb4\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1bb5\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\14\141\1\u04a1\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u1bb6\12\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\23\141\1\u1bb7\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u18b7\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\10\141\1\u1bb8\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u1a82\24\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u1872\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\u1bb9\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\14\141\1\u1bba\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u1bbb\16\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u12d9\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u1bbc\25\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u1bbd\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u1bbe\12\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\15\141\1\u03d4\11\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\15\141\1\u1bbf\11\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u12f1\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\11\141\1\u0b10\15\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u1bc0\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u05d8\14\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\10\141\1\u1bc1\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u1bc2\16\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1bc3" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u1bc4\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1b27\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" - + "\1\u1bc5\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1bc6\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1bc7" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0add" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u1bc8" - + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1bc9" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1bca" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u0ad5" + "\4\141\1\u139b\11\141\1\u1213\2\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u1bcb\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u0913\17\141\1\0\4\141\1\132\4\0" + + "\1\u1b28\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u1b29\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + + "\1\u1b2a\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1b2b" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1b2c\26\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1b2d\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0e8f\2\141" + + "\1\u1a11\7\141\1\u05cb\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1b2e\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\23\141\1\u1bcc\3\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1bcd\22\141\1\0\4\141\1\132\4\0" + + "\14\0\4\141\1\u1b2f\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u0d65\12\141\1\u09a2\12\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\3\141\1\u102f\2\141\1\u09fc\1\u040d" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u1b30\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1b31\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u06bb\2\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1b32\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u151f\20\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1b33\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1b34\14\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\u04ce\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u1b35\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\26\141\1\u0269\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\21\141\1\u1391\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\141\1\u1bce\25\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u1bcf\16\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u1bd0\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\10\141\1\u11a8\16\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1bd1\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\21\141\1\u05b1\5\141\1\0\4\141\1\132\4\0\12\141" + + "\14\0\2\141\1\u1b36\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u1b37\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1bd2\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u0269\3\141\1\u08f6\12\141\1\0\4\141\1\132" + + "\12\141\1\u1b38\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u1b39\25\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\141\1\u1b3a\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\21\141\1\u0f95\5\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u1b3b\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u1b3c\20\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u1b3d\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b3e" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u1b3f\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u1b40\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u1b41\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1b42\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + + "\1\u097d\4\141\1\u1b43\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1b44\22\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\24\141\1\u1b45\2\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u1b46\26\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u1b47\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u1b48\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b49\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u05b7" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1b4a" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u1b4b" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1b4c" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u1b4d\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u099e\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\12\141\1\u1b4e\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u19bc\5\141\1\u1b4a" + + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\17\141\1\u048b" + "\3\141\1\u1b4f\3\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\16\141\1\u1b50\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u1b51\16\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b52" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1b53\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1b54\2\141\1\u1b55\1\141\1\u0411\1\u048b\3\141\1\u0610" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u0e8f" + + "\1\141\1\u1b56\1\u0e91\1\u1b57\6\141\1\u05cb\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u1b58\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\11\141\1\u08f6\15\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1b59\23\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\6\141\1\u1b5a\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u0f61\26\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\10\141\1\u0868\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1b5b\10\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u1b5c\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1b5d\10\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\5\141\1\u1ac8\21\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u1b5e\17\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u1b5f\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u1b60\26\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b61" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u19f7\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + + "\1\u1b62\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1b63\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + + "\1\u1b64\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u1b65\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1b66\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u0cf6\3\141\1\u0396\21\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\20\141\1\u12a7\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u1b67\24\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\6\141\1\u1b68\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u04ce\23\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\1\141\1\u0392\25\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u1b69\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u1b6a\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u1b6b\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + + "\1\u1b6c\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + "\1\u1b6d\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + + "\1\u1b6e\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u1b6f\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1b70" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + + "\1\u1a11\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1b71\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b72\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u0ea0" + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1b73" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u1a11" + "\11\141\1\u12bc\6\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\10\141\1\u1171\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1b74\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\16\141\1\u1b75\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u1b76\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u1b77\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141" + "\1\u1b78\21\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + + "\1\u1b79\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1b7a" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1b7b\14\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1b7c\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u1b7d\20\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\6\141\1\u1b7e\1\132\10\0" + + "\6\141\1\0\10\141\1\u1b7f\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\u1b80\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0899\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0705\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\11\141\1\u1bd3\15\141\1\0\4\141\1\132" + + "\2\141\14\0\3\141\1\u1b81\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\u1b82\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\5\141\1\u1b83\21\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1b84\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1b85" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u1b86\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + + "\1\u1b87\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1b88\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1b89\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1b8a\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + + "\1\u1b8b\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1b8c\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1b8d\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141" + "\1\u1b8e\1\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1b8f\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1b90\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1b91" + + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1b92" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1b93" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u0881" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1271" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u1b94" + "\21\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1b95" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u05dd" + "\5\141\1\u0610\12\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u175f\2\141\1\u05dd\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u1b96\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\12\141\1\u1bd4\14\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u18e8\16\141\1\0\4\141\1\132" + + "\2\141\14\0\10\141\1\u1b97\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\13\141\1\u1b98\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\4\141\1\u1bd5\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u1bd6\10\141\1\0\4\141\1\132" + + "\2\141\14\0\4\141\1\u1b99\22\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\7\141\1\u1b9a\17\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\16\141\1\u1bd7\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\11\141\1\u1bd8\15\141\1\0\4\141\1\132" + + "\2\141\14\0\10\141\1\u0b16\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u1b9b\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\10\141\1\u1b9c\1\141\1\u1b9d\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1b9e\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\12\141\1\u1b9d\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1b9f\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u1ba0\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\7\141\1\u1ba1\17\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\16\141\1\u1ba2\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u0919\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u1ba3\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u1ba4\14\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\20\141\1\u0afc\6\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\13\141\1\u1ba5\13\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u1ba6\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1ba7\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u1ba8\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\25\141\1\u1ba9\1\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u1baa\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1bab\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\14\141\1\u173c\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u1bac\17\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u1bad\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\24\141\1\u1bae\2\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\22\141\1\u0485\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u1baf\24\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\7\141\1\u047b\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u1bb0\20\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\14\141\1\u1bb1\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1bb2\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\21\141\1\u1bb3\5\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1bb4\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u1bb5\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u04a1\12\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\14\141\1\u1bb6\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\23\141\1\u1bb7\3\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u18b7\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\10\141\1\u1bb8\16\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\2\141\1\u1a82\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u1872\23\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u1bb9\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\14\141\1\u1bba\12\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\10\141\1\u1bbb\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u12d9\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\141\1\u1bbc\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1bbd\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\14\141\1\u1bbe\12\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\15\141\1\u03d4\11\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\15\141\1\u1bbf\11\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u12f1\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\11\141\1\u0b10\15\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1bc0\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\12\141\1\u05d8\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u1bc1\16\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\10\141\1\u1bc2\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1bc3" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + + "\1\u1bc4\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141" + "\1\u1bc5\15\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1bc6\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1bc7" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u0add" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u1bc8" + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1bc9" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1bca" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\5\141\1\u0ad5" + + "\4\141\1\u139b\11\141\1\u1213\2\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u1bcb\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\7\141\1\u0913\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\23\141\1\u1bcc\3\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\4\141\1\u1bcd\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\141\1\u1bce\25\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\10\141\1\u1bcf\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u1bd0\24\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\10\141\1\u11a8\16\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + + "\1\u1bd1\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\21\141\1\u05b1\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1bd2\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\10\141\1\u0269\3\141\1\u08f6\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u0705\23\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\11\141\1\u1bd3\15\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\12\141\1\u1bd4\14\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\10\141\1\u18e8\16\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\4\141\1\u1bd5\22\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\16\141\1\u1bd6\10\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\16\141\1\u1bd7\10\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\11\141\1\u1bd8\15\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u166f\1\141\1\u1bd9\1\u1bda\1\u0903" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u1bdb" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u1bdc\1\0\1\141" @@ -10960,7 +11195,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u1c72" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1c73" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u1739\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0"; + + "\1\132\10\0\6\141\1\0\10\141\1\u1739\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0"; private static final String ZZ_TRANS_PACKED_6 = "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1c74\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" @@ -11136,22 +11372,23 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\4\141\1\u1be8\6\141\1\u1cc8\1\u0a66\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u1cc9\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\3\141\1\u0461\1\u1be8\1\u0d70\4\141\1\u1cca" + "\7\141\1\u084f\4\141\1\0\4\141\1\132\4\0\12\141" + + "\2\141\14\0\3\141\1\u0461\1\u1be8\1\u0d70\4\141\1\u1cca" + + "\7\141\1\u084f\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1ccb\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1ccb\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1ccc\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\7\141\1\u1ccd\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1cce" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" - + "\1\u1ccf\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1cd0\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u1cd1\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1cd2\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u1cd3\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0393\1\u1cd4\1\u0db7\2\141\1\u12ec\1\141\1\u06b4\1\u1cd5" + + "\4\141\1\u1ccc\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u1ccd\17\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1cce" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + "\1\u1ccf\25\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1cd0\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1cd1\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1cd2\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1cd3\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u0393\1\u1cd4\1\u0db7\2\141\1\u12ec\1\141\1\u06b4\1\u1cd5" + "\7\141\1\u0eee\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u1cd6\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1cd7" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" @@ -11174,112 +11411,113 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\141\1\0\2\141\14\0\15\141\1\u0455\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u08f5\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1cdc\3\141\1\u1cdd" + "\1\141\1\u1cde\1\141\1\u1cdf\5\141\1\u1ce0\6\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\141\1\u11ea\1\141\1\u1ce1" + "\16\141\1\u08ef\4\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u1ce2\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1ce3" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u0b16\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u1ce4\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1ce5\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u134a\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u03c3\22\141" + + "\1\141\1\0\2\141\14\0\2\141\1\u1cdc\3\141\1\u1cdd" + + "\1\141\1\u1cde\1\141\1\u1cdf\5\141\1\u1ce0\6\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u11ea\1\141\1\u1ce1" + + "\16\141\1\u08ef\4\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u1ce2\23\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1ce3" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u0b16\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + + "\1\u1ce4\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1ce5\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u134a\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1ce6\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1ce7\24\141" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u03c3\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1ce6\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u153d\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1ce8\2\141" - + "\1\u1ce9\21\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u1cea\16\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1212" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u1ceb\12\141\1\u1cec\5\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u1ced\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1212" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" - + "\1\u1cec\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + "\1\u1cee\16\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u1cef\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + "\1\u1cf0\12\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" - + "\1\u1cf1\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1cf2" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1112" - + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1cf3" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1cf4" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u1cf5" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1cf6" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u1cf7\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u1cf8\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\141\1\u1cf9\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u1cfa\16\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\15\141\1\u1cfb\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u1cfc\25\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u0610\7\141\1\u06ec" + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u1cfd" - + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u1cfe" + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u1cff" - + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1d00" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1d01" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u1d02" + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u03ec" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u1d03" + "\2\141\1\u1d04\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u1d05\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\141\1\u1d06\25\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\10\141\1\u1d07\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u1d08\17\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\2\141\1\u1d09\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u1d0a\14\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u044e\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1d0b\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" - + "\1\u1d0c\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" + "\1\u082f\13\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" - + "\1\u1c6a\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1d0d\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1d0e" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1ce7\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u153d\12\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1ce8\2\141" + "\1\u1ce9\21\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + + "\1\u1cea\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1212" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1ceb\12\141\1\u1cec\5\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u1ced\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1212" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u1cec\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141" + + "\1\u1cee\16\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1cef\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141" + + "\1\u1cf0\12\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u1cf1\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1cf2" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1d0f" + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0c93" - + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u0b78" + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0b1f\26\141" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1112" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1cf3" + + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1cf4" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u1cf5" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1cf6" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\10\141\1\u1cf7\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1cf8\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u1cf9\25\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\10\141\1\u1cfa\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u1cfb\11\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\141\1\u1cfc\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u0610\7\141\1\u06ec" + + "\2\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u1cfd" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\11\141\1\u1cfe" + + "\15\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u1cff" + "\4\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1d00" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1d01" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u1d02" + + "\10\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u03ec" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141\1\u1d03" + + "\2\141\1\u1d04\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1d05\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\1\141\1\u1d06\25\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u1d07\16\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\7\141\1\u1d08\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1d09\24\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\12\141\1\u1d0a\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u044e\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u1d0b\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u1d0c\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\13\141" + + "\1\u082f\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + "\1\u1c6a\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u1d0d\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1d0e" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1d0f" + + "\23\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0c93" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u0b78" + + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0b1f\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1d10\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1d10\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0925\12\141" - + "\1\u0927\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u1d11\10\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" - + "\1\u1d12\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1d13" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u1d14\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u0925\12\141" + "\1\u0927\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + + "\1\u1d11\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" + "\1\u1d12\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u1d13" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1d14\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u17ea\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\15\141\1\u17ea\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1d15\23\141\1\0" + + "\1\141\1\0\2\141\14\0\3\141\1\u1d15\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u1d16\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\12\141\1\u1d16\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u19ea\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\u1d17\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\u19d1\7\141\1\u19d2\1\141\1\u0208\1\u1d18" + + "\1\141\1\0\2\141\14\0\1\u19ea\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u1d17\26\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u19d1\7\141\1\u19d2\1\141\1\u0208\1\u1d18" + "\2\141\1\u0464\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\11\141\1\u1d19\15\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" @@ -11550,47 +11788,49 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\2\141\14\0\25\141\1\u1da6\1\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1da7\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\10\141\1\u0818\2\141\1\u1da8\3\141" + "\1\u0a53\2\141\1\u0830\2\141\1\u1da9\1\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\3\141\1\u0aec\3\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u1daa\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u1dab\2\141" + + "\1\0\2\141\14\0\10\141\1\u0818\2\141\1\u1da8\3\141" + + "\1\u0a53\2\141\1\u0830\2\141\1\u1da9\1\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\3\141\1\u0aec\3\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\22\141\1\u1daa\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u1dac\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1dad\16\141" + + "\1\u015c\1\141\1\0\2\141\14\0\24\141\1\u1dab\2\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u1dac\20\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u060b\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u18e3\23\141" + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1dad\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u060b\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1dae\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1daf\16\141" + + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u18e3\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1dae\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1db0\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u1db1\5\141" + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1daf\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1db0\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1db2\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0679\12\141" + + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u1db1\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1db2\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\1\u0bc5\2\141\1\u1db3" + "\4\141\1\u1db4\2\141\1\u1db5\6\141\1\u08ef\4\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u1db6\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\15\141\1\u1db7\11\141\1\0\4\141" + + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u0679\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u0bc5\2\141\1\u1db3" + + "\4\141\1\u1db4\2\141\1\u1db5\6\141\1\u08ef\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1db6\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\141\1\u1b9a\25\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1db8\22\141\1\0\4\141" + + "\1\0\2\141\14\0\15\141\1\u1db7\11\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u1b9a\25\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\7\141\1\u1db9\17\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u1dba\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u19d6\1\u1dbb\4\141\1\u1dbc\1\141\1\u1dbd" + "\1\u182d\6\141\1\u19d8\6\141\1\0\4\141\1\132\4\0" + + "\1\0\2\141\14\0\4\141\1\u1db8\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\7\141\1\u1db9\17\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u1dba\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\u19d6\1\u1dbb\4\141\1\u1dbc\1\141\1\u1dbd" + + "\1\u182d\6\141\1\u19d8\6\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u1dbe\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u1dbe\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1dbf\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\1\u0bc5\3\141\1\u03e4\14\141\1\u1dc0\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1dc1\22\141\1\0" + + "\14\0\4\141\1\u1dbf\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\1\u0bc5\3\141\1\u03e4\14\141\1\u1dc0\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u0901\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1cdc\1\u1dc2\1\u03e4" + + "\1\141\1\0\2\141\14\0\4\141\1\u1dc1\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u0901\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u1cdc\1\u1dc2\1\u03e4" + "\1\141\1\u101e\1\141\1\u0723\1\141\1\u1dc3\6\141\1\u1dc4" + "\5\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1dc5" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" @@ -12235,365 +12475,367 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\2\141\14\0\1\u1f10\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u1f11\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\1\u1f12\1\141\1\u1f13\1\u1f14\4\141\1\u1f15" + "\2\141\1\u1f15\1\141\1\u1f16\7\141\1\u1f17\1\141\1\0" + + "\2\141\14\0\1\u1f12\1\141\1\u1f13\1\u1f14\4\141\1\u1f15" + + "\2\141\1\u1f15\1\141\1\u1f16\7\141\1\u1f17\1\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1f18\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1f18\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1f19\3\141\1\u123f\22\141" + + "\1\141\1\0\2\141\14\0\1\u1f19\3\141\1\u123f\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1f1a\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1f1a\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1f1b\22\141" + + "\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1f1b\22\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u1f1c\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u1f1c\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u1f1d\5\141" + + "\1\u015c\1\141\1\0\2\141\14\0\21\141\1\u1f1d\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1bb5\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1bb5\12\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u118e\10\141" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u118e\10\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1cda\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1cda\24\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0b16\14\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1f1e\17\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\10\141\1\u1f1f\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u12f1\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1f20\23\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u1f21\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\15\141\1\u0c7d\11\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u1f22\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\13\141\1\u1e46\13\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\10\141\1\u1f23\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1f24\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u1f25\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u1a3e\20\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\23\141\1\u1f26\3\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1f27\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\10\141\1\u1f28\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1f29\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u0d02\3\141\1\u1802\4\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0776\2\141" - + "\1\u1eb3\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + "\1\u1802\4\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" - + "\1\u1cda\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u0396\7\141\1\u1f2a\14\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\2\141\1\u1f2b\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\4\141\1\u1f2c\22\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\6\141\1\u1f2d\20\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\12\141\1\u1a91\3\141\1\u1a8d\10\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u12a9\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u1f2e\24\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\11\141\1\u1f2f\15\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\u1f30\26\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\22\141\1\u1f31\4\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\u1f32\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1f33\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\2\141\1\u1f34\24\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1f35\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\21\141\1\u1cec\5\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0748" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1f36\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" - + "\1\u1f37\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1f38\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" - + "\1\u1f39\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u1f3a\14\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1f3b" - + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1f3c" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1f3d" - + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u1f3e\1\0" + + "\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u0b16\14\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1f1e\17\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1f1f\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1f3f\24\141\1\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u12f1\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u1f40\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u1f41\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\141\1\0\2\141\14\0\3\141\1\u1f20\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u1f21\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\15\141\1\u0c7d\11\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1f22\23\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\13\141\1\u1e46\13\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u1f23\16\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u1f24\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u1f25\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\6\141\1\u1a3e\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\23\141\1\u1f26\3\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u1f27\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u1f28\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\141\1\u1f42\25\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1f43\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\4\141\1\u1f44\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1f45\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u1f46\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u1f47\16\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u08bb\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1f48\10\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u1f49\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u05d9\24\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\21\141\1\u0c24\5\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\3\141\1\u1f4a\23\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\13\141\1\u1f4b\13\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\1\141\1\u063d\4\141\1\u1f4c\20\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u1f4d\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1f4e\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u1f4f\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\2\141\1\u1f50\24\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" - + "\2\141\14\0\6\141\1\u1f51\20\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\14\141\1\u1f52\12\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u1f53\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u1f54\10\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\16\141\1\u1f55\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u1f56\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\7\141\1\u08de\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u1f57\23\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\5\141\1\u12ec\21\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\12\141\1\u0b78\14\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\16\141\1\u152c\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u10d7\17\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\24\141\1\u0480\2\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u1f58\23\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\3\141\1\u1b20\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1f59\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\15\141\1\u15b0\11\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u1f5a\16\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u1f5b\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1e20\22\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1f5c" - + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1f5d" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1271" - + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1f5e" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\10\141\1\u1f5f\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1c38\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u1f60\25\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1f61\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1f62\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\21\141\1\u1f63\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\22\141\1\u1f64\4\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u1f65\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u1f66\11\141\1\u1f67" - + "\13\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1f68" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1f69" - + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1f6a" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1e0b" - + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1f6b" + "\1\u060f\13\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" - + "\1\u1f6c\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u1f6d\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\1\0\2\141\14\0\4\141\1\u1f29\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u0d02\3\141\1\u1802\4\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\16\141\1\u0776\2\141" + "\1\u1eb3\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\22\141" + + "\1\u1802\4\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u1cda\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" - + "\1\u1f6e\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1f6f\24\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" - + "\1\u1f70\12\141\1\u0b28\2\141\1\u1f71\1\141\1\u1f72\1\141" + "\1\u1f73\3\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u1f74\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u1f75\5\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" - + "\1\u1f76\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1f77\3\141\1\u04c5\17\141\1\0\4\141\1\132\4\0" + + "\1\u0396\7\141\1\u1f2a\14\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u1f2b\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\14\141\1\u1b78\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\u1f78\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\14\0\4\141\1\u1f2c\22\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\6\141\1\u1f2d\20\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\12\141\1\u1a91\3\141\1\u1a8d\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u12a9\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\2\141\1\u1f2e\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\11\141\1\u1f2f\15\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\1\u1f30\26\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\22\141\1\u1f31\4\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\u1f32\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1f33\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\2\141\1\u1f34\24\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1f35\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\21\141\1\u1cec\5\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u0748" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1f36\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u1f37\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1f38\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141" + "\1\u1f39\20\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" - + "\1\u1f79\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u065d" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\1\u1f7a\26\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1f7b\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1f7c\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1f7d\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1f7e\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\6\141\1\u1271\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u1f7f\16\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u1f80\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u1f3c\12\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\3\141\1\u1f81\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1f82\23\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1f83\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u1f84\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\14\141\1\u1f85\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u1f86\10\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u1f87\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\10\141\1\u1f88\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" - + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\10\141\1\u1f89\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\2\141\1\u1f8a\24\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\7\141\1\u1b4f\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u1f8b\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\13\141\1\u1f8c\13\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\15\141\1\u1f8d\11\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1f8e\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u1f8f\10\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1f90\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u1f91\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\4\141\1\u1f92\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1f93\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1f94" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + "\1\u1f95\17\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" - + "\1\u1f96\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1f2d\23\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" - + "\1\u1f97\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + "\1\u1f98\2\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1f99\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u06b4" + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u1e20" - + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u1f9a" + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1f9b" - + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u1a84\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\10\141\1\u1f9c\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\16\141\1\u1f9d\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u1f9e\16\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u1f9f\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u1fa0\16\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\24\141\1\u1fa1\2\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\10\141\1\u1fa2\16\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\22\141\1\u156e\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1fa3\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u1fa4\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" - + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\11\141\1\u182d\6\141\1\u19d8\6\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\16\141\1\u1fa5\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\141\1\u1ee4\25\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\21\141\1\u1fa6\5\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u1fa7\12\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\4\141\1\u1fa8\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1a58\26\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u1fa9\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u1faa\20\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\12\141\1\u1fab\14\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1fac\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\13\141\1\u1fad\13\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\23\141\1\u1fae\3\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\6\141\1\u1faf\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\5\141\1\u0396\13\141\1\u0e88\5\141" - + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\10\141\1\u1fb0\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1fb1\23\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\1\u1fb2\1\u1e77\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\10\141\1\u1fb3\16\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\12\141\1\u1fb4\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1fb5\24\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\5\141\1\u1fb6\21\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1f68\22\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\2\141\1\u1fb7\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\25\141\1\u1fb8\1\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" - + "\1\141\1\0\2\141\14\0\11\141\1\u1fb9\15\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" - + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1fba\23\141\1\0" - + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u1fbb\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u1fbc\24\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\20\141\1\u1a58\6\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1a58\23\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\1\141\1\u15e9\25\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\15\141\1\u0df3\11\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u1fbd\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1fbe\22\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\22\141\1\u12fc\4\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\2\141\1\u190a\24\141\1\0\4\141" - + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" - + "\1\0\2\141\14\0\3\141\1\u1fbf\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" - + "\1\0\11\141\1\0\1\u1fc0\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\14\141\1\u1fc1\12\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" - + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\22\141\1\u1fc2\4\141\1\0\4\141\1\132\4\0" - + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" - + "\14\0\3\141\1\u1fc3\23\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" - + "\1\u1fc4\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\16\141\1\u1fc5\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1fc6\22\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\10\141\1\u1fc7\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\6\141\1\u1fc8\20\141\1\0\4\141\1\132\4\0\12\141" - + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" - + "\1\u1fc9\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" - + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\20\141" + "\1\u1fca\6\141\1\0\4\141\1\132\4\0\12\141\1\0" - + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" - + "\1\u1fcb\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1fcc\1\0" - + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u05d1" - + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1fcd" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1435" - + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1fce" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" - + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1fcf" + + "\1\u1f3a\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1f3b" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1f3c" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" - + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0776\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1fd0\16\141" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1f3d" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u1f3e\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u1f3f\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u1f40\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u1f41\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u1f42\25\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\3\141\1\u1f43\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\4\141\1\u1f44\22\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u1f45\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u1f46\20\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\10\141\1\u1f47\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u08bb\23\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\16\141\1\u1f48\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u1f49\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\2\141\1\u05d9\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\21\141\1\u0c24\5\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\3\141\1\u1f4a\23\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\13\141\1\u1f4b\13\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\1\141\1\u063d\4\141\1\u1f4c\20\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1f4d\26\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\3\141\1\u1f4e\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u1f4f\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\2\141\1\u1f50\24\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + "\2\141\14\0\6\141\1\u1f51\20\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\14\141\1\u1f52\12\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u1f53\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\16\141\1\u1f54\10\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\16\141\1\u1f55\10\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1f56\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\7\141\1\u08de\17\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u1f57\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\5\141\1\u12ec\21\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\12\141\1\u0b78\14\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u152c\10\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\7\141\1\u10d7\17\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\24\141\1\u0480\2\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\3\141\1\u1f58\23\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\3\141\1\u1b20\23\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u1f59\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\15\141\1\u15b0\11\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\10\141\1\u1f5a\16\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u1f5b\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + + "\1\u1e20\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u1f5c" + "\26\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1f5d" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1271" + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1f5e" + + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\10\141\1\u1f5f\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u1c38\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\141\1\u1f60\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1f61\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u1f62\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u1f63\5\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\22\141\1\u1f64\4\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u1f65\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\141\1\u1f66\11\141\1\u1f67" + "\13\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1f68" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1f69" + "\16\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1f6a" + + "\17\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\14\141\1\u1e0b" + "\12\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1f6b" + + "\1\u060f\13\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\16\141" + "\1\u1f6c\10\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + + "\1\u1f6d\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + "\1\u1f6e\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141" + + "\1\u1f6f\24\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\1\141" + + "\1\u1f70\12\141\1\u0b28\2\141\1\u1f71\1\141\1\u1f72\1\141" + + "\1\u1f73\3\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1f74\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + + "\1\u1f75\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\21\141" + "\1\u1f76\5\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u1f77\3\141\1\u04c5\17\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u1b78\12\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\u1f78\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141" + "\1\u1f79\14\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\u065d" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1fd1\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" - + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1fd2\23\141" + + "\1\u015c\1\141\1\0\2\141\14\0\1\u1f7a\26\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1f7b\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u1f7c\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1f7d\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u1f7e\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\6\141\1\u1271\20\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\10\141\1\u1f7f\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u1f80\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\14\141\1\u1f3c\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\3\141\1\u1f81\23\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u1f82\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1f83\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\16\141\1\u1f84\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\14\141\1\u1f85\12\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\16\141\1\u1f86\10\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1f87\26\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\10\141\1\u1f88\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + + "\10\141\1\u1f89\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\2\141\1\u1f8a\24\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\7\141\1\u1b4f\17\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1f8b\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\13\141\1\u1f8c\13\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\15\141\1\u1f8d\11\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1f8e\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\16\141\1\u1f8f\10\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1f90\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u1f91\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\4\141\1\u1f92\22\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u1f93\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\10\141\1\u1f94" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\27\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\7\141" + + "\1\u1f95\17\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141" + "\1\u1f96\22\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + + "\1\u1f2d\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\3\141" + "\1\u1f97\23\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\24\141" + + "\1\u1f98\2\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1f99\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\6\141\1\u06b4" + + "\20\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u1e20" + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\23\141\1\u1f9a" + + "\3\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1f9b" + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\u1a84\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\10\141\1\u1f9c\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\16\141\1\u1f9d\10\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\10\141\1\u1f9e\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1f9f\23\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\10\141\1\u1fa0\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\24\141\1\u1fa1\2\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\10\141\1\u1fa2\16\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\22\141\1\u156e\4\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u1fa3\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\10\141\1\u1fa4\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\27\141\1\0\4\141\1\132" + + "\4\0\12\141\1\0\7\141\1\132\10\0\6\141\1\0" + "\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\11\141\1\u182d\6\141\1\u19d8\6\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\16\141\1\u1fa5\10\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\141\1\u1ee4\25\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\21\141\1\u1fa6\5\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\14\141\1\u1fa7\12\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\4\141\1\u1fa8\22\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\1\u1a58\26\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u1fa9\20\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\6\141\1\u1faa\20\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\12\141\1\u1fab\14\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u1fac\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\13\141\1\u1fad\13\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\23\141\1\u1fae\3\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\6\141\1\u1faf\20\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\5\141\1\u0396\13\141\1\u0e88\5\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\10\141\1\u1fb0\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u1fb1\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\1\u1fb2\1\u1e77\25\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\10\141\1\u1fb3\16\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u1fb4\14\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\2\141\1\u1fb5\24\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\5\141\1\u1fb6\21\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\4\141\1\u1f68\22\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\2\141\1\u1fb7\24\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\25\141\1\u1fb8\1\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\11\141\1\u1fb9\15\141\1\0" + + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + + "\1\141\1\0\2\141\14\0\3\141\1\u1fba\23\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + + "\6\141\1\0\10\141\1\u1fbb\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\27\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\2\141\1\u1fbc\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\20\141\1\u1a58\6\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\3\141\1\u1a58\23\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\1\141\1\u15e9\25\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\15\141\1\u0df3\11\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1fbd\23\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\4\141\1\u1fbe\22\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\22\141\1\u12fc\4\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\2\141\1\u190a\24\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\3\141\1\u1fbf\23\141\1\0\4\141" + + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\u1fc0\1\0\1\132\1\u015c\1\141" + + "\1\0\2\141\14\0\27\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\14\141\1\u1fc1\12\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + + "\14\0\22\141\1\u1fc2\4\141\1\0\4\141\1\132\4\0" + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\11\141" + + "\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141" + "\14\0\3\141\1\u1fc3\23\141\1\0\4\141\1\132\4\0" + + "\12\141\1\0\7\141\1\132\10\0\6\141\1\0\10\141" + "\1\u1fc4\1\0\1\141\1\0\1\132\1\u015c\1\141\1\0" + + "\2\141\14\0\27\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\16\141\1\u1fc5\10\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\4\141\1\u1fc6\22\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\10\141\1\u1fc7\16\141\1\0\4\141\1\132\4\0\12\141" + + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\6\141\1\u1fc8\20\141\1\0\4\141\1\132\4\0\12\141" + "\1\0\7\141\1\132\10\0\6\141\1\0\11\141\1\0" + + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + "\1\u1fc9\26\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\20\141" + + "\1\u1fca\6\141\1\0\4\141\1\132\4\0\12\141\1\0" + "\7\141\1\132\10\0\6\141\1\0\11\141\1\0\1\141" + + "\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0\15\141" + "\1\u1fcb\11\141\1\0\4\141\1\132\4\0\12\141\1\0" + + "\7\141\1\132\10\0\6\141\1\0\10\141\1\u1fcc\1\0" + "\1\141\1\0\1\132\1\u015c\1\141\1\0\2\141\14\0" + + "\27\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\25\141\1\u05d1" + "\1\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1fcd" + + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\12\141\1\u1435" + "\14\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\2\141\1\u1fce" + + "\24\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + + "\1\132\1\u015c\1\141\1\0\2\141\14\0\4\141\1\u1fcf" + "\22\141\1\0\4\141\1\132\4\0\12\141\1\0\7\141" + + "\1\132\10\0\6\141\1\0\11\141\1\0\1\141\1\0" + "\1\132\1\u015c\1\141\1\0\2\141\14\0\1\u0776\26\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" - + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1fd3\17\141" + "\1\0"; + + "\1\u015c\1\141\1\0\2\141\14\0\10\141\1\u1fd0\16\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1fd1\23\141" + + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + + "\1\u015c\1\141\1\0\2\141\14\0\3\141\1\u1fd2\23\141" + "\1\0\4\141\1\132\4\0\12\141\1\0\7\141\1\132" + + "\10\0\6\141\1\0\11\141\1\0\1\141\1\0\1\132" + "\1\u015c\1\141\1\0\2\141\14\0\7\141\1\u1fd3\17\141" + + "\1\0"; private static final String ZZ_TRANS_PACKED_7 = "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" + "\1\141\1\0\2\141\14\0\12\141\1\u1fd4\14\141\1\0" + "\4\141\1\132\4\0\12\141\1\0\7\141\1\132\10\0" + "\6\141\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c" @@ -12688,7 +12930,7 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { + "\1\0\2\141\14\0\16\141\1\u2005\10\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141\1\132\10\0\6\141" + "\1\0\11\141\1\0\1\141\1\0\1\132\1\u015c\1\141" + "\1\0\2\141\14\0\14\141\1\u2006\12\141\1\0\4\141" + "\1\132\4\0\12\141\1\0\7\141"; - + private static int[] zzUnpackTrans() { int[] result = new int[775418]; int offset = 0; @@ -12702,7 +12944,7 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { offset = zzUnpackTrans(ZZ_TRANS_PACKED_7, 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 */ @@ -12717,7 +12959,7 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -12729,24 +12971,27 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\2\1\1\0\2\1\1\0\2\1\14\0\1\1" + "\5\0\2\1\1\11\4\1\1\11\5\1\2\11\3\1" - + "\1\11\1\1\3\11\1\1\1\11\26\1\1\11\1\1" + "\1\11\1\1\7\11\1\1\1\11\2\1\2\11\10\1" + "\1\11\3\1\1\11\22\1\2\11\1\1\1\11\2\1" - + "\1\11\1\1\1\11\1\1\1\11\2\1\1\11\6\1" + "\1\11\10\1\1\11\4\1\1\11\1\1\1\11\42\1" + "\1\11\3\1\1\11\2\1\2\11\3\1\1\11\1\1" - + "\3\11\1\1\1\11\4\1\1\11\1\1\3\11\4\1" + "\4\11\1\1\1\11\6\1\7\11\2\1\1\11\2\1" + "\1\11\1\1\1\11\1\1\1\11\5\1\1\11\5\0" - + "\105\1\1\11\2\0\1\1\1\0\1\11\1\0\76\1" + "\1\11\3\1\1\0\1\11\6\0\2\11\33\0\13\1" + "\1\11\307\1\2\11\1\1\1\11\1\0\1\11\1\1" - + "\15\0\1\1\1\11\5\0\1\1\1\0\3\11\3\1" + "\2\0\1\11\4\0\101\1\3\0\5\1\1\0\67\1" + "\71\0\u0185\1\25\0\2\1\1\11\3\0\45\1\3\0" - + "\1\11\43\1\2\0\1\11\4\0\1\1\2\0\1\1" + "\41\0\1\11\24\0\u01fb\1\17\0\1\11\4\0\2\1" + "\1\11\2\0\25\1\1\11\1\0\1\11\25\1\2\11" - + "\17\0\1\1\23\0\1\1\12\0\u0278\1\16\0\14\1" + "\1\0\14\1\34\0\u02b3\1\12\0\4\1\1\0\6\1" - + "\2\0\1\1\1\0\1\1\14\0\u02d6\1\6\0\1\1" + "\1\0\2\1\7\0\u02a1\1\1\11\4\0\1\1\1\11" - + "\1\1\1\11\2\0\1\11\u0267\1\4\0\u021c\1\3\0" + "\1\11\u083e\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\2\1\1\0\2\1\1\0\2\1\14\0\1\1" + + "\5\0\2\1\1\11\4\1\1\11\5\1\2\11\3\1" + "\1\11\1\1\3\11\1\1\1\11\26\1\1\11\1\1" + + "\1\11\1\1\7\11\1\1\1\11\2\1\2\11\10\1" + "\1\11\3\1\1\11\22\1\2\11\1\1\1\11\2\1" + + "\1\11\1\1\1\11\1\1\1\11\2\1\1\11\6\1" + "\1\11\10\1\1\11\4\1\1\11\1\1\1\11\42\1" + + "\1\11\3\1\1\11\2\1\2\11\3\1\1\11\1\1" + "\3\11\1\1\1\11\4\1\1\11\1\1\3\11\4\1" + + "\4\11\1\1\1\11\6\1\7\11\2\1\1\11\2\1" + "\1\11\1\1\1\11\1\1\1\11\5\1\1\11\5\0" + + "\105\1\1\11\2\0\1\1\1\0\1\11\1\0\76\1" + "\1\11\3\1\1\0\1\11\6\0\2\11\33\0\13\1" + + "\1\11\307\1\2\11\1\1\1\11\1\0\1\11\1\1" + "\15\0\1\1\1\11\5\0\1\1\1\0\3\11\3\1" + + "\2\0\1\11\4\0\101\1\3\0\5\1\1\0\67\1" + "\71\0\u0185\1\25\0\2\1\1\11\3\0\45\1\3\0" + + "\1\11\43\1\2\0\1\11\4\0\1\1\2\0\1\1" + "\41\0\1\11\24\0\u01fb\1\17\0\1\11\4\0\2\1" + + "\1\11\2\0\25\1\1\11\1\0\1\11\25\1\2\11" + "\17\0\1\1\23\0\1\1\12\0\u0278\1\16\0\14\1" + + "\1\0\14\1\34\0\u02b3\1\12\0\4\1\1\0\6\1" + "\2\0\1\1\1\0\1\1\14\0\u02d6\1\6\0\1\1" + + "\1\0\2\1\7\0\u02a1\1\1\11\4\0\1\1\1\11" + "\1\1\1\11\2\0\1\11\u0267\1\4\0\u021c\1\3\0" + "\1\11\u083e\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[8198]; 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 */ @@ -12760,7 +13005,7 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -12768,8 +13013,8 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -12779,8 +13024,7 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ @@ -12797,39 +13041,35 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { */ private static final int INTERNAL_ATTR_SINGLE = -2; /** - * Token type specific to PHPTokenMaker; this signals that the user has - * ended a line with an unclosed HTML tag; thus a new line is beginning - * still inside of the tag. + * Token type specific to PHPTokenMaker; this signals that the user has ended a + * line with an unclosed HTML tag; thus a new line is beginning still inside of + * the tag. */ private static final int INTERNAL_INTAG = -3; /** - * Token type specific to PHPTokenMaker; this signals that the user has - * ended a line with an unclosed <script> tag. + * Token type specific to PHPTokenMaker; this signals that the user has ended a + * line with an unclosed <script> tag. */ private static final int INTERNAL_INTAG_SCRIPT = -4; /** - * Token type specifying we're in a double-qouted attribute in a - * script tag. + * Token type specifying we're in a double-qouted attribute in a script tag. */ private static final int INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT = -5; /** - * Token type specifying we're in a single-qouted attribute in a - * script tag. + * Token type specifying we're in a single-qouted attribute in a script tag. */ private static final int INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT = -6; /** - * Token type specifying that the user has - * ended a line with an unclosed <style> tag. + * Token type specifying that the user has ended a line with an unclosed + * <style> tag. */ private static final int INTERNAL_INTAG_STYLE = -7; /** - * Token type specifying we're in a double-qouted attribute in a - * style tag. + * Token type specifying we're in a double-qouted attribute in a style tag. */ private static final int INTERNAL_ATTR_DOUBLE_QUOTE_STYLE = -8; /** - * Token type specifying we're in a single-qouted attribute in a - * style tag. + * Token type specifying we're in a single-qouted attribute in a style tag. */ private static final int INTERNAL_ATTR_SINGLE_QUOTE_STYLE = -9; /** @@ -12853,13 +13093,11 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { */ private static final int INTERNAL_IN_JS_STRING_VALID = -14; /** - * Token type specifying we're in an invalid multi-line JS single-quoted - * string. + * Token type specifying we're in an invalid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_INVALID = -15; /** - * Token type specifying we're in a valid multi-line JS single-quoted - * string. + * Token type specifying we're in a valid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_VALID = -16; /** @@ -12883,23 +13121,23 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { */ private static final int INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID = -24; /** - * Internal type denoting line ending in a CSS double-quote string. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS double-quote string. The state to + * return to is embedded in the actual end token type. */ private static final int INTERNAL_CSS_STRING = -(1 << 11); /** - * Internal type denoting line ending in a CSS single-quote string. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS single-quote string. The state to + * return to is embedded in the actual end token type. */ private static final int INTERNAL_CSS_CHAR = -(2 << 11); /** - * Internal type denoting line ending in a CSS multi-line comment. - * The state to return to is embedded in the actual end token type. + * Internal type denoting line ending in a CSS multi-line comment. The state to + * return to is embedded in the actual end token type. */ private static final int INTERNAL_CSS_MLC = -(3 << 11); /** - * Token type specifying we're in PHP. This particular field is public so - * that we can hack and key off of it for code completion. + * Token type specifying we're in PHP. This particular field is public so that + * we can hack and key off of it for code completion. */ public static final int INTERNAL_IN_PHP = -(4 << 11); /** @@ -12952,91 +13190,80 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { */ private static final int LANG_INDEX_PHP = 3; private Stack varDepths; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public PHPTokenMaker() { super(); } - + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** - * Adds an end token that encodes the information necessary to return - * to the pre-PHP state and language index. + * Adds an end token that encodes the information necessary to return to the + * pre-PHP state and language index. * - * @param endTokenState - * The PHP-related end-token state. + * @param endTokenState The PHP-related end-token state. */ private void addPhpEndToken(int endTokenState) { addEndToken(endTokenState - phpInState - (phpInLangIndex << 16)); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -13044,11 +13271,10 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { protected OccurrenceMarker createOccurrenceMarker() { return new HtmlOccurrenceMarker(); } - + /** - * Sets whether markup close tags should be completed. You might not want - * this to be the case, since some tags in standard HTML aren't usually - * closed. + * Sets whether markup close tags should be completed. You might not want this + * to be the case, since some tags in standard HTML aren't usually closed. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) @@ -13057,28 +13283,28 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { public boolean getCompleteCloseTags() { return completeCloseTags; } - + @Override public boolean getCurlyBracesDenoteCodeBlocks(int languageIndex) { return languageIndex == LANG_INDEX_CSS || languageIndex == LANG_INDEX_JS || languageIndex == LANG_INDEX_PHP; } - + /** * {@inheritDoc} */ @Override public String[] getLineCommentStartAndEnd(int languageIndex) { switch (languageIndex) { - case LANG_INDEX_JS: - case LANG_INDEX_PHP: - return new String[] { "//", null }; - case LANG_INDEX_CSS: - return new String[] { "/*", "*/" }; - default: - return new String[] { "" }; + case LANG_INDEX_JS: + case LANG_INDEX_PHP: + return new String[] { "//", null }; + case LANG_INDEX_CSS: + return new String[] { "/*", "*/" }; + default: + return new String[] { "" }; } } - + /** * {@inheritDoc} */ @@ -13086,10 +13312,9 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.FUNCTION || type == Token.VARIABLE || type == Token.MARKUP_TAG_NAME; } - + /** - * Overridden to handle newlines in JS and CSS differently than those in - * markup. + * Overridden to handle newlines in JS and CSS differently than those in markup. */ @Override public boolean getShouldIndentNextLineAfter(Token token) { @@ -13102,21 +13327,18 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { } return false; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -13128,144 +13350,144 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.MARKUP_COMMENT: - state = COMMENT; - break; - case Token.VARIABLE: - state = DTD; - break; - case INTERNAL_INTAG: - state = INTAG; - break; - case INTERNAL_INTAG_SCRIPT: - state = INTAG_SCRIPT; - break; - case INTERNAL_INTAG_STYLE: - state = INTAG_STYLE; - break; - case INTERNAL_ATTR_DOUBLE: - state = INATTR_DOUBLE; - break; - case INTERNAL_ATTR_SINGLE: - state = INATTR_SINGLE; - break; - case INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT: - state = INATTR_DOUBLE_SCRIPT; - break; - case INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT: - state = INATTR_SINGLE_SCRIPT; - break; - case INTERNAL_ATTR_DOUBLE_QUOTE_STYLE: - state = INATTR_DOUBLE_STYLE; - break; - case INTERNAL_ATTR_SINGLE_QUOTE_STYLE: - state = INATTR_SINGLE_STYLE; - break; - case INTERNAL_IN_JS: - state = JAVASCRIPT; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_IN_JS_MLC: - state = JS_MLC; - languageIndex = LANG_INDEX_JS; - break; - case INTERNAL_IN_JS_COMMENT_DOCUMENTATION: - state = JS_DOCCOMMENT; - languageIndex = LANG_INDEX_JS; - validJSString = false; - break; - case INTERNAL_IN_JS_STRING_INVALID: - state = JS_STRING; - languageIndex = LANG_INDEX_JS; - validJSString = false; - break; - case INTERNAL_IN_JS_STRING_VALID: - state = JS_STRING; - languageIndex = LANG_INDEX_JS; - validJSString = true; - break; - case INTERNAL_IN_JS_CHAR_INVALID: - state = JS_CHAR; - languageIndex = LANG_INDEX_JS; - validJSString = false; - break; - case INTERNAL_IN_JS_CHAR_VALID: - state = JS_CHAR; - languageIndex = LANG_INDEX_JS; - validJSString = true; - break; - case INTERNAL_CSS: - state = CSS; - languageIndex = LANG_INDEX_CSS; - break; - case INTERNAL_CSS_PROPERTY: - state = CSS_PROPERTY; - languageIndex = LANG_INDEX_CSS; - break; - case INTERNAL_CSS_VALUE: - state = CSS_VALUE; - languageIndex = LANG_INDEX_CSS; - break; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: - state = JS_TEMPLATE_LITERAL; - languageIndex = LANG_INDEX_JS; - validJSString = true; - break; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: - state = JS_TEMPLATE_LITERAL; - languageIndex = LANG_INDEX_JS; - validJSString = false; - break; - default: - if (initialTokenType < -1024) { // INTERNAL_IN_PHPxxx - - // phpInState - int main = -(-initialTokenType & 0x0000ff00); - switch (main) { - default: // Should never happen - case INTERNAL_IN_PHP: - state = PHP; - languageIndex = LANG_INDEX_PHP; - phpInState = -initialTokenType & 0xff; - phpInLangIndex = (-initialTokenType & 0x00ff0000) >> 16; - break; - case INTERNAL_IN_PHP_MLC: - state = PHP_MLC; - languageIndex = LANG_INDEX_PHP; - phpInState = -initialTokenType & 0xff; - phpInLangIndex = (-initialTokenType & 0x00ff0000) >> 16; - break; - case INTERNAL_IN_PHP_STRING: - state = PHP_STRING; - languageIndex = LANG_INDEX_PHP; - phpInState = -initialTokenType & 0xff; - phpInLangIndex = (-initialTokenType & 0x00ff0000) >> 16; - break; - case INTERNAL_IN_PHP_CHAR: - state = PHP_CHAR; - languageIndex = LANG_INDEX_PHP; - phpInState = -initialTokenType & 0xff; - phpInLangIndex = (-initialTokenType & 0x00ff0000) >> 16; - break; - case INTERNAL_CSS_STRING: - state = CSS_STRING; - languageIndex = LANG_INDEX_CSS; - cssPrevState = -initialTokenType & 0xff; - break; - case INTERNAL_CSS_CHAR: - state = CSS_CHAR_LITERAL; - languageIndex = LANG_INDEX_CSS; - cssPrevState = -initialTokenType & 0xff; - break; - case INTERNAL_CSS_MLC: - state = CSS_C_STYLE_COMMENT; - languageIndex = LANG_INDEX_CSS; - cssPrevState = -initialTokenType & 0xff; - break; - } - } else { - state = YYINITIAL; + case Token.MARKUP_COMMENT: + state = COMMENT; + break; + case Token.VARIABLE: + state = DTD; + break; + case INTERNAL_INTAG: + state = INTAG; + break; + case INTERNAL_INTAG_SCRIPT: + state = INTAG_SCRIPT; + break; + case INTERNAL_INTAG_STYLE: + state = INTAG_STYLE; + break; + case INTERNAL_ATTR_DOUBLE: + state = INATTR_DOUBLE; + break; + case INTERNAL_ATTR_SINGLE: + state = INATTR_SINGLE; + break; + case INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT: + state = INATTR_DOUBLE_SCRIPT; + break; + case INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT: + state = INATTR_SINGLE_SCRIPT; + break; + case INTERNAL_ATTR_DOUBLE_QUOTE_STYLE: + state = INATTR_DOUBLE_STYLE; + break; + case INTERNAL_ATTR_SINGLE_QUOTE_STYLE: + state = INATTR_SINGLE_STYLE; + break; + case INTERNAL_IN_JS: + state = JAVASCRIPT; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_IN_JS_MLC: + state = JS_MLC; + languageIndex = LANG_INDEX_JS; + break; + case INTERNAL_IN_JS_COMMENT_DOCUMENTATION: + state = JS_DOCCOMMENT; + languageIndex = LANG_INDEX_JS; + validJSString = false; + break; + case INTERNAL_IN_JS_STRING_INVALID: + state = JS_STRING; + languageIndex = LANG_INDEX_JS; + validJSString = false; + break; + case INTERNAL_IN_JS_STRING_VALID: + state = JS_STRING; + languageIndex = LANG_INDEX_JS; + validJSString = true; + break; + case INTERNAL_IN_JS_CHAR_INVALID: + state = JS_CHAR; + languageIndex = LANG_INDEX_JS; + validJSString = false; + break; + case INTERNAL_IN_JS_CHAR_VALID: + state = JS_CHAR; + languageIndex = LANG_INDEX_JS; + validJSString = true; + break; + case INTERNAL_CSS: + state = CSS; + languageIndex = LANG_INDEX_CSS; + break; + case INTERNAL_CSS_PROPERTY: + state = CSS_PROPERTY; + languageIndex = LANG_INDEX_CSS; + break; + case INTERNAL_CSS_VALUE: + state = CSS_VALUE; + languageIndex = LANG_INDEX_CSS; + break; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: + state = JS_TEMPLATE_LITERAL; + languageIndex = LANG_INDEX_JS; + validJSString = true; + break; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: + state = JS_TEMPLATE_LITERAL; + languageIndex = LANG_INDEX_JS; + validJSString = false; + break; + default: + if (initialTokenType < -1024) { // INTERNAL_IN_PHPxxx - + // phpInState + int main = -(-initialTokenType & 0x0000ff00); + switch (main) { + default: // Should never happen + case INTERNAL_IN_PHP: + state = PHP; + languageIndex = LANG_INDEX_PHP; + phpInState = -initialTokenType & 0xff; + phpInLangIndex = (-initialTokenType & 0x00ff0000) >> 16; + break; + case INTERNAL_IN_PHP_MLC: + state = PHP_MLC; + languageIndex = LANG_INDEX_PHP; + phpInState = -initialTokenType & 0xff; + phpInLangIndex = (-initialTokenType & 0x00ff0000) >> 16; + break; + case INTERNAL_IN_PHP_STRING: + state = PHP_STRING; + languageIndex = LANG_INDEX_PHP; + phpInState = -initialTokenType & 0xff; + phpInLangIndex = (-initialTokenType & 0x00ff0000) >> 16; + break; + case INTERNAL_IN_PHP_CHAR: + state = PHP_CHAR; + languageIndex = LANG_INDEX_PHP; + phpInState = -initialTokenType & 0xff; + phpInLangIndex = (-initialTokenType & 0x00ff0000) >> 16; + break; + case INTERNAL_CSS_STRING: + state = CSS_STRING; + languageIndex = LANG_INDEX_CSS; + cssPrevState = -initialTokenType & 0xff; + break; + case INTERNAL_CSS_CHAR: + state = CSS_CHAR_LITERAL; + languageIndex = LANG_INDEX_CSS; + cssPrevState = -initialTokenType & 0xff; + break; + case INTERNAL_CSS_MLC: + state = CSS_C_STYLE_COMMENT; + languageIndex = LANG_INDEX_CSS; + cssPrevState = -initialTokenType & 0xff; + break; } - break; + } else { + state = YYINITIAL; + } + break; } setLanguageIndex(languageIndex); start = text.offset; @@ -13279,20 +13501,18 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { return new TokenImpl(); } } - + /** - * Sets whether markup close tags should be completed. You might not want - * this to be the case, since some tags in standard HTML aren't usually - * closed. + * Sets whether markup close tags should be completed. You might not want this + * to be the case, since some tags in standard HTML aren't usually closed. * - * @param complete - * Whether closing markup tags are completed. + * @param complete Whether closing markup tags are completed. * @see #getCompleteCloseTags() */ public static void setCompleteCloseTags(boolean complete) { completeCloseTags = complete; } - + /** * Overridden to remember the language index we're leaving. */ @@ -13302,36 +13522,34 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { yybegin(state); setLanguageIndex(languageIndex); } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -13341,34 +13559,31 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public PHPTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public PHPTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -13384,7 +13599,7 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -13394,69 +13609,64 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -13467,29 +13677,27 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -13508,8 +13716,7 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -13549,1147 +13756,1147 @@ public class PHPTokenMaker extends AbstractMarkupTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 109: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addToken(temp, zzMarkedPos - 1, Token.VARIABLE); - start = zzMarkedPos; - } - case 137: - break; - case 67: { - addToken(Token.OPERATOR); - yybegin(CSS_VALUE); - } - case 138: - break; - case 92: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 139: - break; - case 75: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - addEndToken(INTERNAL_CSS_CHAR - cssPrevState); - return firstToken; - } - case 140: - break; - case 23: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE_SCRIPT); - } - case 141: - break; - case 9: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.MARKUP_DTD); - } - case 142: - break; - case 61: { - addToken(Token.SEPARATOR); - yybegin(CSS_PROPERTY); - } - case 143: - break; - case 4: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(INTAG); - } - case 144: - break; - case 129: { - addToken(Token.RESERVED_WORD_2); - } - case 145: - break; - case 112: { - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - yybegin(cssPrevState); - } - case 146: - break; - case 110: { - start = zzMarkedPos - 2; - cssPrevState = zzLexicalState; - yybegin(CSS_C_STYLE_COMMENT); - } - case 147: - break; - case 37: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_INVALID); - } - return firstToken; - } - case 148: - break; - case 5: { - addToken(Token.WHITESPACE); - } - case 149: - break; - case 131: { - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 6, zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - start = zzMarkedPos; - yybegin(INTAG_SCRIPT); - } - case 150: - break; - case 111: { - addToken(Token.REGEX); - } - case 151: - break; - case 42: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 152: - break; - case 135: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 153: - break; - case 106: { - addToken(Token.FUNCTION); - } - case 154: - break; - case 101: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_MARKUP); - start = zzMarkedPos; - } - case 155: - break; - case 39: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 156: - break; - case 58: { - start = zzMarkedPos - 1; - cssPrevState = zzLexicalState; - yybegin(CSS_STRING); - } - case 157: - break; - case 113: { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - start = zzMarkedPos - 2; - if (varDepths == null) { - varDepths = new Stack(); - } else { - varDepths.clear(); - } - varDepths.push(Boolean.TRUE); - yybegin(JS_TEMPLATE_LITERAL_EXPR); - } - case 158: - break; - case 83: { - if (!varDepths.empty()) { - varDepths.pop(); - if (varDepths.empty()) { - addToken(start, zzStartRead, Token.VARIABLE); - start = zzMarkedPos; - yybegin(JS_TEMPLATE_LITERAL); - } - } - } - case 159: - break; - case 78: { - if (validJSString) { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 160: - break; - case 80: { /* - * Skip valid '$' that is not part of template - * literal expression start - */ - } - case 161: - break; - case 25: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE_STYLE); - } - case 162: - break; - case 35: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_TEMPLATE_LITERAL); - } - case 163: - break; - case 96: { /* Skip all escaped chars. */ - } - case 164: - break; - case 89: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(YYINITIAL); - } - case 165: - break; - case 28: { - yybegin(INTAG_STYLE); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 166: - break; - case 124: { - if (JavaScriptTokenMaker.isJavaScriptCompatible("1.6")) { - addToken(Token.RESERVED_WORD); - } else { - addToken(Token.IDENTIFIER); - } - } - case 167: - break; - case 119: { - if (JavaScriptTokenMaker.isJavaScriptCompatible("1.7")) { - addToken(Token.RESERVED_WORD); - } else { - addToken(Token.IDENTIFIER); - } - } - case 168: - break; - case 46: { - start = zzMarkedPos - 1; - yybegin(PHP_STRING); - } - case 169: - break; - case 68: { - /* System.out.println("css_value: " + yytext()); */ addToken(Token.IDENTIFIER); - } - case 170: - break; - case 99: { - int temp = zzStartRead; - if (zzStartRead > start) - addToken(start, zzStartRead - 1, validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE); - validJSString = true; - addToken(temp, zzMarkedPos - 1, Token.SEPARATOR); - phpInState = zzLexicalState; - yybegin(PHP, LANG_INDEX_PHP); - } - case 171: - break; - case 16: { - /* A non-recognized HTML tag name */ yypushback(yylength()); - yybegin(INTAG); - } - case 172: - break; - case 26: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(CSS, LANG_INDEX_CSS); - } - case 173: - break; - case 76: { + case 109: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addToken(temp, zzMarkedPos - 1, Token.VARIABLE); + start = zzMarkedPos; + } + case 137: + break; + case 67: { + addToken(Token.OPERATOR); + yybegin(CSS_VALUE); + } + case 138: + break; + case 92: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 139: + break; + case 75: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + addEndToken(INTERNAL_CSS_CHAR - cssPrevState); + return firstToken; + } + case 140: + break; + case 23: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE_SCRIPT); + } + case 141: + break; + case 9: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.MARKUP_DTD); + } + case 142: + break; + case 61: { + addToken(Token.SEPARATOR); + yybegin(CSS_PROPERTY); + } + case 143: + break; + case 4: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(INTAG); + } + case 144: + break; + case 129: { + addToken(Token.RESERVED_WORD_2); + } + case 145: + break; + case 112: { + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + yybegin(cssPrevState); + } + case 146: + break; + case 110: { + start = zzMarkedPos - 2; + cssPrevState = zzLexicalState; + yybegin(CSS_C_STYLE_COMMENT); + } + case 147: + break; + case 37: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { addToken(start, zzStartRead, Token.LITERAL_CHAR); - yybegin(cssPrevState); + addEndToken(INTERNAL_IN_JS_CHAR_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS_CHAR_INVALID); } - case 174: - break; - case 95: { - int temp = zzStartRead; - if (zzStartRead > start) - addToken(start, zzStartRead - 1, validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR); - validJSString = true; - addToken(temp, zzMarkedPos - 1, Token.SEPARATOR); - phpInState = zzLexicalState; - yybegin(PHP, LANG_INDEX_PHP); + return firstToken; + } + case 148: + break; + case 5: { + addToken(Token.WHITESPACE); + } + case 149: + break; + case 131: { + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 6, zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + start = zzMarkedPos; + yybegin(INTAG_SCRIPT); + } + case 150: + break; + case 111: { + addToken(Token.REGEX); + } + case 151: + break; + case 42: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 152: + break; + case 135: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 153: + break; + case 106: { + addToken(Token.FUNCTION); + } + case 154: + break; + case 101: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_MARKUP); + start = zzMarkedPos; + } + case 155: + break; + case 39: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 156: + break; + case 58: { + start = zzMarkedPos - 1; + cssPrevState = zzLexicalState; + yybegin(CSS_STRING); + } + case 157: + break; + case 113: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + start = zzMarkedPos - 2; + if (varDepths == null) { + varDepths = new Stack(); + } else { + varDepths.clear(); } - case 175: - break; - case 87: { - addToken(Token.SEPARATOR); - phpInState = zzLexicalState; - yybegin(PHP, LANG_INDEX_PHP); + varDepths.push(Boolean.TRUE); + yybegin(JS_TEMPLATE_LITERAL_EXPR); + } + case 158: + break; + case 83: { + if (!varDepths.empty()) { + varDepths.pop(); + if (varDepths.empty()) { + addToken(start, zzStartRead, Token.VARIABLE); + start = zzMarkedPos; + yybegin(JS_TEMPLATE_LITERAL); + } } - case 176: - break; - case 114: { - varDepths.push(Boolean.TRUE); + } + case 159: + break; + case 78: { + if (validJSString) { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } - case 177: - break; - case 27: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE_STYLE); - } - case 178: - break; - case 19: { /* Allowing " start) - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addToken(temp, zzMarkedPos - 1, Token.SEPARATOR); - phpInState = zzLexicalState; - yybegin(PHP, LANG_INDEX_PHP); - } - case 206: - break; - case 128: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 207: - break; - case 103: { - start = zzMarkedPos - 2; - yybegin(PHP_MLC); - } - case 208: - break; - case 54: { /* - * Skip escaped single quotes only, but this should - * still work. - */ - } - case 209: - break; - case 66: { - addToken(Token.SEPARATOR); - yybegin(CSS); - } - case 210: - break; - case 118: { - start = zzMarkedPos - 3; - yybegin(JS_DOCCOMMENT); - } - case 211: - break; - case 134: { - yybegin(YYINITIAL); - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 212: - break; - case 31: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_STRING); - } - case 213: - break; - case 74: { - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - yybegin(cssPrevState); - } - case 214: - break; - case 79: { - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 215: - break; - case 64: { - addEndToken(INTERNAL_CSS_PROPERTY); - return firstToken; - } - case 216: - break; - case 45: { - addPhpEndToken(INTERNAL_IN_PHP); - return firstToken; - } - case 217: - break; - case 38: { - int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; - addToken(start, zzStartRead, type); - yybegin(JAVASCRIPT); - } - case 218: - break; - case 107: { - int count = yylength(); - addToken(zzStartRead, zzStartRead, Token.FUNCTION); - zzMarkedPos -= (count - 1); // yypushback(count-1); - } - case 219: - break; - case 34: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_CHAR); - } - case 220: - break; - case 24: { - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - yybegin(INTAG_SCRIPT); - } - case 221: - break; - case 126: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); - start = zzMarkedPos; - } - case 222: - break; - case 91: { - start = zzMarkedPos - 2; - yybegin(JS_MLC); - } - case 223: - break; - case 94: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 224: - break; - case 72: { - int temp = zzMarkedPos - 2; - addToken(zzStartRead, temp, Token.FUNCTION); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); - zzStartRead = zzCurrentPos = zzMarkedPos; - } - case 225: - break; - case 50: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addPhpEndToken(INTERNAL_IN_PHP_STRING); - return firstToken; - } - case 226: - break; - case 136: { - addToken(Token.ANNOTATION); - } - case 227: - break; - case 108: { - yybegin(PHP); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 228: - break; - case 51: { - yybegin(PHP); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 229: - break; - case 29: { - addToken(Token.ERROR_IDENTIFIER); - } - case 230: - break; - case 69: { - addEndToken(INTERNAL_CSS_VALUE); - return firstToken; - } - case 231: - break; - case 121: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); - start = zzMarkedPos; - } - case 232: - break; - case 6: { - addToken(Token.MARKUP_ENTITY_REFERENCE); - } - case 233: - break; - case 123: { - addToken(Token.LITERAL_BOOLEAN); - } - case 234: - break; - case 17: { - /* Shouldn't happen */ yypushback(1); - yybegin(INTAG); - } - case 235: - break; - case 3: { - addNullToken(); - return firstToken; - } - case 236: - break; - case 57: { - addEndToken(INTERNAL_CSS); - return firstToken; - } - case 237: - break; - case 133: { - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); - addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); - } - case 238: - break; - case 62: { - start = zzMarkedPos - 1; - cssPrevState = zzLexicalState; - yybegin(CSS_CHAR_LITERAL); - } - case 239: - break; - case 86: { - addToken(Token.MARKUP_TAG_DELIMITER); - phpInState = zzLexicalState; - yybegin(PHP, LANG_INDEX_PHP); - } - case 240: - break; - case 65: { + } + case 167: + break; + case 119: { + if (JavaScriptTokenMaker.isJavaScriptCompatible("1.7")) { addToken(Token.RESERVED_WORD); + } else { + addToken(Token.IDENTIFIER); } - case 241: - break; - case 11: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE); + } + case 168: + break; + case 46: { + start = zzMarkedPos - 1; + yybegin(PHP_STRING); + } + case 169: + break; + case 68: { + /* System.out.println("css_value: " + yytext()); */ addToken(Token.IDENTIFIER); + } + case 170: + break; + case 99: { + int temp = zzStartRead; + if (zzStartRead > start) + addToken(start, zzStartRead - 1, + validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE); + validJSString = true; + addToken(temp, zzMarkedPos - 1, Token.SEPARATOR); + phpInState = zzLexicalState; + yybegin(PHP, LANG_INDEX_PHP); + } + case 171: + break; + case 16: { + /* A non-recognized HTML tag name */ yypushback(yylength()); + yybegin(INTAG); + } + case 172: + break; + case 26: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(CSS, LANG_INDEX_CSS); + } + case 173: + break; + case 76: { + addToken(start, zzStartRead, Token.LITERAL_CHAR); + yybegin(cssPrevState); + } + case 174: + break; + case 95: { + int temp = zzStartRead; + if (zzStartRead > start) + addToken(start, zzStartRead - 1, validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR); + validJSString = true; + addToken(temp, zzMarkedPos - 1, Token.SEPARATOR); + phpInState = zzLexicalState; + yybegin(PHP, LANG_INDEX_PHP); + } + case 175: + break; + case 87: { + addToken(Token.SEPARATOR); + phpInState = zzLexicalState; + yybegin(PHP, LANG_INDEX_PHP); + } + case 176: + break; + case 114: { + varDepths.push(Boolean.TRUE); + } + case 177: + break; + case 27: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE_STYLE); + } + case 178: + break; + case 19: { /* Allowing " start) + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addToken(temp, zzMarkedPos - 1, Token.SEPARATOR); + phpInState = zzLexicalState; + yybegin(PHP, LANG_INDEX_PHP); + } + case 206: + break; + case 128: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 207: + break; + case 103: { + start = zzMarkedPos - 2; + yybegin(PHP_MLC); + } + case 208: + break; + case 54: { /* + * Skip escaped single quotes only, but this should still work. + */ + } + case 209: + break; + case 66: { + addToken(Token.SEPARATOR); + yybegin(CSS); + } + case 210: + break; + case 118: { + start = zzMarkedPos - 3; + yybegin(JS_DOCCOMMENT); + } + case 211: + break; + case 134: { + yybegin(YYINITIAL); + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addToken(temp, temp + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 212: + break; + case 31: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_STRING); + } + case 213: + break; + case 74: { + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + yybegin(cssPrevState); + } + case 214: + break; + case 79: { + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } - case 242: - break; - case 47: { - addToken(Token.COMMENT_EOL); - addPhpEndToken(INTERNAL_IN_PHP); - return firstToken; + return firstToken; + } + case 215: + break; + case 64: { + addEndToken(INTERNAL_CSS_PROPERTY); + return firstToken; + } + case 216: + break; + case 45: { + addPhpEndToken(INTERNAL_IN_PHP); + return firstToken; + } + case 217: + break; + case 38: { + int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; + addToken(start, zzStartRead, type); + yybegin(JAVASCRIPT); + } + case 218: + break; + case 107: { + int count = yylength(); + addToken(zzStartRead, zzStartRead, Token.FUNCTION); + zzMarkedPos -= (count - 1); // yypushback(count-1); + } + case 219: + break; + case 34: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_CHAR); + } + case 220: + break; + case 24: { + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + yybegin(INTAG_SCRIPT); + } + case 221: + break; + case 126: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); + start = zzMarkedPos; + } + case 222: + break; + case 91: { + start = zzMarkedPos - 2; + yybegin(JS_MLC); + } + case 223: + break; + case 94: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 224: + break; + case 72: { + int temp = zzMarkedPos - 2; + addToken(zzStartRead, temp, Token.FUNCTION); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.SEPARATOR); + zzStartRead = zzCurrentPos = zzMarkedPos; + } + case 225: + break; + case 50: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addPhpEndToken(INTERNAL_IN_PHP_STRING); + return firstToken; + } + case 226: + break; + case 136: { + addToken(Token.ANNOTATION); + } + case 227: + break; + case 108: { + yybegin(PHP); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 228: + break; + case 51: { + yybegin(PHP); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 229: + break; + case 29: { + addToken(Token.ERROR_IDENTIFIER); + } + case 230: + break; + case 69: { + addEndToken(INTERNAL_CSS_VALUE); + return firstToken; + } + case 231: + break; + case 121: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); + start = zzMarkedPos; + } + case 232: + break; + case 6: { + addToken(Token.MARKUP_ENTITY_REFERENCE); + } + case 233: + break; + case 123: { + addToken(Token.LITERAL_BOOLEAN); + } + case 234: + break; + case 17: { + /* Shouldn't happen */ yypushback(1); + yybegin(INTAG); + } + case 235: + break; + case 3: { + addNullToken(); + return firstToken; + } + case 236: + break; + case 57: { + addEndToken(INTERNAL_CSS); + return firstToken; + } + case 237: + break; + case 133: { + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - 7, zzMarkedPos - 2, Token.MARKUP_TAG_NAME); + addToken(zzMarkedPos - 1, zzMarkedPos - 1, Token.MARKUP_TAG_DELIMITER); + } + case 238: + break; + case 62: { + start = zzMarkedPos - 1; + cssPrevState = zzLexicalState; + yybegin(CSS_CHAR_LITERAL); + } + case 239: + break; + case 86: { + addToken(Token.MARKUP_TAG_DELIMITER); + phpInState = zzLexicalState; + yybegin(PHP, LANG_INDEX_PHP); + } + case 240: + break; + case 65: { + addToken(Token.RESERVED_WORD); + } + case 241: + break; + case 11: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE); + } + case 242: + break; + case 47: { + addToken(Token.COMMENT_EOL); + addPhpEndToken(INTERNAL_IN_PHP); + return firstToken; + } + case 243: + break; + case 13: { + yybegin(YYINITIAL); + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 244: + break; + case 59: { + addToken(Token.DATA_TYPE); + } + case 245: + break; + case 53: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + addPhpEndToken(INTERNAL_IN_PHP_CHAR); + return firstToken; + } + case 246: + break; + case 55: { + yybegin(PHP); + addToken(start, zzStartRead, Token.LITERAL_CHAR); + } + case 247: + break; + case 33: { + addToken(Token.SEPARATOR); + } + case 248: + break; + case 115: { + int count = yylength(); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + zzMarkedPos -= (count - 2); // yypushback(count-2); + yybegin(INTAG_CHECK_TAG_NAME); + } + case 249: + break; + case 73: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_CSS_STRING - cssPrevState); + return firstToken; + } + case 250: + break; + case 71: { + /* End of a function */ addToken(Token.SEPARATOR); + } + case 251: + break; + case 18: { + addToken(Token.MARKUP_TAG_NAME); + } + case 252: + break; + case 10: { + addToken(Token.MARKUP_TAG_ATTRIBUTE); + } + case 253: + break; + case 127: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_KEYWORD); + start = zzMarkedPos; + } + case 254: + break; + case 48: { + start = zzMarkedPos - 1; + yybegin(PHP_CHAR); + } + case 255: + break; + case 105: { + yybegin(phpInState, phpInLangIndex); + addToken(Token.MARKUP_TAG_DELIMITER); + start = zzMarkedPos; + } + case 256: + break; + case 90: { + start = zzMarkedPos - 2; + yybegin(JS_EOL_COMMENT); + } + case 257: + break; + case 41: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_IN_JS_STRING_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_STRING_INVALID); } - case 243: - break; - case 13: { - yybegin(YYINITIAL); - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 244: - break; - case 59: { - addToken(Token.DATA_TYPE); - } - case 245: - break; - case 53: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - addPhpEndToken(INTERNAL_IN_PHP_CHAR); - return firstToken; - } - case 246: - break; - case 55: { - yybegin(PHP); - addToken(start, zzStartRead, Token.LITERAL_CHAR); - } - case 247: - break; - case 33: { - addToken(Token.SEPARATOR); - } - case 248: - break; - case 115: { - int count = yylength(); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - zzMarkedPos -= (count - 2); // yypushback(count-2); - yybegin(INTAG_CHECK_TAG_NAME); - } - case 249: - break; - case 73: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_CSS_STRING - cssPrevState); - return firstToken; - } - case 250: - break; - case 71: { - /* End of a function */ addToken(Token.SEPARATOR); - } - case 251: - break; - case 18: { - addToken(Token.MARKUP_TAG_NAME); - } - case 252: - break; - case 10: { - addToken(Token.MARKUP_TAG_ATTRIBUTE); - } - case 253: - break; - case 127: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_KEYWORD); - start = zzMarkedPos; - } - case 254: - break; - case 48: { - start = zzMarkedPos - 1; - yybegin(PHP_CHAR); - } - case 255: - break; - case 105: { - yybegin(phpInState, phpInLangIndex); - addToken(Token.MARKUP_TAG_DELIMITER); - start = zzMarkedPos; - } - case 256: - break; - case 90: { - start = zzMarkedPos - 2; - yybegin(JS_EOL_COMMENT); - } - case 257: - break; - case 41: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_IN_JS_STRING_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_STRING_INVALID); - } - return firstToken; - } - case 258: - break; - case 93: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 259: - break; - case 15: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE); - } - case 260: - break; - case 117: { - boolean highlightedAsRegex = false; - if (firstToken == null) { + return firstToken; + } + case 258: + break; + case 93: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 259: + break; + case 15: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE); + } + case 260: + break; + case 117: { + boolean highlightedAsRegex = false; + if (firstToken == null) { + addToken(Token.REGEX); + highlightedAsRegex = true; + } else { + // If this is *likely* to be a regex, based on + // the previous token, highlight it as such. + Token t = firstToken.getLastNonCommentNonWhitespaceToken(); + if (RSyntaxUtilities.regexCanFollowInJavaScript(t)) { addToken(Token.REGEX); highlightedAsRegex = true; - } else { - // If this is *likely* to be a regex, based on - // the previous token, highlight it as such. - Token t = firstToken.getLastNonCommentNonWhitespaceToken(); - if (RSyntaxUtilities.regexCanFollowInJavaScript(t)) { - addToken(Token.REGEX); - highlightedAsRegex = true; + } + } + // If it doesn't *appear* to be a regex, highlight it as + // individual tokens. + if (!highlightedAsRegex) { + int temp = zzStartRead + 1; + addToken(zzStartRead, zzStartRead, Token.OPERATOR); + zzStartRead = zzCurrentPos = zzMarkedPos = temp; + } + } + case 261: + break; + case 77: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_CSS_MLC - cssPrevState); + return firstToken; + } + case 262: + break; + case 12: { + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 263: + break; + case 32: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 264: + break; + case 85: { + start = zzMarkedPos - 2; + yybegin(DTD); + } + case 265: + break; + case 20: { + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + yybegin(INTAG); + } + case 266: + break; + case 49: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addPhpEndToken(INTERNAL_IN_PHP_MLC); + return firstToken; + } + case 267: + break; + case 21: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE_SCRIPT); + } + case 268: + break; + case 44: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 269: + break; + case 82: { // TODO: This isn't right. The expression and its + // depth should continue to the next line. + addToken(start, zzStartRead - 1, Token.VARIABLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + return firstToken; + } + case 270: + break; + case 60: { + /* Unknown pseudo class */ addToken(Token.DATA_TYPE); + } + case 271: + break; + case 1: { + } + case 272: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case PHP: { + addPhpEndToken(INTERNAL_IN_PHP); + return firstToken; + } + case 8199: + break; + case INATTR_SINGLE_SCRIPT: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); + return firstToken; + } + case 8200: + break; + case JS_CHAR: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 8201: + break; + case CSS_STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_CSS_STRING - cssPrevState); + return firstToken; + } + case 8202: + break; + case JS_DOCCOMMENT: { + yybegin(YYINITIAL); + addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); + addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); + return firstToken; + } + case 8203: + break; + case JS_MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 8204: + break; + case CSS_CHAR_LITERAL: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + addEndToken(INTERNAL_CSS_CHAR - cssPrevState); + return firstToken; + } + case 8205: + break; + case INTAG_SCRIPT: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_SCRIPT); + return firstToken; + } + case 8206: + break; + case JS_TEMPLATE_LITERAL_EXPR: { + // TODO: This isn't right. The expression and + // its depth should continue to the next line. + addToken(start, zzStartRead - 1, Token.VARIABLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + return firstToken; + } + case 8207: + break; + case CSS_PROPERTY: { + addEndToken(INTERNAL_CSS_PROPERTY); + return firstToken; + } + case 8208: + break; + case CSS_C_STYLE_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_CSS_MLC - cssPrevState); + return firstToken; + } + case 8209: + break; + case PHP_MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addPhpEndToken(INTERNAL_IN_PHP_MLC); + return firstToken; + } + case 8210: + break; + case CSS: { + addEndToken(INTERNAL_CSS); + return firstToken; + } + case 8211: + break; + case CSS_VALUE: { + addEndToken(INTERNAL_CSS_VALUE); + return firstToken; + } + case 8212: + break; + case COMMENT: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + return firstToken; + } + case 8213: + break; + case INATTR_DOUBLE_SCRIPT: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); + return firstToken; + } + case 8214: + break; + case PHP_STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addPhpEndToken(INTERNAL_IN_PHP_STRING); + return firstToken; + } + case 8215: + break; + case JAVASCRIPT: { + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 8216: + break; + case INTAG: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); + return firstToken; + } + case 8217: + break; + case INTAG_CHECK_TAG_NAME: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); + return firstToken; + } + case 8218: + break; + case INATTR_SINGLE_STYLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); + return firstToken; + } + case 8219: + break; + case DTD: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + return firstToken; + } + case 8220: + break; + case PHP_CHAR: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + addPhpEndToken(INTERNAL_IN_PHP_CHAR); + return firstToken; + } + case 8221: + break; + case JS_EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 8222: + break; + case INATTR_DOUBLE_STYLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); + return firstToken; + } + case 8223: + break; + case INATTR_SINGLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE); + return firstToken; + } + case 8224: + break; + case JS_TEMPLATE_LITERAL: { + if (validJSString) { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } + return firstToken; } - // If it doesn't *appear* to be a regex, highlight it as - // individual tokens. - if (!highlightedAsRegex) { - int temp = zzStartRead + 1; - addToken(zzStartRead, zzStartRead, Token.OPERATOR); - zzStartRead = zzCurrentPos = zzMarkedPos = temp; + case 8225: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; } - } - case 261: - break; - case 77: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_CSS_MLC - cssPrevState); - return firstToken; - } - case 262: - break; - case 12: { - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 263: - break; - case 32: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 264: - break; - case 85: { - start = zzMarkedPos - 2; - yybegin(DTD); - } - case 265: - break; - case 20: { - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - yybegin(INTAG); - } - case 266: - break; - case 49: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addPhpEndToken(INTERNAL_IN_PHP_MLC); - return firstToken; - } - case 267: - break; - case 21: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE_SCRIPT); - } - case 268: - break; - case 44: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 269: - break; - case 82: { // TODO: This isn't right. The expression and its - // depth should continue to the next line. - addToken(start, zzStartRead - 1, Token.VARIABLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - return firstToken; - } - case 270: - break; - case 60: { - /* Unknown pseudo class */ addToken(Token.DATA_TYPE); - } - case 271: - break; - case 1: {} - case 272: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case PHP: { - addPhpEndToken(INTERNAL_IN_PHP); - return firstToken; - } - case 8199: - break; - case INATTR_SINGLE_SCRIPT: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); - return firstToken; - } - case 8200: - break; - case JS_CHAR: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 8201: - break; - case CSS_STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_CSS_STRING - cssPrevState); - return firstToken; - } - case 8202: - break; - case JS_DOCCOMMENT: { - yybegin(YYINITIAL); - addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); - addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); - return firstToken; - } - case 8203: - break; - case JS_MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 8204: - break; - case CSS_CHAR_LITERAL: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - addEndToken(INTERNAL_CSS_CHAR - cssPrevState); - return firstToken; - } - case 8205: - break; - case INTAG_SCRIPT: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_SCRIPT); - return firstToken; - } - case 8206: - break; - case JS_TEMPLATE_LITERAL_EXPR: { - // TODO: This isn't right. The expression and - // its depth should continue to the next line. - addToken(start, zzStartRead - 1, Token.VARIABLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - return firstToken; - } - case 8207: - break; - case CSS_PROPERTY: { - addEndToken(INTERNAL_CSS_PROPERTY); - return firstToken; - } - case 8208: - break; - case CSS_C_STYLE_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_CSS_MLC - cssPrevState); - return firstToken; - } - case 8209: - break; - case PHP_MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addPhpEndToken(INTERNAL_IN_PHP_MLC); - return firstToken; - } - case 8210: - break; - case CSS: { - addEndToken(INTERNAL_CSS); - return firstToken; - } - case 8211: - break; - case CSS_VALUE: { - addEndToken(INTERNAL_CSS_VALUE); - return firstToken; - } - case 8212: - break; - case COMMENT: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - return firstToken; - } - case 8213: - break; - case INATTR_DOUBLE_SCRIPT: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); - return firstToken; - } - case 8214: - break; - case PHP_STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addPhpEndToken(INTERNAL_IN_PHP_STRING); - return firstToken; - } - case 8215: - break; - case JAVASCRIPT: { - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 8216: - break; - case INTAG: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); - return firstToken; - } - case 8217: - break; - case INTAG_CHECK_TAG_NAME: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG); - return firstToken; - } - case 8218: - break; - case INATTR_SINGLE_STYLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); - return firstToken; - } - case 8219: - break; - case DTD: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - return firstToken; - } - case 8220: - break; - case PHP_CHAR: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - addPhpEndToken(INTERNAL_IN_PHP_CHAR); - return firstToken; - } - case 8221: - break; - case JS_EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 8222: - break; - case INATTR_DOUBLE_STYLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); - return firstToken; - } - case 8223: - break; - case INATTR_SINGLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE); - return firstToken; - } - case 8224: - break; - case JS_TEMPLATE_LITERAL: { - if (validJSString) { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 8225: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 8226: - break; - case INATTR_DOUBLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE); - return firstToken; - } - case 8227: - break; - case JS_STRING: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS); - return firstToken; - } - case 8228: - break; - case INTAG_STYLE: { - addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_STYLE); - return firstToken; - } - case 8229: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 8226: + break; + case INATTR_DOUBLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE); + return firstToken; } + case 8227: + break; + case JS_STRING: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS); + return firstToken; + } + case 8228: + break; + case INTAG_STYLE: { + addToken(zzMarkedPos, zzMarkedPos, INTERNAL_INTAG_STYLE); + return firstToken; + } + case 8229: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/PerlTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/PerlTokenMaker.java index 50330b9..5d06559 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/PerlTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/PerlTokenMaker.java @@ -21,16 +21,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -40,16 +39,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated PerlTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -57,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -76,7 +75,8 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { private static final String ZZ_CMAP_PACKED = "\11\0\1\12\1\11\1\0\1\12\1\6\22\0\1\12\1\46\1\102" + "\1\7\1\26\1\24\1\50\1\53\1\21\1\25\1\33\1\41\1\22" + "\1\17\1\20\1\32\1\3\1\61\1\62\1\61\1\61\3\5\2\2" + "\1\22\1\22\1\42\1\43\1\45\1\47\1\23\3\4\1\15\1\16" + "\1\104\5\1\1\14\2\1\1\103\4\1\1\105\3\1\1\13\2\1" - + "\1\21\1\10\1\21\1\44\1\1\1\31\1\60\1\70\1\35\1\40" + "\1\57\1\74\1\72\1\56\1\65\1\101\1\71\1\37\1\67\1\73" + + "\1\21\1\10\1\21\1\44\1\1\1\31\1\60\1\70\1\35\1\40" + + "\1\57\1\74\1\72\1\56\1\65\1\101\1\71\1\37\1\67\1\73" + "\1\55\1\54\1\76\1\64\1\34\1\66\1\75\1\63\1\77\1\36" + "\1\100\1\1\1\27\1\52\1\30\1\51\uff81\0"; /** * Translates characters to character classes @@ -86,24 +86,27 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\11\0\1\1\1\2\2\3\1\1\1\4\1\5\1\6" + "\1\7\1\2\1\10\1\2\1\1\1\7\1\10\1\1" - + "\1\11\2\7\5\2\10\7\1\12\24\2\1\13\1\14" + "\1\15\1\16\3\14\1\17\1\14\1\20\1\21\1\22" - + "\1\14\1\23\3\14\1\24\1\14\1\25\5\14\1\26" + "\1\14\1\27\1\14\1\30\2\14\1\31\1\14\1\32" - + "\1\3\1\33\1\32\1\33\1\32\1\34\1\32\1\4" + "\1\35\1\36\1\1\1\0\1\36\1\0\3\36\3\0" + "\1\7\1\0\2\2\2\0\22\2\1\37\1\2\1\40" - + "\2\2\1\40\4\2\10\0\1\7\7\2\1\40\31\2" + "\1\1\1\0\1\2\2\0\1\2\1\37\6\2\1\40" + "\2\2\1\37\1\40\14\2\1\1\3\0\1\2\1\15" - + "\1\41\1\14\1\0\2\41\1\0\1\20\1\42\1\14" + "\1\0\2\42\1\0\1\14\1\43\1\14\1\0\2\43" + "\1\0\3\14\10\0\1\33\1\0\2\34\1\0\1\44" - + "\1\0\1\2\2\0\14\2\1\40\6\2\1\37\15\2" + "\15\0\33\2\1\37\1\2\1\0\2\45\7\2\1\40" + "\10\2\1\1\3\0\5\2\1\0\1\1\5\0\1\46" - + "\1\0\1\46\11\0\1\45\10\2\1\37\26\2\4\0" + "\1\47\5\0\1\37\11\2\1\37\5\2\1\37\17\2" + "\1\0\4\45\2\2\1\37\1\2\1\0\2\45\1\50" - + "\1\51\5\0\16\2\1\37\2\2\1\52\1\53\6\0" + "\2\2\1\37\25\2\1\45\2\2\3\0\1\37\7\2" + "\7\0\14\2\1\0\4\2\1\54\1\55\1\0\10\2" - + "\1\0\1\2\1\0\4\2\1\0\12\2"; - + private static final String ZZ_ACTION_PACKED_0 = "\11\0\1\1\1\2\2\3\1\1\1\4\1\5\1\6" + + "\1\7\1\2\1\10\1\2\1\1\1\7\1\10\1\1" + "\1\11\2\7\5\2\10\7\1\12\24\2\1\13\1\14" + + "\1\15\1\16\3\14\1\17\1\14\1\20\1\21\1\22" + "\1\14\1\23\3\14\1\24\1\14\1\25\5\14\1\26" + + "\1\14\1\27\1\14\1\30\2\14\1\31\1\14\1\32" + "\1\3\1\33\1\32\1\33\1\32\1\34\1\32\1\4" + + "\1\35\1\36\1\1\1\0\1\36\1\0\3\36\3\0" + "\1\7\1\0\2\2\2\0\22\2\1\37\1\2\1\40" + + "\2\2\1\40\4\2\10\0\1\7\7\2\1\40\31\2" + "\1\1\1\0\1\2\2\0\1\2\1\37\6\2\1\40" + + "\2\2\1\37\1\40\14\2\1\1\3\0\1\2\1\15" + "\1\41\1\14\1\0\2\41\1\0\1\20\1\42\1\14" + + "\1\0\2\42\1\0\1\14\1\43\1\14\1\0\2\43" + "\1\0\3\14\10\0\1\33\1\0\2\34\1\0\1\44" + + "\1\0\1\2\2\0\14\2\1\40\6\2\1\37\15\2" + "\15\0\33\2\1\37\1\2\1\0\2\45\7\2\1\40" + + "\10\2\1\1\3\0\5\2\1\0\1\1\5\0\1\46" + "\1\0\1\46\11\0\1\45\10\2\1\37\26\2\4\0" + + "\1\47\5\0\1\37\11\2\1\37\5\2\1\37\17\2" + "\1\0\4\45\2\2\1\37\1\2\1\0\2\45\1\50" + + "\1\51\5\0\16\2\1\37\2\2\1\52\1\53\6\0" + "\2\2\1\37\25\2\1\45\2\2\3\0\1\37\7\2" + + "\7\0\14\2\1\0\4\2\1\54\1\55\1\0\10\2" + "\1\0\1\2\1\0\4\2\1\0\12\2"; + private static int[] zzUnpackAction() { int[] result = new int[601]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -117,7 +120,7 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -197,14 +200,14 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\0\u8f8e\0\u8fd4\0\u901a\0\u9060\0\u90a6\0\u90ec\0\u9132\0\u9178" + "\0\u91be\0\u9204\0\u924a\0\u9290\0\u92d6\0\u931c\0\u9362\0\u93a8" + "\0\u93ee\0\u9434\0\u947a\0\u94c0\0\u9506\0\u954c\0\u9592\0\u95d8" + "\0\u961e"; - + private static int[] zzUnpackRowMap() { int[] result = new int[601]; 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 */ @@ -215,37 +218,40 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\12\1\13\1\14\1\15\1\13\1\14\1\16\1\17" + "\1\12\1\20\1\21\4\13\1\22\1\23\1\24\1\25" - + "\1\26\1\27\1\30\1\31\2\24\1\32\1\33\1\34" + "\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44" - + "\1\45\1\46\1\47\1\50\1\51\1\50\1\45\1\52" + "\1\53\1\54\1\55\1\56\1\57\2\14\1\60\1\61" - + "\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71" + "\1\72\1\73\1\74\1\75\1\76\1\77\3\13\10\100" - + "\1\101\1\102\11\100\2\103\1\104\1\105\53\100\1\106" + "\3\100\10\107\1\110\1\111\41\107\1\112\32\107\10\113" + private static final String ZZ_TRANS_PACKED_0 = "\1\12\1\13\1\14\1\15\1\13\1\14\1\16\1\17" + + "\1\12\1\20\1\21\4\13\1\22\1\23\1\24\1\25" + "\1\26\1\27\1\30\1\31\2\24\1\32\1\33\1\34" + + "\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44" + "\1\45\1\46\1\47\1\50\1\51\1\50\1\45\1\52" + + "\1\53\1\54\1\55\1\56\1\57\2\14\1\60\1\61" + "\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71" + + "\1\72\1\73\1\74\1\75\1\76\1\77\3\13\10\100" + "\1\101\1\102\11\100\2\103\1\104\1\105\53\100\1\106" + + "\3\100\10\107\1\110\1\111\41\107\1\112\32\107\10\113" + "\1\101\1\114\11\113\2\115\1\116\1\117\2\113\1\120" + "\54\113\10\121\1\101\1\122\4\121\1\123\4\121\2\124" - + "\1\125\1\126\57\121\10\127\1\101\1\130\4\127\1\131" + "\67\127\10\121\1\101\1\132\4\121\1\133\4\121\2\124" + + "\1\125\1\126\57\121\10\127\1\101\1\130\4\127\1\131" + + "\67\127\10\121\1\101\1\132\4\121\1\133\4\121\2\124" + "\1\125\1\126\57\121\10\127\1\101\1\134\4\127\1\135" + "\67\127\11\136\1\137\31\136\1\140\42\136\6\12\1\0" - + "\2\12\2\0\4\12\4\0\1\12\2\0\1\12\5\0" + "\5\12\13\0\26\12\1\0\4\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\26\13\1\0\3\13\2\141\2\14\1\141\1\14" + "\1\0\2\141\2\0\1\141\1\142\1\143\1\144\1\0" - + "\1\145\2\0\1\141\2\0\1\141\5\0\3\141\1\142" + "\1\143\13\0\3\141\1\144\1\141\2\14\11\141\1\143" - + "\5\141\1\0\1\141\1\143\3\141\1\146\1\147\1\141" + "\1\147\1\0\2\141\2\0\1\150\1\142\1\143\1\144" - + "\1\0\1\145\2\0\1\141\2\0\1\141\5\0\2\141" + "\1\150\1\142\1\143\13\0\3\141\1\144\1\141\2\147" - + "\11\141\1\143\5\141\1\0\1\141\1\143\1\141\106\0" + "\11\151\1\0\34\151\1\152\37\151\12\0\1\21\112\0" - + "\1\50\23\0\1\50\1\0\1\50\42\0\2\145\1\0" + "\1\145\53\0\2\145\23\0\1\12\1\153\2\12\1\153" - + "\1\12\1\0\2\12\2\0\4\153\4\0\1\12\2\0" + "\1\154\1\155\4\0\5\153\13\0\5\153\2\12\17\153" - + "\1\0\3\153\1\0\1\156\2\0\1\156\6\0\4\156" + "\7\0\1\157\1\155\4\0\5\156\2\0\1\50\10\0" - + "\5\156\2\0\17\156\1\0\3\156\1\0\1\156\2\0" + "\1\156\6\0\4\156\7\0\1\157\1\155\4\0\5\156" - + "\13\0\5\156\2\0\17\156\1\0\3\156\1\12\1\153" + "\2\160\1\153\1\160\1\0\2\160\2\0\4\153\4\161" - + "\1\160\2\161\1\162\1\163\1\0\3\161\5\153\13\161" + "\5\153\2\160\17\153\1\161\3\153\10\164\1\165\21\164" - + "\2\0\7\164\1\166\42\164\43\0\1\50\7\0\1\50" + "\26\0\1\50\3\0\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\3\0\1\167\1\0" + "\1\13\1\170\1\13\1\171\1\13\5\0\1\172\3\0" - + "\1\173\1\0\1\174\1\175\1\176\1\177\4\13\1\200" + "\1\201\1\202\6\13\1\203\1\204\1\13\1\205\1\13" - + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\3\13\1\206\1\13" - + "\13\0\1\13\1\207\1\210\1\13\1\211\3\13\1\212" + "\2\13\1\213\12\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\1\13\1\214\24\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\2\12\2\0\4\12\4\0\1\12\2\0\1\12\5\0" + "\5\12\13\0\26\12\1\0\4\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\26\13\1\0\3\13\2\141\2\14\1\141\1\14" + + "\1\0\2\141\2\0\1\141\1\142\1\143\1\144\1\0" + "\1\145\2\0\1\141\2\0\1\141\5\0\3\141\1\142" + + "\1\143\13\0\3\141\1\144\1\141\2\14\11\141\1\143" + "\5\141\1\0\1\141\1\143\3\141\1\146\1\147\1\141" + + "\1\147\1\0\2\141\2\0\1\150\1\142\1\143\1\144" + "\1\0\1\145\2\0\1\141\2\0\1\141\5\0\2\141" + + "\1\150\1\142\1\143\13\0\3\141\1\144\1\141\2\147" + "\11\141\1\143\5\141\1\0\1\141\1\143\1\141\106\0" + + "\11\151\1\0\34\151\1\152\37\151\12\0\1\21\112\0" + "\1\50\23\0\1\50\1\0\1\50\42\0\2\145\1\0" + + "\1\145\53\0\2\145\23\0\1\12\1\153\2\12\1\153" + "\1\12\1\0\2\12\2\0\4\153\4\0\1\12\2\0" + + "\1\154\1\155\4\0\5\153\13\0\5\153\2\12\17\153" + "\1\0\3\153\1\0\1\156\2\0\1\156\6\0\4\156" + + "\7\0\1\157\1\155\4\0\5\156\2\0\1\50\10\0" + "\5\156\2\0\17\156\1\0\3\156\1\0\1\156\2\0" + + "\1\156\6\0\4\156\7\0\1\157\1\155\4\0\5\156" + "\13\0\5\156\2\0\17\156\1\0\3\156\1\12\1\153" + + "\2\160\1\153\1\160\1\0\2\160\2\0\4\153\4\161" + "\1\160\2\161\1\162\1\163\1\0\3\161\5\153\13\161" + + "\5\153\2\160\17\153\1\161\3\153\10\164\1\165\21\164" + "\2\0\7\164\1\166\42\164\43\0\1\50\7\0\1\50" + + "\26\0\1\50\3\0\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\3\0\1\167\1\0" + + "\1\13\1\170\1\13\1\171\1\13\5\0\1\172\3\0" + "\1\173\1\0\1\174\1\175\1\176\1\177\4\13\1\200" + + "\1\201\1\202\6\13\1\203\1\204\1\13\1\205\1\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + + "\4\0\1\12\2\0\1\12\5\0\3\13\1\206\1\13" + "\13\0\1\13\1\207\1\210\1\13\1\211\3\13\1\212" + + "\2\13\1\213\12\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\5\13\13\0\1\13\1\214\24\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\1\215\1\216\3\13\13\0\1\13\1\217" + "\1\13\1\220\1\221\4\13\1\222\14\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\1\13\1\223\1\13" + "\1\224\5\13\1\225\2\13\1\226\4\13\1\227\4\13" + "\1\0\3\13\41\0\1\50\1\0\1\50\104\0\1\230" @@ -254,30 +260,31 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\26\0\1\50\3\0\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\1\13\1\241\2\13\1\242\3\13\1\243\1\244\7\13" + "\1\245\4\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\1\13" + "\1\246\3\13\13\0\1\247\7\13\1\250\10\13\1\251" - + "\4\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\3\13\1\252\22\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\253\1\13\1\254\1\255\1\13\13\0\1\13\1\256" - + "\2\13\1\257\2\13\1\260\7\13\1\261\2\13\1\223" + "\3\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\1\13\1\262" + "\1\13\1\263\1\13\13\0\12\13\1\264\1\13\1\265" - + "\2\13\1\266\6\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\5\13\13\0\3\13\1\267\1\270\21\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\3\13\1\271\1\272" + "\4\13\1\273\1\13\1\274\12\13\1\0\3\13\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\1\13\1\275\15\13\1\276" - + "\1\223\5\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\3\13\1\277\4\13\1\300\1\301\14\13\1\0" + "\3\13\1\12\5\13\1\0\1\12\1\302\2\0\4\13" - + "\4\0\1\12\2\0\1\12\3\0\1\303\1\0\1\304" + "\4\13\5\0\1\305\3\0\1\306\1\0\4\13\1\307" - + "\10\13\1\274\6\13\1\310\1\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\3\13\1\311\1\13\13\0\11\13\1\312" + "\14\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\3\13\1\313\5\13\1\314\14\13\1\0\3\13\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\3\13\1\315\1\13\13\0\1\13\1\316" - + "\1\13\1\317\4\13\1\320\2\13\1\321\12\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\1\13\1\322" + "\1\13\1\323\22\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\13\1\324\1\13\1\325\1\13\13\0\1\13\1\326" - + "\7\13\1\327\14\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\1\225\1\216\3\13\13\0\12\13\1\330\1\331\3\13" + "\1\332\6\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\10\13\1\333\10\13\1\334\4\13\1\0\3\13" - + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\2\13\1\335\1\13" - + "\1\336\3\13\1\337\15\13\1\0\3\13\1\12\5\13" + "\1\0\1\12\1\340\2\0\4\13\4\0\1\12\2\0" - + "\1\12\3\0\1\341\1\0\5\13\5\0\1\342\3\0" + "\1\343\1\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\4\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\3\13\1\252\22\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\1\253\1\13\1\254\1\255\1\13\13\0\1\13\1\256" + "\2\13\1\257\2\13\1\260\7\13\1\261\2\13\1\223" + + "\3\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\1\13\1\262" + + "\1\13\1\263\1\13\13\0\12\13\1\264\1\13\1\265" + "\2\13\1\266\6\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\3\13\1\267\1\270\21\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\3\13\1\271\1\272" + + "\4\13\1\273\1\13\1\274\12\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\1\12\5\0\5\13\13\0\1\13\1\275\15\13\1\276" + "\1\223\5\13\1\0\3\13\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\3\13\1\277\4\13\1\300\1\301\14\13\1\0" + + "\3\13\1\12\5\13\1\0\1\12\1\302\2\0\4\13" + "\4\0\1\12\2\0\1\12\3\0\1\303\1\0\1\304" + + "\4\13\5\0\1\305\3\0\1\306\1\0\4\13\1\307" + "\10\13\1\274\6\13\1\310\1\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\3\13\1\311\1\13\13\0\11\13\1\312" + + "\14\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\3\13\1\313\5\13\1\314\14\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\1\12\5\0\3\13\1\315\1\13\13\0\1\13\1\316" + "\1\13\1\317\4\13\1\320\2\13\1\321\12\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\1\13\1\322" + + "\1\13\1\323\22\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\1\13\1\324\1\13\1\325\1\13\13\0\1\13\1\326" + "\7\13\1\327\14\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\225\1\216\3\13\13\0\12\13\1\330\1\331\3\13" + + "\1\332\6\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\13\0\10\13\1\333\10\13\1\334\4\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + + "\2\0\1\12\5\0\5\13\13\0\2\13\1\335\1\13" + "\1\336\3\13\1\337\15\13\1\0\3\13\1\12\5\13" + + "\1\0\1\12\1\340\2\0\4\13\4\0\1\12\2\0" + "\1\12\3\0\1\341\1\0\5\13\5\0\1\342\3\0" + + "\1\343\1\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\1\13\1\344\24\13\1\0\3\13\10\100" + "\2\0\11\100\2\0\1\100\1\0\53\100\1\0\3\100" + "\11\345\1\0\74\345\1\0\1\346\2\0\1\346\6\0" + "\4\346\7\0\1\347\1\350\4\0\5\346\13\0\5\346" + "\2\0\17\346\1\0\3\346\10\100\2\0\11\100\2\0" + "\1\100\1\347\53\100\1\0\3\100\1\0\1\346\2\351" @@ -301,27 +308,30 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\1\0\1\141\1\143\3\141\1\146\1\147\1\141\1\147" + "\1\0\2\141\2\0\1\141\1\u0107\1\143\1\144\1\0" + "\1\145\2\0\1\141\2\0\1\141\5\0\3\141\1\u0107" + "\1\143\13\0\3\141\1\144\1\141\2\147\11\141\1\143" + "\5\141\1\0\1\141\1\143\3\141\4\u0108\1\0\2\141" + "\2\0\2\141\2\u0108\4\0\1\141\2\0\1\141\5\0" - + "\1\141\1\u0108\2\141\1\u0108\13\0\3\141\4\u0108\5\141" + "\1\u0108\3\141\1\u0108\5\141\1\0\1\141\1\u0108\1\141" - + "\11\151\1\0\74\151\11\152\1\0\74\152\1\12\5\153" + "\1\0\2\12\2\0\4\153\4\0\1\12\2\0\1\12" - + "\5\0\5\153\13\0\26\153\1\0\3\153\1\12\1\153" + "\2\12\1\153\1\12\1\0\2\12\2\0\4\153\4\0" - + "\1\12\2\0\1\12\1\155\4\0\5\153\13\0\5\153" + "\2\12\17\153\1\0\3\153\1\0\1\u0109\2\0\1\u0109" - + "\6\0\4\u0109\15\0\5\u0109\13\0\5\u0109\2\0\17\u0109" + "\1\0\3\u0109\1\0\5\156\5\0\4\156\15\0\5\156" - + "\13\0\26\156\1\0\3\156\1\0\1\156\2\0\1\156" + "\6\0\4\156\10\0\1\155\4\0\5\156\13\0\5\156" - + "\2\0\17\156\1\0\3\156\1\0\1\u0109\2\0\1\u0109" + "\2\0\2\161\2\0\4\u0109\10\161\1\0\4\161\5\u0109" - + "\13\161\5\u0109\2\0\17\u0109\1\161\3\u0109\10\164\1\165" + "\21\164\1\u010a\64\164\1\0\74\164\32\167\1\u010b\53\167" - + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\4\13\1\u010c\21\13" - + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\3\13" - + "\1\320\22\13\1\0\3\13\46\172\1\u010d\37\172\52\173" + "\1\u010e\33\173\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\3\13\1\u010f\1\13" + "\13\0\10\13\1\u0110\15\13\1\0\3\13\1\12\5\13" - + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\1\13\1\u0111\3\13\13\0\10\13\1\246\15\13" - + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\11\13" - + "\1\u0112\1\13\1\u0113\5\13\1\u0114\4\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\3\13\1\u0115\1\13\13\0\3\13" + "\1\u0116\6\13\1\u0117\1\u0118\3\13\1\u0119\6\13\1\0" - + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\4\13\1\272" + "\21\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\17\13\1\310\6\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\5\13\13\0\4\13\1\246\14\13\1\u011a\4\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\14\13\1\u011b" + "\11\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\10\13\1\246\15\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\1\141\1\u0108\2\141\1\u0108\13\0\3\141\4\u0108\5\141" + + "\1\u0108\3\141\1\u0108\5\141\1\0\1\141\1\u0108\1\141" + "\11\151\1\0\74\151\11\152\1\0\74\152\1\12\5\153" + + "\1\0\2\12\2\0\4\153\4\0\1\12\2\0\1\12" + "\5\0\5\153\13\0\26\153\1\0\3\153\1\12\1\153" + + "\2\12\1\153\1\12\1\0\2\12\2\0\4\153\4\0" + "\1\12\2\0\1\12\1\155\4\0\5\153\13\0\5\153" + + "\2\12\17\153\1\0\3\153\1\0\1\u0109\2\0\1\u0109" + "\6\0\4\u0109\15\0\5\u0109\13\0\5\u0109\2\0\17\u0109" + + "\1\0\3\u0109\1\0\5\156\5\0\4\156\15\0\5\156" + "\13\0\26\156\1\0\3\156\1\0\1\156\2\0\1\156" + + "\6\0\4\156\10\0\1\155\4\0\5\156\13\0\5\156" + "\2\0\17\156\1\0\3\156\1\0\1\u0109\2\0\1\u0109" + + "\2\0\2\161\2\0\4\u0109\10\161\1\0\4\161\5\u0109" + + "\13\161\5\u0109\2\0\17\u0109\1\161\3\u0109\10\164\1\165" + + "\21\164\1\u010a\64\164\1\0\74\164\32\167\1\u010b\53\167" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + + "\2\0\1\12\5\0\5\13\13\0\4\13\1\u010c\21\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\3\13" + "\1\320\22\13\1\0\3\13\46\172\1\u010d\37\172\52\173" + + "\1\u010e\33\173\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\3\13\1\u010f\1\13" + + "\13\0\10\13\1\u0110\15\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + + "\5\0\1\13\1\u0111\3\13\13\0\10\13\1\246\15\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\11\13" + "\1\u0112\1\13\1\u0113\5\13\1\u0114\4\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\3\13\1\u0115\1\13\13\0\3\13" + + "\1\u0116\6\13\1\u0117\1\u0118\3\13\1\u0119\6\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\1\12\2\0\1\12\5\0\5\13\13\0\4\13\1\272" + "\21\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\17\13\1\310\6\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\4\13\1\246\14\13\1\u011a\4\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\14\13\1\u011b" + + "\11\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\10\13\1\246\15\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\u011c\4\13\13\0\13\13\1\u011d\12\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\1\13\1\u011e\24\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\1\310\4\13\13\0" + "\17\13\1\u011f\6\13\1\0\3\13\1\12\5\13\1\0" @@ -339,32 +349,36 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\1\u012a\4\13\13\0\26\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\1\u012b\4\13\13\0\17\13\1\u012c\6\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\3\13\1\u012d\1\13\13\0" + "\20\13\1\u012e\5\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\3\13\1\310\22\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\13\13\1\u012f\12\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\13\13\1\307" + "\12\13\1\0\3\13\12\0\1\u0130\3\0\1\u0131\12\0" - + "\1\u0132\11\0\1\50\7\0\1\u0133\26\0\1\u0134\60\0" + "\1\u0135\113\0\1\u0136\101\0\1\u0137\121\0\1\u0138\100\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\3\13\1\310\22\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\13\13\1\u012f\12\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\13\13\1\307" + + "\12\13\1\0\3\13\12\0\1\u0130\3\0\1\u0131\12\0" + "\1\u0132\11\0\1\50\7\0\1\u0133\26\0\1\u0134\60\0" + + "\1\u0135\113\0\1\u0136\101\0\1\u0137\121\0\1\u0138\100\0" + "\1\u0139\76\0\1\u013a\1\u013b\102\0\1\u013c\73\0\1\50" + "\1\0\1\45\40\0\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\1\310\4\13" + "\13\0\1\310\25\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\1\13\1\u013d\3\13\13\0\26\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\1\13\1\u013e\7\13\1\u013f" + "\14\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\1\225\25\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\1\u0140" + "\4\13\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\4\13\4\0\1\12\2\0\1\12\5\0\1\310\4\13" + "\13\0\1\310\25\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\13\1\u013d\3\13\13\0\26\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\1\13\1\u013e\7\13\1\u013f" + + "\14\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\1\225\25\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\1\u0140" + + "\4\13\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\12\13\1\310\13\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\3\13\1\u0141\22\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\4\13\1\310\13\0\26\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\10\13" + "\1\310\15\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\2\13" - + "\1\310\2\13\13\0\26\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\5\13\13\0\4\13\1\u0142\21\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\1\310\2\13\1\267" + "\5\13\1\u0143\14\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\u0144\4\13\13\0\26\13\1\0\3\13\1\12\5\13" - + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\20\13\1\310\5\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\10\13" + "\1\310\15\13\1\0\3\13\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\2\13" + "\1\310\2\13\13\0\26\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\4\13\1\u0142\21\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\1\310\2\13\1\267" + + "\5\13\1\u0143\14\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\1\u0144\4\13\13\0\26\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + + "\5\0\5\13\13\0\20\13\1\310\5\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\1\13\1\u0140\3\13\13\0\26\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\4\13" + "\1\u0145\21\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\4\13" + "\1\u0146\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\1\13\1\u0147\3\13\13\0\26\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\4\13\1\u0148\21\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\4\13\1\u0149" + "\21\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\1\310\4\13" + "\13\0\26\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\4\13" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\4\13" + "\1\u0146\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\13\1\u0147\3\13\13\0\26\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\4\13\1\u0148\21\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\4\13\1\u0149" + + "\21\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\1\310\4\13" + + "\13\0\26\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\4\13" + "\1\223\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\13\1\310\3\13\13\0\26\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\3\13\1\u014a\1\13\13\0\26\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" @@ -372,44 +386,47 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\1\u0151\1\310\1\13\1\u0152\1\u0153\2\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\17\13\1\u0119\6\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\17\13" + "\1\u0154\6\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\4\13" + "\1\u0120\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\1\13\1\u0155\3\13\13\0\26\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\4\13\1\55\13\0\12\13\1\310\13\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\3\13\1\u0156\1\13" + "\13\0\26\13\1\0\3\13\1\12\5\13\1\0\1\12" - + "\1\340\2\0\4\13\4\0\1\12\2\0\1\12\3\0" + "\1\341\1\0\5\13\5\0\1\342\3\0\1\343\1\0" - + "\21\13\1\u0157\4\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\5\13\13\0\3\13\1\u0158\7\13\1\u0159\12\13\1\0" + "\3\13\6\302\1\u015a\1\302\1\u015b\2\u015a\4\302\4\u015a" - + "\1\302\2\u015a\1\302\5\u015a\5\302\13\u015a\26\302\1\u015a" + "\3\302\32\303\1\u015c\53\303\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\16\13\1\u015d\7\13\1\0\3\13\46\305\1\u015c" - + "\37\305\52\306\1\u015c\33\306\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\1\310\25\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\5\13\13\0\3\13\1\u015e\22\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\17\13\1\u015f\6\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\24\13\1\265" + "\1\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\3\13\1\u0145" + "\1\13\13\0\26\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\1\13\1\u0160\24\13\1\0\3\13\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\12\13\1\u0161\13\13\1\0" - + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\12\13\1\u0162" - + "\13\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" - + "\3\13\1\307\22\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\5\13\13\0\12\13\1\330\13\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\12\13\1\223\13\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\2\13\1\u012a\2\13\13\0" + "\26\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\17\13\1\u0155\6\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\1\13\1\u0163\24\13\1\0\3\13\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\10\13\1\u0164\15\13\1\0" - + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\3\13\1\u0165\1\13\13\0" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\4\13" + "\1\u0120\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\13\1\u0155\3\13\13\0\26\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\4\13\1\55\13\0\12\13\1\310\13\13" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\3\13\1\u0156\1\13" + + "\13\0\26\13\1\0\3\13\1\12\5\13\1\0\1\12" + "\1\340\2\0\4\13\4\0\1\12\2\0\1\12\3\0" + + "\1\341\1\0\5\13\5\0\1\342\3\0\1\343\1\0" + "\21\13\1\u0157\4\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\3\13\1\u0158\7\13\1\u0159\12\13\1\0" + + "\3\13\6\302\1\u015a\1\302\1\u015b\2\u015a\4\302\4\u015a" + + "\1\302\2\u015a\1\302\5\u015a\5\302\13\u015a\26\302\1\u015a" + + "\3\302\32\303\1\u015c\53\303\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\13\0\16\13\1\u015d\7\13\1\0\3\13\46\305\1\u015c" + "\37\305\52\306\1\u015c\33\306\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\1\310\25\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\3\13\1\u015e\22\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\17\13\1\u015f\6\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\24\13\1\265" + + "\1\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\3\13\1\u0145" + + "\1\13\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\5\13\13\0\1\13\1\u0160\24\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\1\12\5\0\5\13\13\0\12\13\1\u0161\13\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\1\12\2\0\1\12\5\0\5\13\13\0\12\13\1\u0162" + "\13\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\3\13\1\307\22\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\12\13\1\330\13\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\12\13\1\223\13\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\2\13\1\u012a\2\13\13\0" + "\26\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" - + "\11\13\1\u0166\14\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\5\13\13\0\4\13\1\u0167\21\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\1\u0168\2\13\1\u0169\1\u016a\13\0\1\u016b" + "\11\13\1\u016c\13\13\1\0\3\13\1\12\5\13\1\0" - + "\1\12\1\u016d\2\0\4\13\4\0\1\12\2\0\1\12" + "\3\0\1\u016e\1\0\5\13\5\0\1\u016f\3\0\1\u0170" - + "\1\0\26\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\1\13\1\u0171\24\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\5\13\13\0\11\13\1\u0172\14\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\10\13\1\201\1\u0173" + "\5\13\1\u0174\6\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\11\13\1\u0175\14\13\1\0\3\13\6\340" - + "\1\u0176\1\340\1\u0177\2\u0176\4\340\4\u0176\1\340\2\u0176" + "\1\340\5\u0176\5\340\13\u0176\26\340\1\u0176\3\340\32\341" + + "\17\13\1\u0155\6\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\5\13\13\0\1\13\1\u0163\24\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\1\12\5\0\5\13\13\0\10\13\1\u0164\15\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\1\12\2\0\1\12\5\0\3\13\1\u0165\1\13\13\0" + "\26\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\11\13\1\u0166\14\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\4\13\1\u0167\21\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\1\u0168\2\13\1\u0169\1\u016a\13\0\1\u016b" + + "\11\13\1\u016c\13\13\1\0\3\13\1\12\5\13\1\0" + "\1\12\1\u016d\2\0\4\13\4\0\1\12\2\0\1\12" + + "\3\0\1\u016e\1\0\5\13\5\0\1\u016f\3\0\1\u0170" + "\1\0\26\13\1\0\3\13\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\1\13\1\u0171\24\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\11\13\1\u0172\14\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\10\13\1\201\1\u0173" + + "\5\13\1\u0174\6\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\5\13\13\0\11\13\1\u0175\14\13\1\0\3\13\6\340" + + "\1\u0176\1\340\1\u0177\2\u0176\4\340\4\u0176\1\340\2\u0176" + + "\1\340\5\u0176\5\340\13\u0176\26\340\1\u0176\3\340\32\341" + "\1\u0178\53\341\46\342\1\u0179\37\342\52\343\1\u017a\33\343" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\11\13\1\201\14\13" + "\1\0\3\13\1\0\5\346\5\0\4\346\15\0\5\346" + "\13\0\26\346\1\0\3\346\1\0\1\346\2\0\1\346" + "\6\0\4\346\10\0\1\350\4\0\5\346\13\0\5\346" @@ -418,25 +435,29 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\2\0\17\u017b\1\351\3\u017b\1\0\5\355\5\0\4\355" + "\15\0\5\355\13\0\26\355\1\0\3\355\1\0\1\355" + "\2\0\1\355\6\0\4\355\10\0\1\357\4\0\5\355" + "\13\0\5\355\2\0\17\355\1\0\3\355\1\0\1\u017c" + "\2\0\1\u017c\6\0\4\u017c\15\0\5\u017c\13\0\5\u017c" + "\2\0\17\u017c\1\0\3\u017c\1\0\1\u017c\2\0\1\u017c" - + "\2\0\2\360\2\0\4\u017c\10\360\1\0\4\360\5\u017c" + "\13\360\5\u017c\2\0\17\u017c\1\360\3\u017c\10\121\2\0" - + "\11\121\2\0\1\121\1\0\55\121\1\u017d\1\121\1\0" + "\5\364\5\0\4\364\15\0\5\364\13\0\26\364\1\0" - + "\3\364\1\0\1\364\2\0\1\364\6\0\4\364\10\0" + "\1\366\4\0\5\364\13\0\5\364\2\0\17\364\1\0" - + "\3\364\1\0\1\u017e\2\0\1\u017e\6\0\4\u017e\15\0" + "\5\u017e\13\0\5\u017e\2\0\17\u017e\1\0\3\u017e\1\0" - + "\1\u017e\2\0\1\u017e\2\0\2\367\2\0\4\u017e\10\367" + "\1\0\4\367\5\u017e\13\367\5\u017e\2\0\17\u017e\1\367" + + "\2\0\2\360\2\0\4\u017c\10\360\1\0\4\360\5\u017c" + + "\13\360\5\u017c\2\0\17\u017c\1\360\3\u017c\10\121\2\0" + "\11\121\2\0\1\121\1\0\55\121\1\u017d\1\121\1\0" + + "\5\364\5\0\4\364\15\0\5\364\13\0\26\364\1\0" + "\3\364\1\0\1\364\2\0\1\364\6\0\4\364\10\0" + + "\1\366\4\0\5\364\13\0\5\364\2\0\17\364\1\0" + "\3\364\1\0\1\u017e\2\0\1\u017e\6\0\4\u017e\15\0" + + "\5\u017e\13\0\5\u017e\2\0\17\u017e\1\0\3\u017e\1\0" + "\1\u017e\2\0\1\u017e\2\0\2\367\2\0\4\u017e\10\367" + + "\1\0\4\367\5\u017e\13\367\5\u017e\2\0\17\u017e\1\367" + "\3\u017e\10\127\2\0\72\127\1\u017f\1\127\10\121\2\0" + "\11\121\2\0\1\121\1\0\56\121\1\u017d\10\127\2\0" - + "\73\127\1\u017f\75\0\1\u0180\65\0\1\u0181\113\0\1\u0182" + "\101\0\1\u0183\121\0\1\u0184\100\0\1\u0185\76\0\1\u0186" + + "\73\127\1\u017f\75\0\1\u0180\65\0\1\u0181\113\0\1\u0182" + + "\101\0\1\u0183\121\0\1\u0184\100\0\1\u0185\76\0\1\u0186" + "\1\u0187\102\0\1\u0188\30\0\2\141\2\u0105\1\141\1\u0105" + "\1\0\2\141\2\0\2\141\1\143\1\141\4\0\1\141" + "\2\0\1\141\5\0\4\141\1\143\13\0\5\141\2\u0105" + "\11\141\1\143\5\141\1\0\1\141\1\143\1\141\2\0" + "\2\u0105\1\0\1\u0105\53\0\2\u0105\23\0\2\141\4\u0108" + "\1\0\2\141\2\0\1\141\1\u0107\2\u0108\4\0\1\141" - + "\2\0\1\141\5\0\1\141\1\u0108\1\141\1\u0107\1\u0108" + "\13\0\3\141\4\u0108\5\141\1\u0108\3\141\1\u0108\5\141" + + "\2\0\1\141\5\0\1\141\1\u0108\1\141\1\u0107\1\u0108" + + "\13\0\3\141\4\u0108\5\141\1\u0108\3\141\1\u0108\5\141" + "\1\0\1\141\1\u0108\1\141\1\0\5\u0109\5\0\4\u0109" + "\11\0\1\161\3\0\5\u0109\13\0\26\u0109\1\0\3\u0109" - + "\34\0\5\u010a\13\0\2\u010a\2\0\1\u010a\4\0\1\u010a" + "\1\0\1\u010a\2\0\1\u010a\2\0\1\u010a\10\0\32\u010b" - + "\1\u0189\53\u010b\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\3\13\1\u018a\1\13" - + "\13\0\26\13\1\0\3\13\46\u010d\1\u0189\37\u010d\52\u010e" + "\1\u0189\33\u010e\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\11\13" + "\1\u018b\14\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\11\13\1\u018c\14\13\1\0\3\13\1\12\5\13" - + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\15\13\1\u018d\10\13\1\0\3\13" - + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\20\13\1\246\5\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + + "\34\0\5\u010a\13\0\2\u010a\2\0\1\u010a\4\0\1\u010a" + + "\1\0\1\u010a\2\0\1\u010a\2\0\1\u010a\10\0\32\u010b" + "\1\u0189\53\u010b\1\12\5\13\1\0\2\12\2\0\4\13" + + "\4\0\1\12\2\0\1\12\5\0\3\13\1\u018a\1\13" + "\13\0\26\13\1\0\3\13\46\u010d\1\u0189\37\u010d\52\u010e" + + "\1\u0189\33\u010e\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\11\13" + + "\1\u018b\14\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\13\0\11\13\1\u018c\14\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + + "\5\0\5\13\13\0\15\13\1\u018d\10\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + + "\2\0\1\12\5\0\5\13\13\0\20\13\1\246\5\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\1\13\1\u0155\3\13" + "\13\0\10\13\1\u018e\5\13\1\u014b\4\13\1\u018f\2\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\12\13" + "\1\u0190\13\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" @@ -469,24 +490,27 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\1\u0175\22\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\11\13\1\u01a7\14\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\1\13\1\u01a8\3\13\13\0\1\13\1\u019c\24\13" + "\1\0\3\13\12\0\1\u0130\16\0\1\u0132\21\0\1\u0133" - + "\26\0\1\u0134\106\0\1\u01a9\20\0\1\u01aa\105\0\1\u01ab" + "\105\0\1\u01ac\127\0\1\u01ad\124\0\1\u013c\106\0\1\u01ae" + + "\26\0\1\u0134\106\0\1\u01a9\20\0\1\u01aa\105\0\1\u01ab" + + "\105\0\1\u01ac\127\0\1\u01ad\124\0\1\u013c\106\0\1\u01ae" + "\62\0\1\u01af\2\0\1\u01ad\124\0\1\u01b0\120\0\1\u01b1" + "\50\0\1\u01b2\134\0\1\u01ad\21\0\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\15\13\1\u01b3\10\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\12\13\1\u01b4\13\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\17\13\1\u01b5" - + "\6\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\2\13\1\310\23\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\17\13\1\u0192\6\13\1\0\3\13\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\1\13\1\223\3\13\13\0\26\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\6\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\2\13\1\310\23\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\5\13\13\0\17\13\1\u0192\6\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\1\12\5\0\1\13\1\223\3\13\13\0\26\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\1\u01b6\4\13\13\0\12\13" + "\1\310\13\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\3\13\1\223\5\13\1\u01b7\14\13\1\0\3\13" - + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\3\13\1\310\1\13\13\0\26\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\1\u01b8\4\13\13\0" + "\1\u01b9\1\13\1\u0195\13\13\1\u0196\1\u0197\6\13\1\0" - + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u0125" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\3\13\1\310\1\13\13\0\26\13" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\1\u01b8\4\13\13\0" + + "\1\u01b9\1\13\1\u0195\13\13\1\u0196\1\u0197\6\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u0125" + "\22\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\10\13\1\u01ba\15\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\17\13\1\u01bb\6\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\21\13\1\u01bc\4\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\246" + "\22\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" - + "\10\13\1\u01ba\15\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\5\13\13\0\17\13\1\u01bb\6\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\21\13\1\u01bc\4\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\246" + "\22\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\7\13\1\310\16\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\1\13\1\223\24\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\4\13\1\u01bd\13\0\26\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" @@ -495,20 +519,21 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\4\13\1\u0166\21\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\21\13\1\u01c0\4\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\11\13\1\u01c1\14\13" - + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\4\13\1\55\13\0" + "\26\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\12\13\1\u0145\13\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\3\13\1\u0192\1\13\13\0\26\13\1\0\3\13\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\17\13\1\u01c2\6\13\1\0" - + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u01c3" - + "\22\13\1\0\3\13\10\u015a\1\u015c\75\u015a\6\12\1\0" + "\2\12\2\0\4\12\4\0\1\12\2\0\1\12\5\0" - + "\5\u015b\13\0\2\u015b\2\12\1\u015b\4\12\1\u015b\1\12" + "\1\u015b\2\12\1\u015b\2\12\1\u015b\4\12\1\0\3\12" - + "\34\0\5\u015c\13\0\2\u015c\2\0\1\u015c\4\0\1\u015c" + "\1\0\1\u015c\2\0\1\u015c\2\0\1\u015c\10\0\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\1\272\1\u0155\3\13\13\0\10\13\1\u01c4" - + "\5\13\1\u014b\7\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\1\265\4\13\13\0\26\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\4\13\1\310\13\0\13\13\1\u01c5\12\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\14\13\1\310" + "\11\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\1\13\1\310\24\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\4\13\1\55\13\0" + + "\26\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\12\13\1\u0145\13\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\3\13\1\u0192\1\13\13\0\26\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\1\12\5\0\5\13\13\0\17\13\1\u01c2\6\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u01c3" + "\22\13\1\0\3\13\10\u015a\1\u015c\75\u015a\6\12\1\0" + + "\2\12\2\0\4\12\4\0\1\12\2\0\1\12\5\0" + "\5\u015b\13\0\2\u015b\2\12\1\u015b\4\12\1\u015b\1\12" + + "\1\u015b\2\12\1\u015b\2\12\1\u015b\4\12\1\0\3\12" + "\34\0\5\u015c\13\0\2\u015c\2\0\1\u015c\4\0\1\u015c" + + "\1\0\1\u015c\2\0\1\u015c\2\0\1\u015c\10\0\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\1\12\5\0\1\272\1\u0155\3\13\13\0\10\13\1\u01c4" + "\5\13\1\u014b\7\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\265\4\13\13\0\26\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\4\13\1\310\13\0\13\13\1\u01c5\12\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\14\13\1\310" + + "\11\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\1\13\1\310\24\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\u01c6\1\310\1\13\1\u01c7\1\13\13\0\1\u01c8\1\13" + "\1\u01c9\13\13\1\u01ca\1\u01cb\6\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\1\13\1\u012c\3\13\13\0\26\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u01cc" @@ -518,9 +543,10 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\4\13\4\0\1\12\2\0\1\12\5\0\1\u012c\4\13" + "\13\0\26\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\2\13\1\u01cf\23\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\3\13\1\u01d0\5\13\1\u01d1\14\13" - + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\3\13" + "\1\256\22\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\4\13\1\u0163\21\13\1\0\3\13\1\12\5\13" - + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\11\13\1\u01d2\14\13\1\0\3\13" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\3\13" + + "\1\256\22\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\13\0\4\13\1\u0163\21\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + + "\5\0\5\13\13\0\11\13\1\u01d2\14\13\1\0\3\13" + "\6\u016d\1\u01d3\1\u016d\1\u01d4\2\u01d3\4\u016d\4\u01d3\1\u016d" + "\2\u01d3\1\u016d\3\u01d3\1\0\1\u01d3\5\u016d\13\u01d3\26\u016d" + "\1\u01d3\3\u016d\32\u016e\1\u01d5\53\u016e\32\u016f\1\0\13\u016f" @@ -533,58 +559,64 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\3\13\10\u0176\1\u01dc\75\u0176\6\u0177\1\u01dc\1\u0177\1\u01dd" + "\2\u01dc\4\u0177\4\u01dc\1\u0177\2\u01dc\1\u0177\5\u01dc\5\u0177" + "\13\u01dc\26\u0177\1\u01dc\3\u0177\32\u0178\1\u01de\53\u0178\46\u0179" - + "\1\u01de\37\u0179\52\u017a\1\u01de\33\u017a\1\0\5\u017b\5\0" + "\4\u017b\11\0\1\351\3\0\5\u017b\13\0\26\u017b\1\0" - + "\3\u017b\1\0\5\u017c\5\0\4\u017c\11\0\1\360\3\0" + "\5\u017c\13\0\26\u017c\1\0\3\u017c\1\0\5\u017e\5\0" - + "\4\u017e\11\0\1\367\3\0\5\u017e\13\0\26\u017e\1\0" + "\3\u017e\66\0\1\u01df\57\0\1\u01e0\124\0\1\u0188\106\0" - + "\1\u01e1\62\0\1\u01e2\2\0\1\u01e0\124\0\1\u01e3\120\0" + "\1\u01e4\50\0\1\u01e5\134\0\1\u01e0\55\0\5\u0189\13\0" + + "\1\u01de\37\u0179\52\u017a\1\u01de\33\u017a\1\0\5\u017b\5\0" + + "\4\u017b\11\0\1\351\3\0\5\u017b\13\0\26\u017b\1\0" + "\3\u017b\1\0\5\u017c\5\0\4\u017c\11\0\1\360\3\0" + + "\5\u017c\13\0\26\u017c\1\0\3\u017c\1\0\5\u017e\5\0" + "\4\u017e\11\0\1\367\3\0\5\u017e\13\0\26\u017e\1\0" + + "\3\u017e\66\0\1\u01df\57\0\1\u01e0\124\0\1\u0188\106\0" + + "\1\u01e1\62\0\1\u01e2\2\0\1\u01e0\124\0\1\u01e3\120\0" + + "\1\u01e4\50\0\1\u01e5\134\0\1\u01e0\55\0\5\u0189\13\0" + "\2\u0189\1\0\2\u0189\3\0\2\u0189\1\0\1\u0189\2\0" + "\1\u0189\2\0\1\u0189\10\0\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\4\13\1\251\21\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\1\13\1\225\3\13\13\0\12\13\1\310\13\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\17\13" + "\1\u01e6\6\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\3\13\1\u01e7\22\13\1\0\3\13\1\12\5\13" - + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\3\13\1\u01e8\22\13\1\0\3\13" - + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\10\13\1\337\15\13" - + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\4\13\1\u01e9\13\0" - + "\26\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\1\13\1\246" - + "\3\13\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\5\13\13\0\1\13\1\u01ea\1\13\1\u01eb\22\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\10\13\1\u01ec" + "\5\13\1\u01ed\4\13\1\u01ee\2\13\1\0\3\13\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\1\13\1\u01ef\24\13\1\0" - + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\10\13\1\u01ee" - + "\15\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" - + "\3\13\1\u01f0\22\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\5\13\13\0\24\13\1\310\1\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\12\13\1\251\13\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u01f1" + "\22\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\4\13\1\314\21\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\4\13\1\251\21\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\1\13\1\225\3\13\13\0\12\13\1\310\13\13" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\17\13" + + "\1\u01e6\6\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\13\0\3\13\1\u01e7\22\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + + "\5\0\5\13\13\0\3\13\1\u01e8\22\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + + "\2\0\1\12\5\0\5\13\13\0\10\13\1\337\15\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + + "\4\0\1\12\2\0\1\12\5\0\4\13\1\u01e9\13\0" + "\26\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + + "\4\13\4\0\1\12\2\0\1\12\5\0\1\13\1\246" + "\3\13\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\1\13\1\u01ea\1\13\1\u01eb\22\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\10\13\1\u01ec" + + "\5\13\1\u01ed\4\13\1\u01ee\2\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\1\12\5\0\5\13\13\0\1\13\1\u01ef\24\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\1\12\2\0\1\12\5\0\5\13\13\0\10\13\1\u01ee" + "\15\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\3\13\1\u01f0\22\13\1\0\3\13\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\24\13\1\310\1\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\12\13\1\251\13\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u01f1" + + "\22\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\4\13\1\314\21\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\1\u01a6\25\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\3\13\1\u01ba\22\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\11\13\1\u01d1\14\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\3\13" + "\1\u0192\22\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\11\13\1\u01f2\14\13\1\0\3\13\1\12\5\13" - + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\1\13\1\246\24\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\3\13\1\251\22\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\10\13" + "\1\u01f3\15\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\3\13" + "\1\u01f4\1\13\13\0\26\13\1\0\3\13\1\12\5\13" - + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\12\13\1\u0140\13\13\1\0\3\13" - + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\3\13\1\201\22\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\1\13\1\246\24\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\3\13\1\251\22\13" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\10\13" + + "\1\u01f3\15\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\3\13" + + "\1\u01f4\1\13\13\0\26\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + + "\5\0\5\13\13\0\12\13\1\u0140\13\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + + "\2\0\1\12\5\0\5\13\13\0\3\13\1\201\22\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\17\13" + "\1\u01f5\6\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\3\13" + "\1\u01f6\1\13\13\0\26\13\1\0\3\13\104\0\1\u01f7" - + "\1\u01f8\103\0\1\u01f9\105\0\1\u01fa\105\0\1\u01fb\42\0" + "\1\u01fc\122\0\1\u01fd\117\0\1\u01ad\103\0\1\u01fe\111\0" - + "\1\u01ad\14\0\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\4\13" - + "\1\u01ff\21\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\1\13\1\u0200\24\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\5\13\13\0\12\13\1\u0201\13\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\12\13\1\265\13\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\20\13" + "\1\223\5\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\1\u01f8\103\0\1\u01f9\105\0\1\u01fa\105\0\1\u01fb\42\0" + + "\1\u01fc\122\0\1\u01fd\117\0\1\u01ad\103\0\1\u01fe\111\0" + "\1\u01ad\14\0\1\12\5\13\1\0\2\12\2\0\4\13" + + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\4\13" + "\1\u01ff\21\13\1\0\3\13\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\1\13\1\u0200\24\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\12\13\1\u0201\13\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\12\13\1\265\13\13" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\20\13" + + "\1\223\5\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\3\13\1\u01eb\22\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\10\13\1\u0202\12\13\1\u01ee\2\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\13\13" + "\1\310\12\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\6\13\1\310\17\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\5\13\13\0\3\13\1\265\22\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\3\13\1\u0203\1\u0120\13\0\1\u0204" + "\25\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\10\13\1\u0205\15\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\10\13\1\201\15\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\13\13" + "\1\310\12\13\1\0\3\13\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\6\13\1\310\17\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\3\13\1\265\22\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\3\13\1\u0203\1\u0120\13\0\1\u0204" + + "\25\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\10\13\1\u0205\15\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\5\13\13\0\10\13\1\201\15\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\11\13\1\u0206\14\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\17\13\1\u0207" + "\6\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\1\13\1\u0208" + "\3\13\13\0\26\13\1\0\3\13\1\12\5\13\1\0" @@ -602,67 +634,73 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\2\0\1\12\5\0\3\13\1\u0215\1\13\13\0\26\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\17\13" + "\1\u0161\6\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\11\13\1\u0112\14\13\1\0\3\13\1\12\5\13" - + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\1\u0216\4\13\13\0\26\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\17\13\1\u012c\6\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\3\13\1\223\1\13\13\0" + "\3\13\1\310\22\13\1\0\3\13\10\u01d3\1\u0217\21\u01d3" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\1\u0216\4\13\13\0\26\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\17\13\1\u012c\6\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\3\13\1\223\1\13\13\0" + + "\3\13\1\310\22\13\1\0\3\13\10\u01d3\1\u0217\21\u01d3" + "\1\0\53\u01d3\6\u016d\1\u01d3\1\u016d\1\u01d4\2\u01d3\4\u016d" + "\4\u01d3\1\u016d\2\u01d3\1\u016d\3\u01d3\1\0\1\u01d3\1\u01d4" + "\1\u016d\3\u01d4\13\u01d3\2\u01d4\2\u016d\1\u01d4\4\u016d\1\u01d4" - + "\1\u016d\1\u01d4\5\u016d\1\u01d4\4\u016d\1\u01d3\3\u016d\34\0" + "\1\u01d5\1\0\3\u01d5\13\0\2\u01d5\2\0\1\u01d5\4\0" - + "\1\u01d5\1\0\1\u01d5\5\0\1\u01d5\10\0\32\u016f\1\0" + "\1\u016f\1\u01d6\1\u016f\3\u01d6\5\u016f\1\u01d6\5\u016f\2\u01d6" + + "\1\u016d\1\u01d4\5\u016d\1\u01d4\4\u016d\1\u01d3\3\u016d\34\0" + + "\1\u01d5\1\0\3\u01d5\13\0\2\u01d5\2\0\1\u01d5\4\0" + "\1\u01d5\1\0\1\u01d5\5\0\1\u01d5\10\0\32\u016f\1\0" + + "\1\u016f\1\u01d6\1\u016f\3\u01d6\5\u016f\1\u01d6\5\u016f\2\u01d6" + "\2\u016f\1\u01d6\4\u016f\1\u01d6\1\u016f\1\u01d6\5\u016f\1\u01d6" + "\10\u016f\32\u0170\1\0\1\u0170\1\u01d7\1\u0170\3\u01d7\11\u0170" - + "\1\u01d7\1\u0170\2\u01d7\2\u0170\1\u01d7\4\u0170\1\u01d7\1\u0170" + "\1\u01d7\5\u0170\1\u01d7\10\u0170\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\3\13\1\u0218\22\13\1\0\3\13\1\12\5\13" - + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\3\13\1\223\22\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + + "\1\u01d7\1\u0170\2\u01d7\2\u0170\1\u01d7\4\u0170\1\u01d7\1\u0170" + + "\1\u01d7\5\u0170\1\u01d7\10\u0170\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\13\0\3\13\1\u0218\22\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + + "\5\0\5\13\13\0\3\13\1\223\22\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\1\u020d\25\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\4\13\1\u0219" + "\21\13\1\0\3\13\10\u01dc\1\u01de\75\u01dc\6\12\1\0" + "\2\12\2\0\4\12\4\0\1\12\2\0\1\12\5\0" + "\2\u01dd\2\12\1\u01dd\13\0\10\12\1\u01dd\15\12\1\0" - + "\3\12\34\0\2\u01de\2\0\1\u01de\23\0\1\u01de\61\0" + "\1\u021a\122\0\1\u021b\117\0\1\u01e0\103\0\1\u021c\111\0" - + "\1\u01e0\14\0\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\12\13" - + "\1\256\13\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\12\13\1\u021d\13\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\5\13\13\0\4\13\1\u0119\21\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\1\13\1\u021e\24\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\1\13\1\u021f\3\13" + "\13\0\26\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\10\13\1\u0220\15\13\1\0\3\13\1\12\5\13" - + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\1\13\1\u0221\7\13\1\u0222\14\13" - + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\10\13" - + "\1\307\15\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\3\13\1\u0223\22\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\1\u01f0\4\13\13\0\26\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\12\13\1\u01ee\13\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u012c" + "\22\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\17\13\1\u0224\6\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\1\246\4\13\13\0\26\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + + "\3\12\34\0\2\u01de\2\0\1\u01de\23\0\1\u01de\61\0" + + "\1\u021a\122\0\1\u021b\117\0\1\u01e0\103\0\1\u021c\111\0" + "\1\u01e0\14\0\1\12\5\13\1\0\2\12\2\0\4\13" + + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\12\13" + "\1\256\13\13\1\0\3\13\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\12\13\1\u021d\13\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\4\13\1\u0119\21\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\1\13\1\u021e\24\13" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\1\13\1\u021f\3\13" + + "\13\0\26\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\13\0\10\13\1\u0220\15\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + + "\5\0\5\13\13\0\1\13\1\u0221\7\13\1\u0222\14\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\10\13" + "\1\307\15\13\1\0\3\13\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\3\13\1\u0223\22\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\1\u01f0\4\13\13\0\26\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\12\13\1\u01ee\13\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u012c" + + "\22\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\17\13\1\u0224\6\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\1\246\4\13\13\0\26\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\3\13\1\u0119\22\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\1\13\1\u0205\24\13" + "\1\0\3\13\104\0\1\u0225\1\u0226\104\0\1\u0227\1\u0228" + "\104\0\1\u0229\1\u022a\61\0\2\u01ad\63\0\1\u022b\140\0" + "\1\u01ad\12\0\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\16\13" + "\1\225\7\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\12\13\1\u022c\13\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\5\13\13\0\1\13\1\u0221\24\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\11\13\1\u022d\14\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\11\13" + "\1\244\14\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\1\225" + "\4\13\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\16\13" + "\1\225\7\13\1\0\3\13\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\12\13\1\u022c\13\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\1\13\1\u0221\24\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\11\13\1\u022d\14\13" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\11\13" + + "\1\244\14\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\1\225" + + "\4\13\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\10\13\1\225\15\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\4\13\1\274\13\0\26\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\4\13\1\u0175\21\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\4\13\1\225\13\0" + "\26\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\1\13\1\u022e" + "\3\13\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\10\13\1\u022f\15\13\1\0\3\13\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\16\13\1\344\7\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\5\13\13\0\11\13\1\u0119" + "\14\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" - + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\3\13\1\u0230\22\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\1\13\1\u0231\7\13\1\u0222\14\13\1\0" - + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u0223" - + "\13\13\1\u0232\1\13\1\u020d\4\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\1\u0213\4\13\13\0\26\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\3\13\1\u0223\12\13" + "\1\u020d\1\u0232\6\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\12\13\1\u0233\13\13\1\0\3\13\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\1\13\1\u0234\3\13\13\0\26\13\1\0" - + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\11\13\1\u0235" - + "\14\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\1\223\4\13" - + "\13\0\26\13\1\0\3\13\10\u01d3\1\u0217\21\u01d3\1\0" + "\1\u01d3\1\u0217\1\u01d3\3\u0217\13\u01d3\2\u0217\2\u01d3\1\u0217" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\16\13\1\344\7\13\1\0" + + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\11\13\1\u0119" + + "\14\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + + "\3\13\1\u0230\22\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\5\13\13\0\1\13\1\u0231\7\13\1\u0222\14\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\1\12\2\0\1\12\5\0\5\13\13\0\3\13\1\u0223" + "\13\13\1\u0232\1\13\1\u020d\4\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\1\u0213\4\13\13\0\26\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\3\13\1\u0223\12\13" + + "\1\u020d\1\u0232\6\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\5\13\13\0\12\13\1\u0233\13\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\1\12\5\0\1\13\1\u0234\3\13\13\0\26\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\1\12\2\0\1\12\5\0\5\13\13\0\11\13\1\u0235" + "\14\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + + "\4\13\4\0\1\12\2\0\1\12\5\0\1\223\4\13" + "\13\0\26\13\1\0\3\13\10\u01d3\1\u0217\21\u01d3\1\0" + + "\1\u01d3\1\u0217\1\u01d3\3\u0217\13\u01d3\2\u0217\2\u01d3\1\u0217" + "\4\u01d3\1\u0217\1\u01d3\1\u0217\5\u01d3\1\u0217\10\u01d3\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\13\13\1\u0236\12\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\10\13\1\u0237" + "\15\13\1\0\3\13\61\0\2\u01e0\63\0\1\u0238\140\0" @@ -673,8 +711,9 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\1\12\5\0\5\13\13\0\7\13\1\u01ee\16\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\12\13\1\u023b" + "\13\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\1\13\1\u023c\24\13\1\0\3\13\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\17\13\1\246\6\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\21\13\1\u01d9\4\13\1\0" + "\3\13\31\0\1\u01f7\105\0\1\u01f8\127\0\1\u023d\105\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\17\13\1\246\6\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\21\13\1\u01d9\4\13\1\0" + + "\3\13\31\0\1\u01f7\105\0\1\u01f8\127\0\1\u023d\105\0" + "\1\u023e\134\0\1\u01f7\105\0\1\u01f8\70\0\1\u023f\20\0" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\24\13\1\244\1\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\17\13" + "\1\u0240\6\13\1\0\3\13\1\12\5\13\1\0\2\12" @@ -685,49 +724,50 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { + "\1\u0244\13\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\4\13\1\u01ba\21\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\3\13\1\u0223\10\13\1\u0245\11\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\2\13" + "\1\223\23\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\17\13\1\225\6\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\5\13\13\0\3\13\1\u0246\22\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\10\13\1\u0247\15\13" + "\1\0\3\13\65\0\1\u0248\20\0\1\12\5\13\1\0" - + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\4\13\1\u0120\21\13\1\0\3\13\1\12" - + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\1\13\1\u0125\24\13\1\0" - + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\1\13\1\u01ee" - + "\24\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" - + "\10\13\1\u0249\15\13\1\0\3\13\73\0\1\u024a\12\0" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\3\13\1\310\11\13" + "\1\310\10\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\1\13\1\u0125\15\13\1\u0151\6\13\1\0\3\13" + + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\2\13" + "\1\223\23\13\1\0\3\13\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\17\13\1\225\6\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\3\13\1\u0246\22\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\10\13\1\u0247\15\13" + + "\1\0\3\13\65\0\1\u0248\20\0\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\5\13\13\0\4\13\1\u0120\21\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + + "\1\12\5\0\5\13\13\0\1\13\1\u0125\24\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\1\12\2\0\1\12\5\0\5\13\13\0\1\13\1\u01ee" + "\24\13\1\0\3\13\1\12\5\13\1\0\2\12\2\0" + + "\4\13\4\0\1\12\2\0\1\12\5\0\5\13\13\0" + "\10\13\1\u0249\15\13\1\0\3\13\73\0\1\u024a\12\0" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\3\13\1\310\11\13" + + "\1\310\10\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\13\0\1\13\1\u0125\15\13\1\u0151\6\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + + "\2\0\1\12\5\0\5\13\13\0\3\13\1\u0223\10\13" + "\1\u024b\11\13\1\0\3\13\1\12\5\13\1\0\2\12" + + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\17\13\1\u0151\6\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\1\13\1\u024c\24\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\24\13\1\u024d\1\13" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\12\13" + + "\1\u024e\13\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\13\0\4\13\1\u0198\21\13\1\0\3\13\73\0\1\u024f" + "\12\0\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + + "\1\12\2\0\1\12\5\0\5\13\13\0\11\13\1\u0250" + "\14\13\1\0\3\13\72\0\1\u01ad\13\0\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\24\13\1\u0251\1\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\3\13\1\u0223\10\13" - + "\1\u024b\11\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" - + "\13\0\17\13\1\u0151\6\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\5\13\13\0\1\13\1\u024c\24\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\24\13\1\u024d\1\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\12\13" + "\1\u024e\13\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\4\13\1\u0198\21\13\1\0\3\13\73\0\1\u024f" - + "\12\0\1\12\5\13\1\0\2\12\2\0\4\13\4\0" + "\1\12\2\0\1\12\5\0\5\13\13\0\11\13\1\u0250" - + "\14\13\1\0\3\13\72\0\1\u01ad\13\0\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\5\13\13\0\24\13\1\u0251\1\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\3\13\1\u0223\10\13" + "\1\u0252\11\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + "\13\0\4\13\1\u0253\12\13\1\u0151\6\13\1\0\3\13" - + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\4\13\1\310\21\13" - + "\1\0\3\13\72\0\1\u01e0\13\0\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" - + "\5\13\13\0\12\13\1\u0198\13\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" - + "\1\12\5\0\5\13\13\0\1\u0254\16\13\1\u0151\6\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" - + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\24\13" + "\1\u0255\1\13\1\0\3\13\1\12\5\13\1\0\2\12" - + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\4\13" + "\1\u0256\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + + "\1\u0252\11\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13" + + "\13\0\4\13\1\u0253\12\13\1\u0151\6\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + + "\2\0\1\12\5\0\5\13\13\0\4\13\1\310\21\13" + "\1\0\3\13\72\0\1\u01e0\13\0\1\12\5\13\1\0" + + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\12\13\1\u0198\13\13\1\0\3\13\1\12" + + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\1\u0254\16\13\1\u0151\6\13" + + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\24\13" + + "\1\u0255\1\13\1\0\3\13\1\12\5\13\1\0\2\12" + "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\4\13" + + "\1\u0256\13\0\26\13\1\0\3\13\1\12\5\13\1\0" + "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0" + "\5\13\13\0\1\13\1\204\24\13\1\0\3\13\1\12" + "\5\13\1\0\2\12\2\0\4\13\4\0\1\12\2\0" + "\1\12\5\0\5\13\13\0\17\13\1\u0257\6\13\1\0" + "\3\13\1\12\5\13\1\0\2\12\2\0\4\13\4\0" - + "\1\12\2\0\1\12\5\0\4\13\1\251\13\0\26\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\4\13" - + "\1\u0166\14\13\1\u0258\4\13\1\0\3\13\1\12\5\13" + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" - + "\5\0\5\13\13\0\13\13\1\u0259\12\13\1\0\3\13" + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" - + "\2\0\1\12\5\0\5\13\13\0\14\13\1\u01a2\11\13" + "\1\0\3\13"; - + + "\1\12\2\0\1\12\5\0\4\13\1\251\13\0\26\13" + "\1\0\3\13\1\12\5\13\1\0\2\12\2\0\4\13" + + "\4\0\1\12\2\0\1\12\5\0\5\13\13\0\4\13" + "\1\u0166\14\13\1\u0258\4\13\1\0\3\13\1\12\5\13" + + "\1\0\2\12\2\0\4\13\4\0\1\12\2\0\1\12" + "\5\0\5\13\13\0\13\13\1\u0259\12\13\1\0\3\13" + + "\1\12\5\13\1\0\2\12\2\0\4\13\4\0\1\12" + "\2\0\1\12\5\0\5\13\13\0\14\13\1\u01a2\11\13" + "\1\0\3\13"; + private static int[] zzUnpackTrans() { int[] result = new int[38500]; 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 */ @@ -742,7 +782,7 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -754,20 +794,23 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\11\0\4\1\1\11\1\1\1\11\3\1\2\11\4\1" + "\1\11\15\1\1\11\1\1\1\11\24\1\1\11\2\1" - + "\1\11\3\1\1\11\2\1\2\11\1\1\1\11\3\1" + "\1\11\1\1\1\11\5\1\1\11\1\1\1\11\1\1" + "\1\11\2\1\1\11\15\1\1\0\1\1\1\0\1\1" - + "\1\11\1\1\3\0\1\1\1\0\2\1\2\0\34\1" + "\10\0\43\1\1\0\1\1\2\0\32\1\3\0\1\1" + "\1\11\2\1\1\0\1\11\1\1\1\0\1\11\2\1" - + "\1\0\1\11\1\1\1\0\3\1\1\0\1\11\1\1" + "\1\0\3\1\10\0\1\1\1\0\2\1\1\0\1\1" + "\1\0\1\1\2\0\41\1\15\0\35\1\1\0\23\1" - + "\3\0\5\1\1\0\1\1\5\0\1\1\1\0\1\1" + "\11\0\40\1\4\0\1\11\5\0\40\1\1\0\10\1" + "\1\0\2\1\2\11\5\0\21\1\2\11\6\0\33\1" - + "\3\0\10\1\7\0\14\1\1\0\4\1\2\11\1\0" + "\10\1\1\0\1\1\1\0\4\1\1\0\12\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\11\0\4\1\1\11\1\1\1\11\3\1\2\11\4\1" + + "\1\11\15\1\1\11\1\1\1\11\24\1\1\11\2\1" + "\1\11\3\1\1\11\2\1\2\11\1\1\1\11\3\1" + + "\1\11\1\1\1\11\5\1\1\11\1\1\1\11\1\1" + "\1\11\2\1\1\11\15\1\1\0\1\1\1\0\1\1" + + "\1\11\1\1\3\0\1\1\1\0\2\1\2\0\34\1" + "\10\0\43\1\1\0\1\1\2\0\32\1\3\0\1\1" + + "\1\11\2\1\1\0\1\11\1\1\1\0\1\11\2\1" + "\1\0\1\11\1\1\1\0\3\1\1\0\1\11\1\1" + + "\1\0\3\1\10\0\1\1\1\0\2\1\1\0\1\1" + "\1\0\1\1\2\0\41\1\15\0\35\1\1\0\23\1" + + "\3\0\5\1\1\0\1\1\5\0\1\1\1\0\1\1" + "\11\0\40\1\4\0\1\11\5\0\40\1\1\0\10\1" + + "\1\0\2\1\2\11\5\0\21\1\2\11\6\0\33\1" + "\3\0\10\1\7\0\14\1\1\0\4\1\2\11\1\0" + + "\10\1\1\0\1\1\1\0\4\1\1\0\12\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[601]; 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 */ @@ -781,7 +824,7 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -789,8 +832,8 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -800,98 +843,88 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** - * Token type specific to PerlTokenMaker; this signals that we are inside - * an unquoted/double quoted/backtick EOF heredoc. + * Token type specific to PerlTokenMaker; this signals that we are inside an + * unquoted/double quoted/backtick EOF heredoc. */ public static final int INTERNAL_HEREDOC_EOF_UNQUOTED = -1; /** - * Token type specific to PerlTokenMaker; this signals that we are inside - * an single quoted EOF heredoc. + * Token type specific to PerlTokenMaker; this signals that we are inside an + * single quoted EOF heredoc. */ public static final int INTERNAL_HEREDOC_EOF_SINGLE_QUOTED = -2; /** - * Token type specific to PerlTokenMaker; this signals that we are inside - * an unquoted/double quoted/backtick EOT heredoc. + * Token type specific to PerlTokenMaker; this signals that we are inside an + * unquoted/double quoted/backtick EOT heredoc. */ public static final int INTERNAL_HEREDOC_EOT_UNQUOTED = -3; /** - * Token type specific to PerlTokenMaker; this signals that we are inside - * an single quoted EOT heredoc. + * Token type specific to PerlTokenMaker; this signals that we are inside an + * single quoted EOT heredoc. */ public static final int INTERNAL_HEREDOC_EOT_SINGLE_QUOTED = -4; /** - * Token type specific to PerlTokenMaker; this signals we are in a POD - * block. + * Token type specific to PerlTokenMaker; this signals we are in a POD block. */ public static final int INTERNAL_POD = -5; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public PerlTokenMaker() {} - + public PerlTokenMaker() { + } + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -899,7 +932,7 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** * {@inheritDoc} */ @@ -907,21 +940,18 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { public boolean getMarkOccurrencesOfTokenType(int type) { return super.getMarkOccurrencesOfTokenType(type) || type == Token.VARIABLE; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -930,40 +960,40 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = STRING; - start = text.offset; - break; - case Token.LITERAL_CHAR: - state = CHAR_LITERAL; - start = text.offset; - break; - case Token.LITERAL_BACKQUOTE: - state = BACKTICKS; - start = text.offset; - break; - case INTERNAL_HEREDOC_EOF_UNQUOTED: - state = HEREDOC_EOF_UNQUOTED; - start = text.offset; - break; - case INTERNAL_HEREDOC_EOF_SINGLE_QUOTED: - state = HEREDOC_EOF_SINGLE_QUOTED; - start = text.offset; - break; - case INTERNAL_HEREDOC_EOT_UNQUOTED: - state = HEREDOC_EOT_UNQUOTED; - start = text.offset; - break; - case INTERNAL_HEREDOC_EOT_SINGLE_QUOTED: - state = HEREDOC_EOT_SINGLE_QUOTED; - start = text.offset; - break; - case INTERNAL_POD: - state = POD; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = STRING; + start = text.offset; + break; + case Token.LITERAL_CHAR: + state = CHAR_LITERAL; + start = text.offset; + break; + case Token.LITERAL_BACKQUOTE: + state = BACKTICKS; + start = text.offset; + break; + case INTERNAL_HEREDOC_EOF_UNQUOTED: + state = HEREDOC_EOF_UNQUOTED; + start = text.offset; + break; + case INTERNAL_HEREDOC_EOF_SINGLE_QUOTED: + state = HEREDOC_EOF_SINGLE_QUOTED; + start = text.offset; + break; + case INTERNAL_HEREDOC_EOT_UNQUOTED: + state = HEREDOC_EOT_UNQUOTED; + start = text.offset; + break; + case INTERNAL_HEREDOC_EOT_SINGLE_QUOTED: + state = HEREDOC_EOT_SINGLE_QUOTED; + start = text.offset; + break; + case INTERNAL_POD: + state = POD; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -975,13 +1005,11 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** - * Returns whether a regular expression token can follow the specified - * token. + * Returns whether a regular expression token can follow the specified token. * - * @param t - * The token to check, which may be null. + * @param t The token to check, which may be null. * @return Whether a regular expression token may follow this one. */ private static final boolean regexCanFollow(Token t) { @@ -989,42 +1017,40 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { // We basically try to mimic Eclipse's JS editor's behavior here. return t == null || // t.isOperator() || - (t.length() == 1 && ((ch = t.charAt(0)) == '=' || ch == '(' || ch == ',' || ch == '?' || ch == ':' || ch == '[' || ch == '!' - || ch == '&')) + (t.length() == 1 && ((ch = t.charAt(0)) == '=' || ch == '(' || ch == ',' || ch == '?' || ch == ':' + || ch == '[' || ch == '!' || ch == '&')) || /* Operators "==", "===", "!=", "!==", etc. */ (t.getType() == Token.OPERATOR && ((ch = t.charAt(t.length() - 1)) == '=' || ch == '~')); } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -1034,34 +1060,31 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public PerlTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public PerlTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -1077,7 +1100,7 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1087,69 +1110,64 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1160,29 +1178,27 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1201,8 +1217,7 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1242,369 +1257,369 @@ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 2: { - addToken(Token.IDENTIFIER); + case 2: { + addToken(Token.IDENTIFIER); + } + case 46: + break; + case 34: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + addToken(temp, zzMarkedPos - 1, Token.VARIABLE); + start = zzMarkedPos; + } + case 47: + break; + case 40: { + if (start == zzStartRead) { + addToken(Token.COMMENT_DOCUMENTATION); + yybegin(YYINITIAL); } - case 46: - break; - case 34: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addToken(temp, zzMarkedPos - 1, Token.VARIABLE); - start = zzMarkedPos; - } - case 47: - break; - case 40: { - if (start == zzStartRead) { - addToken(Token.COMMENT_DOCUMENTATION); - yybegin(YYINITIAL); - } - } - case 48: - break; - case 26: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 49: - break; - case 11: { - start = zzMarkedPos - 1; - yybegin(STRING); - } - case 50: - break; - case 38: { - if (start == zzStartRead) { - addToken(Token.PREPROCESSOR); - addNullToken(); - return firstToken; - } - } - case 51: - break; - case 31: { - addToken(Token.FUNCTION); - } - case 52: - break; - case 36: { - boolean highlightedAsRegex = false; - if (firstToken == null) { - addToken(Token.REGEX); - highlightedAsRegex = true; - } else { - // If this is *likely* to be a regex, based on - // the previous token, highlight it as such. - Token t = firstToken.getLastNonCommentNonWhitespaceToken(); - if (regexCanFollow(t)) { - addToken(Token.REGEX); - highlightedAsRegex = true; - } - } - // If it doesn't *appear* to be a regex, highlight it as - // individual tokens. - if (!highlightedAsRegex) { - int temp = zzStartRead + 1; - addToken(zzStartRead, zzStartRead, Token.OPERATOR); - zzStartRead = zzCurrentPos = zzMarkedPos = temp; - } - } - case 53: - break; - case 30: { - addToken(Token.VARIABLE); - } - case 54: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 55: - break; - case 24: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOT_SINGLE_QUOTED); - return firstToken; - } - case 56: - break; - case 4: { - addToken(Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 57: - break; - case 29: { + } + case 48: + break; + case 26: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 49: + break; + case 11: { + start = zzMarkedPos - 1; + yybegin(STRING); + } + case 50: + break; + case 38: { + if (start == zzStartRead) { addToken(Token.PREPROCESSOR); addNullToken(); return firstToken; } - case 58: - break; - case 41: { - if (start == zzStartRead) { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - } - case 59: - break; - case 44: { - start = zzStartRead; - yybegin(HEREDOC_EOF_SINGLE_QUOTED); - } - case 60: - break; - case 45: { - start = zzStartRead; - yybegin(HEREDOC_EOT_SINGLE_QUOTED); - } - case 61: - break; - case 42: { - start = zzStartRead; - yybegin(HEREDOC_EOF_UNQUOTED); - } - case 62: - break; - case 13: { /* Skip escaped chars. */ - } - case 63: - break; - case 37: { + } + case 51: + break; + case 31: { + addToken(Token.FUNCTION); + } + case 52: + break; + case 36: { + boolean highlightedAsRegex = false; + if (firstToken == null) { addToken(Token.REGEX); - } - case 64: - break; - case 18: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_CHAR); - } - case 65: - break; - case 28: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 66: - break; - case 21: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOF_UNQUOTED); - return firstToken; - } - case 67: - break; - case 6: { - addToken(Token.WHITESPACE); - } - case 68: - break; - case 10: { - start = zzMarkedPos - 1; - yybegin(CHAR_LITERAL); - } - case 69: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 70: - break; - case 33: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addToken(temp, zzMarkedPos - 1, Token.VARIABLE); - start = zzMarkedPos; - } - case 71: - break; - case 20: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); - } - case 72: - break; - case 15: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 73: - break; - case 16: { /* - * Skip escaped single quotes only, but this should - * still work. - */ - } - case 74: - break; - case 23: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOT_UNQUOTED); - return firstToken; - } - case 75: - break; - case 35: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addToken(temp, zzMarkedPos - 1, Token.VARIABLE); - start = zzMarkedPos; - } - case 76: - break; - case 39: { - addToken(Token.COMMENT_EOL); - start = zzMarkedPos; - yybegin(POD); - } - case 77: - break; - case 32: { - addToken(Token.RESERVED_WORD); - } - case 78: - break; - case 19: { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - return firstToken; - } - case 79: - break; - case 8: { - addToken(Token.SEPARATOR); - } - case 80: - break; - case 5: { - addNullToken(); - return firstToken; - } - case 81: - break; - case 7: { - addToken(Token.OPERATOR); - } - case 82: - break; - case 17: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 83: - break; - case 25: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addEndToken(INTERNAL_POD); - return firstToken; - } - case 84: - break; - case 27: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 85: - break; - case 43: { - start = zzStartRead; - yybegin(HEREDOC_EOT_UNQUOTED); - } - case 86: - break; - case 9: { - start = zzMarkedPos - 1; - yybegin(BACKTICKS); - } - case 87: - break; - case 12: {} - case 88: - break; - case 14: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 89: - break; - case 22: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOF_SINGLE_QUOTED); - return firstToken; - } - case 90: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case HEREDOC_EOF_SINGLE_QUOTED: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOF_SINGLE_QUOTED); - return firstToken; - } - case 602: - break; - case HEREDOC_EOT_SINGLE_QUOTED: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOT_SINGLE_QUOTED); - return firstToken; - } - case 603: - break; - case HEREDOC_EOT_UNQUOTED: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOT_UNQUOTED); - return firstToken; - } - case 604: - break; - case STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 605: - break; - case BACKTICKS: { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - return firstToken; - } - case 606: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 607: - break; - case HEREDOC_EOF_UNQUOTED: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOF_UNQUOTED); - return firstToken; - } - case 608: - break; - case CHAR_LITERAL: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 609: - break; - case POD: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addEndToken(INTERNAL_POD); - return firstToken; - } - case 610: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + highlightedAsRegex = true; + } else { + // If this is *likely* to be a regex, based on + // the previous token, highlight it as such. + Token t = firstToken.getLastNonCommentNonWhitespaceToken(); + if (regexCanFollow(t)) { + addToken(Token.REGEX); + highlightedAsRegex = true; } + } + // If it doesn't *appear* to be a regex, highlight it as + // individual tokens. + if (!highlightedAsRegex) { + int temp = zzStartRead + 1; + addToken(zzStartRead, zzStartRead, Token.OPERATOR); + zzStartRead = zzCurrentPos = zzMarkedPos = temp; + } + } + case 53: + break; + case 30: { + addToken(Token.VARIABLE); + } + case 54: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 55: + break; + case 24: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOT_SINGLE_QUOTED); + return firstToken; + } + case 56: + break; + case 4: { + addToken(Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 57: + break; + case 29: { + addToken(Token.PREPROCESSOR); + addNullToken(); + return firstToken; + } + case 58: + break; + case 41: { + if (start == zzStartRead) { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + } + case 59: + break; + case 44: { + start = zzStartRead; + yybegin(HEREDOC_EOF_SINGLE_QUOTED); + } + case 60: + break; + case 45: { + start = zzStartRead; + yybegin(HEREDOC_EOT_SINGLE_QUOTED); + } + case 61: + break; + case 42: { + start = zzStartRead; + yybegin(HEREDOC_EOF_UNQUOTED); + } + case 62: + break; + case 13: { /* Skip escaped chars. */ + } + case 63: + break; + case 37: { + addToken(Token.REGEX); + } + case 64: + break; + case 18: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_CHAR); + } + case 65: + break; + case 28: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 66: + break; + case 21: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOF_UNQUOTED); + return firstToken; + } + case 67: + break; + case 6: { + addToken(Token.WHITESPACE); + } + case 68: + break; + case 10: { + start = zzMarkedPos - 1; + yybegin(CHAR_LITERAL); + } + case 69: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 70: + break; + case 33: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addToken(temp, zzMarkedPos - 1, Token.VARIABLE); + start = zzMarkedPos; + } + case 71: + break; + case 20: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); + } + case 72: + break; + case 15: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 73: + break; + case 16: { /* + * Skip escaped single quotes only, but this should still work. + */ + } + case 74: + break; + case 23: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOT_UNQUOTED); + return firstToken; + } + case 75: + break; + case 35: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addToken(temp, zzMarkedPos - 1, Token.VARIABLE); + start = zzMarkedPos; + } + case 76: + break; + case 39: { + addToken(Token.COMMENT_EOL); + start = zzMarkedPos; + yybegin(POD); + } + case 77: + break; + case 32: { + addToken(Token.RESERVED_WORD); + } + case 78: + break; + case 19: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + return firstToken; + } + case 79: + break; + case 8: { + addToken(Token.SEPARATOR); + } + case 80: + break; + case 5: { + addNullToken(); + return firstToken; + } + case 81: + break; + case 7: { + addToken(Token.OPERATOR); + } + case 82: + break; + case 17: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 83: + break; + case 25: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addEndToken(INTERNAL_POD); + return firstToken; + } + case 84: + break; + case 27: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 85: + break; + case 43: { + start = zzStartRead; + yybegin(HEREDOC_EOT_UNQUOTED); + } + case 86: + break; + case 9: { + start = zzMarkedPos - 1; + yybegin(BACKTICKS); + } + case 87: + break; + case 12: { + } + case 88: + break; + case 14: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 89: + break; + case 22: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOF_SINGLE_QUOTED); + return firstToken; + } + case 90: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case HEREDOC_EOF_SINGLE_QUOTED: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOF_SINGLE_QUOTED); + return firstToken; + } + case 602: + break; + case HEREDOC_EOT_SINGLE_QUOTED: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOT_SINGLE_QUOTED); + return firstToken; + } + case 603: + break; + case HEREDOC_EOT_UNQUOTED: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOT_UNQUOTED); + return firstToken; + } + case 604: + break; + case STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 605: + break; + case BACKTICKS: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + return firstToken; + } + case 606: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 607: + break; + case HEREDOC_EOF_UNQUOTED: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOF_UNQUOTED); + return firstToken; + } + case 608: + break; + case CHAR_LITERAL: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 609: + break; + case POD: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addEndToken(INTERNAL_POD); + return firstToken; + } + case 610: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/PlainTextTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/PlainTextTokenMaker.java index 5471727..995fcb8 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/PlainTextTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/PlainTextTokenMaker.java @@ -20,16 +20,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker), so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker), so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -38,17 +37,17 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * If you wish to regenerate this file yourself, keep in mind the following: *

        - *
      • The generated PlainTextTokenMaker.java file will contain - * two definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + *
      • The generated PlainTextTokenMaker.java file will contain two + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do.
      • + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -56,7 +55,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -76,14 +75,14 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { */ private static final int[] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\1\0\2\1\1\2\1\3\14\1\1\0\1\4\2\0"; - + private static int[] zzUnpackAction() { int[] result = new int[21]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -97,21 +96,21 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\22\0\44\0\22\0\66\0\110\0\132\0\154" + "\0\176\0\220\0\242\0\264\0\306\0\330\0\352\0\374" + "\0\u010e\0\u0120\0\u0132\0\u0144\0\u0132"; - + private static int[] zzUnpackRowMap() { int[] result = new int[21]; 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 */ @@ -122,25 +121,27 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\2\1\3\1\4\1\5\3\2\1\6\3\3\1\7" + "\3\3\1\2\1\10\1\2\23\0\1\3\5\0\10\3" - + "\1\0\1\3\4\0\1\5\17\0\1\3\5\0\1\3" + "\1\11\6\3\1\0\1\3\2\0\1\3\5\0\1\3" + "\1\12\3\3\1\13\2\3\1\0\1\3\2\0\1\3" - + "\5\0\10\3\1\0\1\14\2\0\1\3\5\0\1\3" + "\1\15\6\3\1\0\1\3\2\0\1\3\5\0\2\3" + "\1\16\5\3\1\0\1\3\2\0\1\3\5\0\6\3" - + "\1\17\1\3\1\0\1\3\2\0\1\3\5\0\10\3" + "\1\0\1\20\2\0\1\3\5\0\2\3\1\21\5\3" + "\1\0\1\3\2\0\1\3\5\0\10\3\1\22\1\3" - + "\2\0\1\3\5\0\7\3\1\16\1\0\1\3\2\0" + "\1\3\5\0\10\3\1\0\1\3\1\23\1\0\1\3" + "\5\0\3\3\1\16\4\3\1\22\1\3\6\0\1\24" - + "\15\0\1\23\2\0\1\25\12\23\1\25\1\23\1\25" + "\5\0\1\23\14\0"; - + private static final String ZZ_TRANS_PACKED_0 = "\1\2\1\3\1\4\1\5\3\2\1\6\3\3\1\7" + + "\3\3\1\2\1\10\1\2\23\0\1\3\5\0\10\3" + "\1\0\1\3\4\0\1\5\17\0\1\3\5\0\1\3" + + "\1\11\6\3\1\0\1\3\2\0\1\3\5\0\1\3" + "\1\12\3\3\1\13\2\3\1\0\1\3\2\0\1\3" + + "\5\0\10\3\1\0\1\14\2\0\1\3\5\0\1\3" + "\1\15\6\3\1\0\1\3\2\0\1\3\5\0\2\3" + + "\1\16\5\3\1\0\1\3\2\0\1\3\5\0\6\3" + "\1\17\1\3\1\0\1\3\2\0\1\3\5\0\10\3" + + "\1\0\1\20\2\0\1\3\5\0\2\3\1\21\5\3" + "\1\0\1\3\2\0\1\3\5\0\10\3\1\22\1\3" + + "\2\0\1\3\5\0\7\3\1\16\1\0\1\3\2\0" + "\1\3\5\0\10\3\1\0\1\3\1\23\1\0\1\3" + + "\5\0\3\3\1\16\4\3\1\22\1\3\6\0\1\24" + "\15\0\1\23\2\0\1\25\12\23\1\25\1\23\1\25" + "\5\0\1\23\14\0"; + private static int[] zzUnpackTrans() { int[] result = new int[342]; 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 */ @@ -155,7 +156,7 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -168,14 +169,14 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\0\1\11\1\1\1\11\15\1\1\0\1\1\2\0"; - + private static int[] zzUnpackAttribute() { int[] result = new int[21]; 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 */ @@ -189,7 +190,7 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -197,8 +198,8 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -208,54 +209,50 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public PlainTextTokenMaker() {} - + public PlainTextTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. - * @param link - * Whether this token is a hyperlink. + * @param tokenType The token's type. + * @param link Whether this token is a hyperlink. */ private void addToken(int tokenType, boolean link) { int so = zzStartRead + offsetShift; super.addToken(zzBuffer, zzStartRead, zzMarkedPos - 1, tokenType, so, link); zzStartRead = zzMarkedPos; } - + /** - * Always returns Token.NULL, as there are no multiline - * tokens in properties files. + * Always returns Token.NULL, as there are no multiline tokens in + * properties files. * - * @param text - * The line of tokens to examine. - * @param initialTokenType - * The token type to start with (i.e., the value - * of getLastTokenTypeOnLine for the line before - * text). + * @param text The line of tokens to examine. + * @param initialTokenType The token type to start with (i.e., the value of + * getLastTokenTypeOnLine for the line + * before text). * @return Token.NULL. */ @Override public int getLastTokenTypeOnLine(Segment text, int initialTokenType) { return Token.NULL; } - + /** - * Returns the text to place at the beginning and end of a - * line to "comment" it in a this programming language. + * Returns the text to place at the beginning and end of a line to "comment" it + * in a this programming language. * * @return null, as there are no comments in plain text. */ @@ -263,35 +260,30 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return null; } - + /** - * Always returns false, as you never want "mark occurrences" - * working in plain text files. + * Always returns false, as you never want "mark occurrences" working + * in plain text files. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return false; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -308,38 +300,35 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. - * @exception IOException - * if any I/O-Error occurs. + * @return true if EOF was reached, otherwise false. + * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -349,34 +338,31 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public PlainTextTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public PlainTextTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -392,7 +378,7 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -402,69 +388,64 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -475,29 +456,27 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -516,8 +495,7 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -557,43 +535,43 @@ public class PlainTextTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 3: { - addToken(Token.WHITESPACE, false); - } - case 5: - break; - case 2: { - addNullToken(); - return firstToken; - } - case 6: - break; - case 4: { - addToken(Token.IDENTIFIER, true); - } - case 7: - break; - case 1: { - addToken(Token.IDENTIFIER, false); - } - case 8: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 22: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 3: { + addToken(Token.WHITESPACE, false); + } + case 5: + break; + case 2: { + addNullToken(); + return firstToken; + } + case 6: + break; + case 4: { + addToken(Token.IDENTIFIER, true); + } + case 7: + break; + case 1: { + addToken(Token.IDENTIFIER, false); + } + case 8: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case YYINITIAL: { + addNullToken(); + return firstToken; } + case 22: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/PropertiesFileTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/PropertiesFileTokenMaker.java index 4af726e..bfc2528 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/PropertiesFileTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/PropertiesFileTokenMaker.java @@ -21,16 +21,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,15 +40,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; *

        *
      • The generated PropertiesFileTokenMaker.java file will * contain two definitions of both zzRefill and - * yyreset. You should hand-delete the second of each - * definition (the ones generated by the lexer), as these generated - * methods modify the input buffer, which we'll never have to do. - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway. + * yyreset. You should hand-delete the second of each definition + * (the ones generated by the lexer), as these generated methods modify the + * input buffer, which we'll never have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway. *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance. + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -57,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** initial size of the lookahead buffer */ @@ -79,14 +78,14 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { */ private static final int[] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\1\1\1\0\1\1\1\2\1\3\1\4\1\5\1\6" + "\1\7\1\10\1\6\1\5\1\10"; - + private static int[] zzUnpackAction() { int[] result = new int[13]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -100,20 +99,21 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); - private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\11\0\22\0\33\0\44\0\55\0\66\0\77" + "\0\110\0\121\0\33\0\33\0\33"; - + private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\11\0\22\0\33\0\44\0\55\0\66\0\77" + + "\0\110\0\121\0\33\0\33\0\33"; + private static int[] zzUnpackRowMap() { int[] result = new int[13]; 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 */ @@ -124,21 +124,22 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\0\1\5\1\6\4\3\5\7\1\10" + "\1\11\1\12\1\7\1\3\4\0\4\3\14\0\1\5" - + "\5\0\2\6\1\0\6\6\5\7\3\0\1\7\5\10" + "\1\13\3\10\2\14\1\0\6\14\10\12\1\15"; - + private static final String ZZ_TRANS_PACKED_0 = "\1\3\1\4\1\0\1\5\1\6\4\3\5\7\1\10" + + "\1\11\1\12\1\7\1\3\4\0\4\3\14\0\1\5" + "\5\0\2\6\1\0\6\6\5\7\3\0\1\7\5\10" + + "\1\13\3\10\2\14\1\0\6\14\10\12\1\15"; + private static int[] zzUnpackTrans() { int[] result = new int[90]; 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 */ @@ -153,7 +154,7 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -166,14 +167,14 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\1\1\0\1\1\1\11\6\1\3\11"; - + private static int[] zzUnpackAttribute() { int[] result = new int[13]; 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 */ @@ -187,7 +188,7 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -195,8 +196,8 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * 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 */ @@ -206,64 +207,55 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public PropertiesFileTokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -271,21 +263,18 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -294,12 +283,12 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = VALUE; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = VALUE; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -311,38 +300,35 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. - * @exception IOException - * if any I/O-Error occurs. + * @return true if EOF was reached, otherwise false. + * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -352,34 +338,31 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public PropertiesFileTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public PropertiesFileTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -395,7 +378,7 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -405,69 +388,64 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -478,29 +456,27 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -519,8 +495,7 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -560,74 +535,75 @@ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 7: { - addToken(start, zzEndRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 9: - break; - case 2: { - start = zzMarkedPos; - addToken(Token.OPERATOR); - yybegin(VALUE); - } - case 10: - break; - case 8: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addToken(temp, zzMarkedPos - 1, Token.VARIABLE); - start = zzMarkedPos; - } - case 11: - break; - case 3: { - addToken(Token.WHITESPACE); - } - case 12: - break; - case 6: { - addToken(start, zzMarkedPos - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - start = zzMarkedPos; - } - case 13: - break; - case 1: { - addToken(Token.RESERVED_WORD); - } - case 14: - break; - case 5: {} - case 15: - break; - case 4: { - addToken(Token.COMMENT_EOL); - } - case 16: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 14: - break; - case VALUE: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addNullToken(); - return firstToken; - } - case 15: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 7: { + addToken(start, zzEndRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 9: + break; + case 2: { + start = zzMarkedPos; + addToken(Token.OPERATOR); + yybegin(VALUE); + } + case 10: + break; + case 8: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addToken(temp, zzMarkedPos - 1, Token.VARIABLE); + start = zzMarkedPos; + } + case 11: + break; + case 3: { + addToken(Token.WHITESPACE); + } + case 12: + break; + case 6: { + addToken(start, zzMarkedPos - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + start = zzMarkedPos; + } + case 13: + break; + case 1: { + addToken(Token.RESERVED_WORD); + } + case 14: + break; + case 5: { + } + case 15: + break; + case 4: { + addToken(Token.COMMENT_EOL); + } + case 16: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case YYINITIAL: { + addNullToken(); + return firstToken; } + case 14: + break; + case VALUE: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addNullToken(); + return firstToken; + } + case 15: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/PythonTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/PythonTokenMaker.java index 4000068..3526cba 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/PythonTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/PythonTokenMaker.java @@ -23,7 +23,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * @version 0.3 */ public class PythonTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -46,18 +46,19 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\3\0\1\1\1\2\1\3\4\2\2\4\1\5\1\2" + "\1\3\2\2\1\6\1\2\1\6\1\7\1\10\21\2" - + "\1\11\10\6\1\2\2\12\2\4\1\13\1\3\1\14" + "\1\13\1\14\4\2\2\4\1\0\2\4\1\0\4\2" + "\1\13\1\3\1\13\12\2\1\15\27\2\1\15\3\2" - + "\2\15\1\16\1\15\15\2\3\0\2\14\1\0\12\2" + "\1\4\1\17\1\20\3\2\1\3\15\2\1\15\22\2" + "\1\21\14\2\1\22\1\23\1\14\6\2\1\21\3\2" - + "\1\15\36\2\1\15\17\2\1\15\6\2"; - + private static final String ZZ_ACTION_PACKED_0 = "\3\0\1\1\1\2\1\3\4\2\2\4\1\5\1\2" + + "\1\3\2\2\1\6\1\2\1\6\1\7\1\10\21\2" + "\1\11\10\6\1\2\2\12\2\4\1\13\1\3\1\14" + + "\1\13\1\14\4\2\2\4\1\0\2\4\1\0\4\2" + "\1\13\1\3\1\13\12\2\1\15\27\2\1\15\3\2" + + "\2\15\1\16\1\15\15\2\3\0\2\14\1\0\12\2" + "\1\4\1\17\1\20\3\2\1\3\15\2\1\15\22\2" + + "\1\21\14\2\1\22\1\23\1\14\6\2\1\21\3\2" + "\1\15\36\2\1\15\17\2\1\15\6\2"; + private static int[] zzUnpackAction() { int[] result = new int[265]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -71,7 +72,7 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -109,14 +110,14 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { + "\0\u3365\0\u33a0\0\u33db\0\u3416\0\u3451\0\u348c\0\u34c7\0\u3502" + "\0\u353d\0\u3578\0\u35b3\0\u35ee\0\u33db\0\u3629\0\u3664\0\u369f" + "\0\u36da\0\u3715\0\u1270\0\u3750\0\u378b\0\u37c6\0\u3801\0\u383c" + "\0\u3877"; - + private static int[] zzUnpackRowMap() { int[] result = new int[265]; 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 */ @@ -127,146 +128,200 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\4\2\5\1\6\1\7\1\10\1\11\1\12\1\13" + "\1\14\1\15\1\4\1\16\1\5\1\17\1\20\1\5" - + "\1\6\1\21\1\5\1\22\1\23\1\5\1\24\2\5" + "\1\4\1\25\1\26\1\27\1\30\1\31\1\32\1\33" + "\1\34\1\5\1\35\1\36\1\37\1\40\1\41\1\42" + private static final String ZZ_TRANS_PACKED_0 = "\1\4\2\5\1\6\1\7\1\10\1\11\1\12\1\13" + + "\1\14\1\15\1\4\1\16\1\5\1\17\1\20\1\5" + "\1\6\1\21\1\5\1\22\1\23\1\5\1\24\2\5" + + "\1\4\1\25\1\26\1\27\1\30\1\31\1\32\1\33" + "\1\34\1\5\1\35\1\36\1\37\1\40\1\41\1\42" + "\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52" + "\1\53\1\51\1\54\1\55\1\56\1\57\1\60\2\61" - + "\10\62\1\63\62\62\11\64\1\65\61\64\74\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\22\5" + "\14\0\3\66\1\6\4\66\3\0\1\66\2\67\1\6" - + "\2\66\1\6\2\66\1\70\2\71\1\0\2\72\1\0" + "\1\66\1\0\22\66\12\0\1\66\2\0\7\5\1\13" + "\1\14\2\0\10\5\1\0\1\73\1\5\1\0\2\5" - + "\3\0\1\74\7\5\1\75\11\5\15\0\3\5\1\11" + "\1\5\1\11\1\5\1\13\1\14\2\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\1\5\1\76\20\5\15\0" - + "\7\5\1\13\1\14\2\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\22\5\15\0\3\5\1\11\1\5\1\11" + "\1\5\1\13\1\14\2\0\10\5\1\0\2\5\1\0" + + "\10\62\1\63\62\62\11\64\1\65\61\64\74\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\22\5" + + "\14\0\3\66\1\6\4\66\3\0\1\66\2\67\1\6" + "\2\66\1\6\2\66\1\70\2\71\1\0\2\72\1\0" + + "\1\66\1\0\22\66\12\0\1\66\2\0\7\5\1\13" + "\1\14\2\0\10\5\1\0\1\73\1\5\1\0\2\5" + + "\3\0\1\74\7\5\1\75\11\5\15\0\3\5\1\11" + "\1\5\1\11\1\5\1\13\1\14\2\0\10\5\1\0" + + "\2\5\1\0\2\5\3\0\1\5\1\76\20\5\15\0" + "\7\5\1\13\1\14\2\0\10\5\1\0\2\5\1\0" + + "\2\5\3\0\22\5\15\0\3\5\1\11\1\5\1\11" + "\1\5\1\13\1\14\2\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\22\5\14\0\10\77\1\100\1\77\1\0" + "\1\101\57\77\11\102\1\103\1\0\1\104\57\102\1\0" + "\7\5\4\0\10\5\1\0\1\105\1\5\1\0\2\5" + "\3\0\1\106\7\5\1\107\1\110\10\5\14\0\3\66" + "\1\111\4\66\3\0\1\66\2\67\1\112\2\113\1\112" + "\2\66\1\70\2\71\1\0\2\72\1\0\1\66\1\0" - + "\22\66\12\0\1\66\2\0\3\5\1\114\3\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" + "\3\5\1\115\3\5\4\0\1\116\7\5\1\0\2\5" - + "\1\0\2\5\3\0\10\5\1\117\1\120\10\5\17\0" + "\1\70\12\0\1\70\2\0\1\70\52\0\7\5\4\0" + "\1\121\2\5\1\122\4\5\1\0\2\5\1\0\2\5" - + "\3\0\1\5\1\123\16\5\1\124\1\5\43\0\1\54" + "\30\0\1\54\12\0\12\25\1\0\60\25\34\0\1\26" + "\37\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" - + "\3\0\1\5\1\125\1\5\1\126\1\5\1\127\4\5" + "\1\130\7\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\10\5\1\131\11\5\15\0\7\5" - + "\4\0\10\5\1\0\1\132\1\5\1\0\2\5\3\0" + "\10\5\1\133\1\134\10\5\15\0\4\5\1\135\2\5" + "\4\0\1\136\7\5\1\0\1\137\1\5\1\0\2\5" - + "\3\0\4\5\1\140\4\5\1\141\5\5\1\142\2\5" + "\15\0\3\5\1\143\1\144\2\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\13\5\1\145\6\5\15\0" - + "\3\5\1\146\1\147\2\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\10\5\1\150\11\5\15\0\7\5" + "\4\0\1\151\7\5\1\0\2\5\1\0\2\5\3\0" - + "\1\152\7\5\1\153\3\5\1\154\2\5\1\155\2\5" + "\15\0\3\5\1\156\3\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\5\5\1\157\1\5\1\160\2\5" - + "\1\161\7\5\15\0\7\5\4\0\6\5\1\162\1\5" + "\1\0\2\5\1\0\2\5\3\0\1\5\1\163\1\164" + "\1\165\1\166\7\5\1\167\5\5\15\0\3\5\1\170" - + "\3\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\1\171\7\5\1\172\11\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\11\5\1\173\10\5" - + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\1\174\10\5\1\105\10\5\15\0\7\5\4\0" + "\1\175\7\5\1\0\1\137\1\5\1\0\2\5\3\0" - + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\17\5\1\176\2\5\15\0\7\5\4\0" + "\10\5\1\0\1\177\1\5\1\0\2\5\3\0\1\200" - + "\21\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\1\201\7\5\1\202\11\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\11\5" - + "\1\154\10\5\74\0\1\54\72\0\2\54\71\0\1\54" + "\1\0\1\54\75\0\1\51\73\0\1\51\73\0\1\54" - + "\73\0\1\54\2\0\10\62\1\0\62\62\10\0\1\203" + "\62\0\11\64\1\0\61\64\11\0\1\204\61\0\10\66" - + "\3\0\11\66\1\0\2\66\1\0\2\66\1\0\1\66" + "\1\0\22\66\12\0\1\66\4\0\1\70\12\0\1\70" - + "\2\0\1\70\3\0\2\205\1\0\2\206\41\0\3\66" + "\1\207\4\66\3\0\3\66\1\207\2\66\1\207\2\66" - + "\1\0\2\66\1\210\2\66\1\0\1\66\1\0\22\66" + "\2\0\1\210\7\0\1\66\2\0\7\5\4\0\1\211" + "\7\5\1\0\2\5\1\0\2\5\3\0\2\5\1\212" - + "\1\5\1\213\5\5\1\214\7\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\1\5\1\215" + "\7\5\1\216\4\5\1\217\3\5\15\0\4\5\1\220" - + "\2\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\3\5\1\221\5\5\1\222\10\5\14\0" + + "\22\66\12\0\1\66\2\0\3\5\1\114\3\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" + + "\3\5\1\115\3\5\4\0\1\116\7\5\1\0\2\5" + "\1\0\2\5\3\0\10\5\1\117\1\120\10\5\17\0" + + "\1\70\12\0\1\70\2\0\1\70\52\0\7\5\4\0" + "\1\121\2\5\1\122\4\5\1\0\2\5\1\0\2\5" + + "\3\0\1\5\1\123\16\5\1\124\1\5\43\0\1\54" + "\30\0\1\54\12\0\12\25\1\0\60\25\34\0\1\26" + + "\37\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\1\5\1\125\1\5\1\126\1\5\1\127\4\5" + + "\1\130\7\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\10\5\1\131\11\5\15\0\7\5" + + "\4\0\10\5\1\0\1\132\1\5\1\0\2\5\3\0" + "\10\5\1\133\1\134\10\5\15\0\4\5\1\135\2\5" + + "\4\0\1\136\7\5\1\0\1\137\1\5\1\0\2\5" + "\3\0\4\5\1\140\4\5\1\141\5\5\1\142\2\5" + + "\15\0\3\5\1\143\1\144\2\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\13\5\1\145\6\5\15\0" + + "\3\5\1\146\1\147\2\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\10\5\1\150\11\5\15\0\7\5" + + "\4\0\1\151\7\5\1\0\2\5\1\0\2\5\3\0" + "\1\152\7\5\1\153\3\5\1\154\2\5\1\155\2\5" + + "\15\0\3\5\1\156\3\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\5\5\1\157\1\5\1\160\2\5" + + "\1\161\7\5\15\0\7\5\4\0\6\5\1\162\1\5" + "\1\0\2\5\1\0\2\5\3\0\1\5\1\163\1\164" + + "\1\165\1\166\7\5\1\167\5\5\15\0\3\5\1\170" + "\3\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + + "\1\171\7\5\1\172\11\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\11\5\1\173\10\5" + + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\1\174\10\5\1\105\10\5\15\0\7\5\4\0" + + "\1\175\7\5\1\0\1\137\1\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + + "\2\5\3\0\17\5\1\176\2\5\15\0\7\5\4\0" + "\10\5\1\0\1\177\1\5\1\0\2\5\3\0\1\200" + + "\21\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\1\201\7\5\1\202\11\5\15\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\11\5" + "\1\154\10\5\74\0\1\54\72\0\2\54\71\0\1\54" + + "\1\0\1\54\75\0\1\51\73\0\1\51\73\0\1\54" + "\73\0\1\54\2\0\10\62\1\0\62\62\10\0\1\203" + + "\62\0\11\64\1\0\61\64\11\0\1\204\61\0\10\66" + "\3\0\11\66\1\0\2\66\1\0\2\66\1\0\1\66" + + "\1\0\22\66\12\0\1\66\4\0\1\70\12\0\1\70" + "\2\0\1\70\3\0\2\205\1\0\2\206\41\0\3\66" + + "\1\207\4\66\3\0\3\66\1\207\2\66\1\207\2\66" + "\1\0\2\66\1\210\2\66\1\0\1\66\1\0\22\66" + + "\2\0\1\210\7\0\1\66\2\0\7\5\4\0\1\211" + "\7\5\1\0\2\5\1\0\2\5\3\0\2\5\1\212" + + "\1\5\1\213\5\5\1\214\7\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\1\5\1\215" + + "\7\5\1\216\4\5\1\217\3\5\15\0\4\5\1\220" + "\2\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\3\5\1\221\5\5\1\222\10\5\14\0" + "\10\77\1\223\1\77\1\0\1\101\57\77\10\0\1\224" + "\62\0\12\77\1\0\60\77\11\102\1\223\1\0\1\104" + "\57\102\11\0\1\225\61\0\12\102\1\0\60\102\1\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" - + "\1\5\1\164\20\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\14\5\1\226\5\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" - + "\1\5\1\227\5\5\1\230\12\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\3\5\1\160" + "\16\5\14\0\3\66\1\111\4\66\3\0\3\66\1\111" + + "\1\5\1\164\20\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\14\5\1\226\5\5\15\0" + + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\1\5\1\227\5\5\1\230\12\5\15\0\7\5\4\0" + + "\10\5\1\0\2\5\1\0\2\5\3\0\3\5\1\160" + "\16\5\14\0\3\66\1\111\4\66\3\0\3\66\1\111" + "\2\66\1\111\2\66\1\70\2\71\1\0\2\72\1\0" + "\1\66\1\0\22\66\12\0\1\66\1\0\3\66\1\111" + "\4\66\3\0\1\66\2\67\1\112\2\66\1\112\2\66" + "\1\70\2\71\1\0\2\72\1\0\1\66\1\0\22\66" + "\12\0\1\66\1\0\3\66\1\231\4\66\3\0\3\66" + "\1\231\2\66\3\231\1\0\2\231\1\0\2\66\1\0" + "\1\66\1\0\1\231\1\66\1\231\2\66\1\231\1\66" + "\1\231\12\66\12\0\1\66\2\0\7\5\4\0\10\5" - + "\1\0\2\5\1\0\2\5\3\0\1\232\21\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\10\5\1\233\11\5\15\0\7\5\4\0\10\5\1\0" - + "\2\5\1\0\2\5\3\0\10\5\1\234\11\5\15\0" + "\3\5\1\162\3\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\22\5\15\0\7\5\4\0\1\235\7\5" - + "\1\0\2\5\1\0\2\5\3\0\1\5\1\236\20\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\3\5\1\237\5\5\1\240\10\5\15\0\7\5" - + "\4\0\10\5\1\0\1\241\1\5\1\0\2\5\3\0" + "\7\5\1\242\12\5\15\0\4\5\1\243\2\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" - + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\1\244\21\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\2\5\1\162\17\5\15\0\7\5" - + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\3\5" + "\1\245\16\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\3\5\1\164\16\5\15\0\7\5" - + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\12\5" + "\1\246\7\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\4\5\1\162\15\5\15\0\7\5" - + "\4\0\1\247\5\5\1\162\1\5\1\0\2\5\1\0" + "\2\5\3\0\22\5\15\0\4\5\1\250\2\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" - + "\3\5\1\164\3\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\7\5\1\160\10\5\1\251\1\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" - + "\12\5\1\166\1\5\1\164\5\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\11\5\1\252" + "\10\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\4\5\1\253\15\5\15\0\3\5\1\164" + "\3\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\1\254\21\5\15\0\7\5\4\0\10\5\1\0\2\5" - + "\1\0\2\5\3\0\15\5\1\255\4\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\10\5" + "\1\256\11\5\15\0\7\5\4\0\10\5\1\0\2\5" - + "\1\0\2\5\3\0\13\5\1\162\6\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\12\5" + "\1\257\7\5\15\0\7\5\4\0\10\5\1\0\2\5" - + "\1\0\2\5\3\0\12\5\1\260\7\5\15\0\7\5" + "\4\0\10\5\1\0\1\261\1\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\6\5\1\262\1\5\1\0" - + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\10\5\1\244" + "\11\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\1\263\21\5\15\0\7\5\4\0\1\264" + "\7\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" + "\7\5\4\0\10\5\1\0\1\265\1\5\1\0\2\5" - + "\3\0\1\5\1\266\12\5\1\267\5\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\12\5" + "\1\164\7\5\15\0\3\5\1\164\3\5\4\0\10\5" - + "\1\0\2\5\1\0\2\5\3\0\1\270\21\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\2\5\1\164\17\5\15\0\7\5\4\0\10\5\1\0" - + "\2\5\1\0\1\271\1\5\3\0\22\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\4\5" + "\1\164\15\5\15\0\7\5\4\0\10\5\1\0\1\105" - + "\1\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\4\5\1\272" + "\5\5\1\273\7\5\15\0\7\5\4\0\10\5\1\0" - + "\2\5\1\0\2\5\3\0\3\5\1\274\5\5\1\275" + "\10\5\15\0\7\5\4\0\10\5\1\0\1\214\1\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" - + "\1\0\2\5\1\0\2\5\3\0\12\5\1\276\7\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\10\5\1\277\1\300\10\5\15\0\7\5\4\0" - + "\10\5\1\0\2\5\1\0\2\5\3\0\3\5\1\301" + "\16\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\16\5\1\164\3\5\15\0\7\5\4\0" - + "\10\5\1\0\1\302\1\5\1\0\2\5\3\0\22\5" + "\15\0\7\5\4\0\3\5\1\164\4\5\1\0\2\5" + "\1\0\2\5\3\0\12\5\1\164\7\5\15\0\7\5" - + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\10\5" + "\1\303\11\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\11\5\1\304\10\5\15\0\7\5" - + "\4\0\3\5\1\164\4\5\1\0\2\5\1\0\2\5" + "\3\0\22\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\3\5\1\305\16\5\15\0\3\5" - + "\1\127\3\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\22\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\11\5\1\306\10\5\24\0\1\307" - + "\73\0\1\310\64\0\1\311\12\0\1\311\2\0\1\311" + "\5\0\1\210\31\0\1\210\11\0\3\66\1\207\4\66" - + "\3\0\3\66\1\207\2\66\1\207\2\66\1\0\2\66" + "\1\0\2\72\1\0\1\66\1\0\22\66\12\0\1\66" - + "\4\0\1\311\12\0\1\311\2\0\1\311\52\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\10\5" + "\1\312\11\5\15\0\4\5\1\252\2\5\4\0\10\5" - + "\1\0\2\5\1\0\2\5\3\0\22\5\15\0\4\5" + "\1\313\2\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\22\5\15\0\3\5\1\164\3\5\4\0\10\5" - + "\1\0\2\5\1\0\2\5\3\0\22\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\15\5" + "\1\260\4\5\15\0\7\5\4\0\10\5\1\0\2\5" - + "\1\0\2\5\3\0\3\5\1\237\16\5\15\0\1\314" + "\6\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\1\5\1\315\20\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\11\5\1\141" + "\10\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\7\5\1\316\12\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\5\5\1\317" + "\14\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\15\5\1\320\4\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\1\321\21\5" + "\14\0\3\66\1\231\4\66\3\0\1\66\2\67\1\231" + + "\1\0\2\5\1\0\2\5\3\0\1\232\21\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + + "\10\5\1\233\11\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\10\5\1\234\11\5\15\0" + + "\3\5\1\162\3\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\22\5\15\0\7\5\4\0\1\235\7\5" + + "\1\0\2\5\1\0\2\5\3\0\1\5\1\236\20\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + + "\3\0\3\5\1\237\5\5\1\240\10\5\15\0\7\5" + "\4\0\10\5\1\0\1\241\1\5\1\0\2\5\3\0" + + "\7\5\1\242\12\5\15\0\4\5\1\243\2\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" + + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\1\244\21\5\15\0\7\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\2\5\1\162\17\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\3\5" + + "\1\245\16\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\3\5\1\164\16\5\15\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\12\5" + "\1\246\7\5\15\0\7\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\4\5\1\162\15\5\15\0\7\5" + "\4\0\1\247\5\5\1\162\1\5\1\0\2\5\1\0" + + "\2\5\3\0\22\5\15\0\4\5\1\250\2\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" + + "\3\5\1\164\3\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\7\5\1\160\10\5\1\251\1\5\15\0" + + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\12\5\1\166\1\5\1\164\5\5\15\0\7\5\4\0" + + "\10\5\1\0\2\5\1\0\2\5\3\0\11\5\1\252" + "\10\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + + "\2\5\3\0\4\5\1\253\15\5\15\0\3\5\1\164" + "\3\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + + "\1\254\21\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\15\5\1\255\4\5\15\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\10\5" + "\1\256\11\5\15\0\7\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\13\5\1\162\6\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\12\5" + + "\1\257\7\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\12\5\1\260\7\5\15\0\7\5" + + "\4\0\10\5\1\0\1\261\1\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\6\5\1\262\1\5\1\0" + + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\10\5\1\244" + + "\11\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\1\263\21\5\15\0\7\5\4\0\1\264" + + "\7\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" + "\7\5\4\0\10\5\1\0\1\265\1\5\1\0\2\5" + + "\3\0\1\5\1\266\12\5\1\267\5\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\12\5" + + "\1\164\7\5\15\0\3\5\1\164\3\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\1\270\21\5\15\0" + + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\2\5\1\164\17\5\15\0\7\5\4\0\10\5\1\0" + + "\2\5\1\0\1\271\1\5\3\0\22\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\4\5" + + "\1\164\15\5\15\0\7\5\4\0\10\5\1\0\1\105" + "\1\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + + "\10\5\1\0\2\5\1\0\2\5\3\0\4\5\1\272" + "\5\5\1\273\7\5\15\0\7\5\4\0\10\5\1\0" + + "\2\5\1\0\2\5\3\0\3\5\1\274\5\5\1\275" + "\10\5\15\0\7\5\4\0\10\5\1\0\1\214\1\5" + + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\12\5\1\276\7\5" + + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\10\5\1\277\1\300\10\5\15\0\7\5\4\0" + + "\10\5\1\0\2\5\1\0\2\5\3\0\3\5\1\301" + "\16\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + + "\2\5\3\0\16\5\1\164\3\5\15\0\7\5\4\0" + "\10\5\1\0\1\302\1\5\1\0\2\5\3\0\22\5" + + "\15\0\7\5\4\0\3\5\1\164\4\5\1\0\2\5" + "\1\0\2\5\3\0\12\5\1\164\7\5\15\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\10\5" + "\1\303\11\5\15\0\7\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\11\5\1\304\10\5\15\0\7\5" + "\4\0\3\5\1\164\4\5\1\0\2\5\1\0\2\5" + + "\3\0\22\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\3\5\1\305\16\5\15\0\3\5" + + "\1\127\3\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\22\5\15\0\7\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\11\5\1\306\10\5\24\0\1\307" + "\73\0\1\310\64\0\1\311\12\0\1\311\2\0\1\311" + + "\5\0\1\210\31\0\1\210\11\0\3\66\1\207\4\66" + "\3\0\3\66\1\207\2\66\1\207\2\66\1\0\2\66" + + "\1\0\2\72\1\0\1\66\1\0\22\66\12\0\1\66" + "\4\0\1\311\12\0\1\311\2\0\1\311\52\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\10\5" + "\1\312\11\5\15\0\4\5\1\252\2\5\4\0\10\5" + + "\1\0\2\5\1\0\2\5\3\0\22\5\15\0\4\5" + "\1\313\2\5\4\0\10\5\1\0\2\5\1\0\2\5" + + "\3\0\22\5\15\0\3\5\1\164\3\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\22\5\15\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\15\5" + "\1\260\4\5\15\0\7\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\3\5\1\237\16\5\15\0\1\314" + "\6\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\1\5\1\315\20\5\15\0\7\5\4\0" + + "\10\5\1\0\2\5\1\0\2\5\3\0\11\5\1\141" + "\10\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + + "\2\5\3\0\7\5\1\316\12\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\5\5\1\317" + + "\14\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\15\5\1\320\4\5\15\0\7\5\4\0" + + "\10\5\1\0\2\5\1\0\2\5\3\0\1\321\21\5" + "\14\0\3\66\1\231\4\66\3\0\1\66\2\67\1\231" + "\2\66\3\231\1\0\2\231\1\0\2\66\1\0\1\66" + "\1\0\1\231\1\66\1\231\2\66\1\231\1\66\1\231" - + "\12\66\12\0\1\66\2\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\1\5\1\215\20\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" - + "\14\5\1\162\5\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\1\322\21\5\15\0\7\5" + "\4\0\10\5\1\0\1\164\1\5\1\0\2\5\3\0" - + "\4\5\1\166\15\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\1\323\21\5\15\0\7\5" + "\4\0\10\5\1\0\1\162\1\5\1\0\2\5\3\0" - + "\22\5\15\0\7\5\4\0\6\5\1\162\1\5\1\0" + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\7\5\1\324" - + "\12\5\15\0\7\5\4\0\10\5\1\0\1\325\1\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\14\5\1\326\5\5" - + "\15\0\7\5\4\0\1\164\7\5\1\0\2\5\1\0" + "\2\5\3\0\22\5\15\0\7\5\4\0\10\5\1\0" + "\1\327\1\5\1\0\2\5\3\0\22\5\15\0\7\5" - + "\4\0\1\330\7\5\1\0\2\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\1\331\21\5\15\0\7\5\4\0\10\5" - + "\1\0\2\5\1\0\2\5\3\0\5\5\1\332\14\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\14\5\1\333\5\5\15\0\7\5\4\0\10\5" - + "\1\0\2\5\1\0\2\5\3\0\7\5\1\260\12\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\4\5\1\334\15\5\15\0\7\5\4\0\10\5" - + "\1\0\2\5\1\0\2\5\3\0\1\5\1\335\20\5" + "\15\0\3\5\1\322\3\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\1\260" - + "\7\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" + "\7\5\4\0\10\5\1\0\1\164\1\5\1\0\2\5" + "\3\0\22\5\15\0\7\5\4\0\10\5\1\0\2\5" - + "\1\0\2\5\3\0\1\336\21\5\15\0\7\5\4\0" + "\6\5\1\166\1\5\1\0\2\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\3\5\1\337\16\5\15\0\7\5\4\0" + "\1\340\7\5\1\0\2\5\1\0\2\5\3\0\22\5" + "\15\0\3\5\1\252\3\5\4\0\10\5\1\0\2\5" - + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\4\5\1\341\15\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" - + "\3\0\12\5\1\342\7\5\15\0\3\5\1\320\3\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\22\5" + "\15\0\7\5\4\0\10\5\1\0\1\343\1\5\1\0" - + "\2\5\3\0\22\5\15\0\7\5\4\0\10\5\1\0" + "\1\344\1\5\1\0\2\5\3\0\22\5\15\0\4\5" + "\1\160\2\5\4\0\10\5\1\0\2\5\1\0\2\5" - + "\3\0\22\5\15\0\4\5\1\345\2\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\22\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\1\5" - + "\1\346\20\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\10\5\1\327\11\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\12\5" - + "\1\347\7\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\1\5\1\131\20\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\3\5" - + "\1\162\16\5\15\0\7\5\4\0\1\125\7\5\1\0" + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\5\5\1\350" - + "\14\5\15\0\7\5\4\0\1\237\7\5\1\0\2\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\1\331\16\5\1\164" - + "\2\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\2\5\1\320\17\5\17\0\1\311\12\0" + "\1\311\2\0\1\311\6\0\2\206\42\0\7\5\4\0" - + "\10\5\1\0\2\5\1\0\2\5\3\0\1\315\21\5" + "\15\0\3\5\1\351\3\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" - + "\1\0\2\5\1\0\2\5\3\0\11\5\1\352\10\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\10\5\1\353\6\5\1\214\2\5\15\0\7\5" - + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\2\5" + "\1\354\17\5\15\0\7\5\4\0\1\127\7\5\1\0" + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" - + "\10\5\1\0\2\5\1\0\2\5\3\0\4\5\1\320" + "\15\5\15\0\7\5\4\0\1\355\7\5\1\0\2\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\6\5" - + "\1\356\1\5\1\0\2\5\1\0\2\5\3\0\22\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\12\5\1\131\7\5\15\0\7\5\4\0\10\5" - + "\1\0\1\357\1\5\1\0\2\5\3\0\22\5\15\0" + "\3\5\1\131\3\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\22\5\15\0\7\5\4\0\10\5\1\0" - + "\2\5\1\0\2\5\3\0\13\5\1\164\6\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\4\5\1\360\15\5\15\0\7\5\4\0\1\361\7\5" - + "\1\0\2\5\1\0\2\5\3\0\22\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\10\5" + "\1\315\11\5\15\0\7\5\4\0\10\5\1\0\2\5" - + "\1\0\2\5\3\0\11\5\1\362\10\5\15\0\7\5" + "\4\0\10\5\1\0\1\306\1\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\6\5\1\162\13\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\3\5\1\363" + "\16\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\1\364\21\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\11\5\1\365\10\5" + "\15\0\7\5\4\0\1\366\7\5\1\0\2\5\1\0" - + "\2\5\3\0\11\5\1\257\10\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\7\5\1\160" + "\12\5\15\0\3\5\1\105\3\5\4\0\10\5\1\0" - + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\5\5\1\367" + "\14\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\3\5\1\370\16\5\15\0\7\5\4\0" + "\10\5\1\0\1\371\1\5\1\0\2\5\3\0\22\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" - + "\3\0\1\372\21\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\1\5\1\162\20\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" - + "\1\5\1\373\20\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\2\5\1\260\17\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" - + "\1\162\21\5\15\0\7\5\4\0\1\143\7\5\1\0" + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\11\5\1\257" - + "\10\5\15\0\3\5\1\374\3\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\4\5\1\214" - + "\15\5\15\0\7\5\4\0\10\5\1\0\1\320\1\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\7\5\1\375\12\5" - + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\14\5\1\376\5\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\5\5\1\257\14\5" - + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\1\5\1\377\20\5\15\0\7\5\4\0\10\5" + "\1\0\1\177\1\5\1\0\2\5\3\0\22\5\15\0" - + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\7\5\1\u0100\12\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\4\5\1\u0101\15\5\15\0" - + "\3\5\1\u0102\3\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\22\5\15\0\7\5\4\0\1\u0103\7\5" + "\1\0\2\5\1\0\2\5\3\0\22\5\15\0\7\5" - + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\12\5" + "\1\273\7\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\1\u0104\21\5\15\0\7\5\4\0" - + "\10\5\1\0\1\u0105\1\5\1\0\2\5\3\0\22\5" + "\15\0\4\5\1\237\2\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\1\u0106" - + "\7\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\1\u0107\21\5\15\0\7\5\4\0\10\5\1\0\2\5" - + "\1\0\2\5\3\0\4\5\1\330\15\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\4\5" + "\1\260\15\5\15\0\7\5\4\0\10\5\1\0\2\5" - + "\1\0\2\5\3\0\4\5\1\u0108\15\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\1\u0109" + "\21\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\1\5\1\252\20\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\17\5\1\333" + "\2\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" - + "\2\5\3\0\3\5\1\127\16\5\14\0"; - + + "\12\66\12\0\1\66\2\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\1\5\1\215\20\5\15\0" + + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\14\5\1\162\5\5\15\0\7\5\4\0\10\5\1\0" + + "\2\5\1\0\2\5\3\0\1\322\21\5\15\0\7\5" + "\4\0\10\5\1\0\1\164\1\5\1\0\2\5\3\0" + + "\4\5\1\166\15\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\1\323\21\5\15\0\7\5" + + "\4\0\10\5\1\0\1\162\1\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\6\5\1\162\1\5\1\0" + + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\7\5\1\324" + + "\12\5\15\0\7\5\4\0\10\5\1\0\1\325\1\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" + + "\1\0\2\5\1\0\2\5\3\0\14\5\1\326\5\5" + "\15\0\7\5\4\0\1\164\7\5\1\0\2\5\1\0" + + "\2\5\3\0\22\5\15\0\7\5\4\0\10\5\1\0" + "\1\327\1\5\1\0\2\5\3\0\22\5\15\0\7\5" + + "\4\0\1\330\7\5\1\0\2\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + + "\2\5\3\0\1\331\21\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\5\5\1\332\14\5" + + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\14\5\1\333\5\5\15\0\7\5\4\0\10\5" + + "\1\0\2\5\1\0\2\5\3\0\7\5\1\260\12\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + + "\3\0\4\5\1\334\15\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\1\5\1\335\20\5" + + "\15\0\3\5\1\322\3\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\1\260" + + "\7\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" + "\7\5\4\0\10\5\1\0\1\164\1\5\1\0\2\5" + + "\3\0\22\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\1\336\21\5\15\0\7\5\4\0" + + "\6\5\1\166\1\5\1\0\2\5\1\0\2\5\3\0" + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + + "\2\5\3\0\3\5\1\337\16\5\15\0\7\5\4\0" + "\1\340\7\5\1\0\2\5\1\0\2\5\3\0\22\5" + + "\15\0\3\5\1\252\3\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" + + "\1\0\2\5\1\0\2\5\3\0\4\5\1\341\15\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + + "\3\0\12\5\1\342\7\5\15\0\3\5\1\320\3\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\22\5" + + "\15\0\7\5\4\0\10\5\1\0\1\343\1\5\1\0" + "\2\5\3\0\22\5\15\0\7\5\4\0\10\5\1\0" + + "\1\344\1\5\1\0\2\5\3\0\22\5\15\0\4\5" + "\1\160\2\5\4\0\10\5\1\0\2\5\1\0\2\5" + + "\3\0\22\5\15\0\4\5\1\345\2\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\22\5\15\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\1\5" + "\1\346\20\5\15\0\7\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\10\5\1\327\11\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\12\5" + + "\1\347\7\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\1\5\1\131\20\5\15\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\3\5" + "\1\162\16\5\15\0\7\5\4\0\1\125\7\5\1\0" + + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\5\5\1\350" + + "\14\5\15\0\7\5\4\0\1\237\7\5\1\0\2\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" + + "\1\0\2\5\1\0\2\5\3\0\1\331\16\5\1\164" + "\2\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + + "\2\5\3\0\2\5\1\320\17\5\17\0\1\311\12\0" + "\1\311\2\0\1\311\6\0\2\206\42\0\7\5\4\0" + + "\10\5\1\0\2\5\1\0\2\5\3\0\1\315\21\5" + "\15\0\3\5\1\351\3\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\11\5\1\352\10\5" + + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\10\5\1\353\6\5\1\214\2\5\15\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\2\5" + "\1\354\17\5\15\0\7\5\4\0\1\127\7\5\1\0" + + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\4\5\1\320" + + "\15\5\15\0\7\5\4\0\1\355\7\5\1\0\2\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\6\5" + + "\1\356\1\5\1\0\2\5\1\0\2\5\3\0\22\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + + "\3\0\12\5\1\131\7\5\15\0\7\5\4\0\10\5" + "\1\0\1\357\1\5\1\0\2\5\3\0\22\5\15\0" + + "\3\5\1\131\3\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\22\5\15\0\7\5\4\0\10\5\1\0" + + "\2\5\1\0\2\5\3\0\13\5\1\164\6\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + + "\4\5\1\360\15\5\15\0\7\5\4\0\1\361\7\5" + "\1\0\2\5\1\0\2\5\3\0\22\5\15\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\10\5" + "\1\315\11\5\15\0\7\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\11\5\1\362\10\5\15\0\7\5" + "\4\0\10\5\1\0\1\306\1\5\1\0\2\5\3\0" + + "\22\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\6\5\1\162\13\5\15\0\7\5\4\0" + + "\10\5\1\0\2\5\1\0\2\5\3\0\3\5\1\363" + "\16\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + + "\2\5\3\0\1\364\21\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\11\5\1\365\10\5" + + "\15\0\7\5\4\0\1\366\7\5\1\0\2\5\1\0" + "\2\5\3\0\11\5\1\257\10\5\15\0\7\5\4\0" + + "\10\5\1\0\2\5\1\0\2\5\3\0\7\5\1\160" + "\12\5\15\0\3\5\1\105\3\5\4\0\10\5\1\0" + + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\5\5\1\367" + + "\14\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\3\5\1\370\16\5\15\0\7\5\4\0" + + "\10\5\1\0\1\371\1\5\1\0\2\5\3\0\22\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + + "\3\0\1\372\21\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\1\5\1\162\20\5\15\0" + + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\1\5\1\373\20\5\15\0\7\5\4\0\10\5\1\0" + + "\2\5\1\0\2\5\3\0\2\5\1\260\17\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + + "\1\162\21\5\15\0\7\5\4\0\1\143\7\5\1\0" + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + + "\10\5\1\0\2\5\1\0\2\5\3\0\11\5\1\257" + "\10\5\15\0\3\5\1\374\3\5\4\0\10\5\1\0" + + "\2\5\1\0\2\5\3\0\22\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\4\5\1\214" + + "\15\5\15\0\7\5\4\0\10\5\1\0\1\320\1\5" + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\10\5" + + "\1\0\2\5\1\0\2\5\3\0\7\5\1\375\12\5" + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + + "\3\0\14\5\1\376\5\5\15\0\7\5\4\0\10\5" + "\1\0\2\5\1\0\2\5\3\0\5\5\1\257\14\5" + + "\15\0\7\5\4\0\10\5\1\0\2\5\1\0\2\5" + "\3\0\1\5\1\377\20\5\15\0\7\5\4\0\10\5" + + "\1\0\1\177\1\5\1\0\2\5\3\0\22\5\15\0" + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + + "\7\5\1\u0100\12\5\15\0\7\5\4\0\10\5\1\0" + "\2\5\1\0\2\5\3\0\4\5\1\u0101\15\5\15\0" + + "\3\5\1\u0102\3\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\22\5\15\0\7\5\4\0\1\u0103\7\5" + + "\1\0\2\5\1\0\2\5\3\0\22\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\12\5" + + "\1\273\7\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\1\u0104\21\5\15\0\7\5\4\0" + + "\10\5\1\0\1\u0105\1\5\1\0\2\5\3\0\22\5" + "\15\0\4\5\1\237\2\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\22\5\15\0\7\5\4\0\1\u0106" + "\7\5\1\0\2\5\1\0\2\5\3\0\22\5\15\0" + + "\7\5\4\0\10\5\1\0\2\5\1\0\2\5\3\0" + "\1\u0107\21\5\15\0\7\5\4\0\10\5\1\0\2\5" + + "\1\0\2\5\3\0\4\5\1\330\15\5\15\0\7\5" + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\4\5" + + "\1\260\15\5\15\0\7\5\4\0\10\5\1\0\2\5" + "\1\0\2\5\3\0\4\5\1\u0108\15\5\15\0\7\5" + + "\4\0\10\5\1\0\2\5\1\0\2\5\3\0\1\u0109" + "\21\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + + "\2\5\3\0\1\5\1\252\20\5\15\0\7\5\4\0" + "\10\5\1\0\2\5\1\0\2\5\3\0\17\5\1\333" + + "\2\5\15\0\7\5\4\0\10\5\1\0\2\5\1\0" + "\2\5\3\0\3\5\1\127\16\5\14\0"; + private static int[] zzUnpackTrans() { int[] result = new int[14514]; 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 */ @@ -281,7 +336,7 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -293,16 +348,16 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\1\11\10\1\1\11\32\1\1\11\3\1\1\11" + "\4\1\1\11\17\1\1\0\2\1\1\0\76\1\3\0" - + "\1\11\1\1\1\0\12\1\3\11\61\1\2\11\101\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\1\11\10\1\1\11\32\1\1\11\3\1\1\11" + + "\4\1\1\11\17\1\1\0\2\1\1\0\76\1\3\0" + "\1\11\1\1\1\0\12\1\3\11\61\1\2\11\101\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[265]; 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 */ @@ -316,7 +371,7 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -324,8 +379,8 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -335,64 +390,55 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public PythonTokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -400,21 +446,18 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -423,14 +466,14 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = LONG_STRING_2; - break; - case Token.LITERAL_CHAR: - state = LONG_STRING_1; - break; - default: - state = Token.NULL; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = LONG_STRING_2; + break; + case Token.LITERAL_CHAR: + state = LONG_STRING_1; + break; + default: + state = Token.NULL; } s = text; try { @@ -442,26 +485,25 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -471,44 +513,40 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public PythonTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public PythonTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -524,7 +562,7 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -534,69 +572,64 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -607,29 +640,27 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -648,8 +679,7 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -689,138 +719,138 @@ public class PythonTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 5: { - addNullToken(); - return firstToken; - } - case 20: - break; - case 10: { - addToken(Token.LITERAL_CHAR); - } - case 21: - break; - case 8: { - addToken(Token.WHITESPACE); - } - case 22: - break; - case 12: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 23: - break; - case 13: { - addToken(Token.RESERVED_WORD); - } - case 24: - break; - case 9: { - addToken(Token.SEPARATOR); - } - case 25: - break; - case 15: { - yybegin(LONG_STRING_1); - addToken(Token.LITERAL_CHAR); - } - case 26: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 27: - break; - case 14: { - addToken(Token.FUNCTION); - } - case 28: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 29: - break; - case 17: { - addToken(Token.DATA_TYPE); - } - case 30: - break; - case 4: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 31: - break; - case 7: { - addToken(Token.COMMENT_EOL); - } - case 32: - break; - case 11: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 33: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 34: - break; - case 6: { - addToken(Token.OPERATOR); - } - case 35: - break; - case 19: { - yybegin(YYINITIAL); - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 36: - break; - case 16: { - yybegin(LONG_STRING_2); - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 37: - break; - case 18: { - yybegin(YYINITIAL); - addToken(Token.LITERAL_CHAR); - } - case 38: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 266: - break; - case LONG_STRING_2: { - if (firstToken == null) { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - return firstToken; - } - case 267: - break; - case LONG_STRING_1: { - if (firstToken == null) { - addToken(Token.LITERAL_CHAR); - } - return firstToken; - } - case 268: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 5: { + addNullToken(); + return firstToken; + } + case 20: + break; + case 10: { + addToken(Token.LITERAL_CHAR); + } + case 21: + break; + case 8: { + addToken(Token.WHITESPACE); + } + case 22: + break; + case 12: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 23: + break; + case 13: { + addToken(Token.RESERVED_WORD); + } + case 24: + break; + case 9: { + addToken(Token.SEPARATOR); + } + case 25: + break; + case 15: { + yybegin(LONG_STRING_1); + addToken(Token.LITERAL_CHAR); + } + case 26: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 27: + break; + case 14: { + addToken(Token.FUNCTION); + } + case 28: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 29: + break; + case 17: { + addToken(Token.DATA_TYPE); + } + case 30: + break; + case 4: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 31: + break; + case 7: { + addToken(Token.COMMENT_EOL); + } + case 32: + break; + case 11: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 33: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 34: + break; + case 6: { + addToken(Token.OPERATOR); + } + case 35: + break; + case 19: { + yybegin(YYINITIAL); + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 36: + break; + case 16: { + yybegin(LONG_STRING_2); + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 37: + break; + case 18: { + yybegin(YYINITIAL); + addToken(Token.LITERAL_CHAR); + } + case 38: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case YYINITIAL: { + addNullToken(); + return firstToken; } + case 266: + break; + case LONG_STRING_2: { + if (firstToken == null) { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + return firstToken; + } + case 267: + break; + case LONG_STRING_1: { + if (firstToken == null) { + addToken(Token.LITERAL_CHAR); + } + return firstToken; + } + case 268: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/RubyTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/RubyTokenMaker.java index 6851bd2..7c41baf 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/RubyTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/RubyTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated RubyTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class RubyTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -86,8 +85,8 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { + "\1\10\1\56\1\50\1\53\1\107\1\111\1\36\1\46\1\35\1\60" + "\1\43\1\40\1\47\1\3\1\4\6\6\2\2\1\37\1\60\1\51" + "\1\25\1\52\1\104\1\57\1\67\1\62\1\5\1\61\1\34\1\64" + "\1\63\1\1\1\65\2\1\1\1\1\1\1\66\1\70\1\1\1\110" + "\1\1\1\73\1\71\1\1\1\1\1\110\3\1\1\41\1\11\1\42" + "\1\55\1\12\1\113\1\20\1\26\1\76\1\32\1\16\1\17\1\27" - + "\1\102\1\30\1\1\1\75\1\21\1\77\1\31\1\72\1\101\1\105" + "\1\14\1\22\1\13\1\15\1\74\1\103\1\33\1\100\1\1\1\112" - + "\1\54\1\114\1\45\uff81\0"; + + "\1\102\1\30\1\1\1\75\1\21\1\77\1\31\1\72\1\101\1\105" + + "\1\14\1\22\1\13\1\15\1\74\1\103\1\33\1\100\1\1\1\112" + "\1\54\1\114\1\45\uff81\0"; /** * Translates characters to character classes */ @@ -96,21 +95,23 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\17\0\1\1\1\2\2\3\1\2\1\4\10\2\1\5" + "\1\6\1\7\6\2\1\7\1\10\1\2\10\7\2\1" - + "\11\2\1\11\1\2\1\12\1\13\1\14\1\15\1\16" + "\1\17\1\20\1\15\1\21\1\15\1\22\1\15\1\23" - + "\1\15\1\24\1\15\1\25\1\15\1\26\1\15\1\27" + "\1\30\1\31\1\15\1\32\1\33\1\15\1\34\1\15" - + "\1\35\1\36\1\15\1\37\1\15\1\40\1\15\1\1" + "\1\41\1\3\4\1\30\2\1\0\7\2\1\42\5\2" + "\1\43\1\7\1\0\1\44\1\45\1\46\1\47\1\50" - + "\1\51\2\7\3\52\1\0\1\1\4\2\1\7\12\2" + "\1\16\1\27\2\15\1\0\2\41\2\3\1\53\24\2" + "\1\42\7\2\1\11\6\2\1\0\10\2\1\42\5\0" - + "\20\2\1\54\1\0\1\1\1\41\3\1\1\55\1\2" + "\1\11\16\2\1\11\5\2\1\0\3\2\4\0\11\2" + "\1\56\1\0\12\2\1\0\2\2\1\57\1\60\3\0" + private static final String ZZ_ACTION_PACKED_0 = "\17\0\1\1\1\2\2\3\1\2\1\4\10\2\1\5" + + "\1\6\1\7\6\2\1\7\1\10\1\2\10\7\2\1" + "\11\2\1\11\1\2\1\12\1\13\1\14\1\15\1\16" + + "\1\17\1\20\1\15\1\21\1\15\1\22\1\15\1\23" + "\1\15\1\24\1\15\1\25\1\15\1\26\1\15\1\27" + + "\1\30\1\31\1\15\1\32\1\33\1\15\1\34\1\15" + "\1\35\1\36\1\15\1\37\1\15\1\40\1\15\1\1" + + "\1\41\1\3\4\1\30\2\1\0\7\2\1\42\5\2" + "\1\43\1\7\1\0\1\44\1\45\1\46\1\47\1\50" + + "\1\51\2\7\3\52\1\0\1\1\4\2\1\7\12\2" + "\1\16\1\27\2\15\1\0\2\41\2\3\1\53\24\2" + + "\1\42\7\2\1\11\6\2\1\0\10\2\1\42\5\0" + "\20\2\1\54\1\0\1\1\1\41\3\1\1\55\1\2" + + "\1\11\16\2\1\11\5\2\1\0\3\2\4\0\11\2" + "\1\56\1\0\12\2\1\0\2\2\1\57\1\60\3\0" + "\2\2\1\11\5\2\1\61\1\2\6\0\4\2\1\62" + "\1\63\1\11\7\2"; - + private static int[] zzUnpackAction() { int[] result = new int[347]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -124,7 +125,7 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -172,14 +173,14 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { + "\0\u51d0\0\u521d\0\u526a\0\u52b7\0\u5183\0\u05b7\0\u5304\0\u5351" + "\0\u539e\0\u53eb\0\u5438\0\u5485\0\u54d2\0\u551f\0\u556c\0\u55b9" + "\0\u5606\0\u05b7\0\u05b7\0\u383f\0\u5653\0\u56a0\0\u56ed\0\u573a" + "\0\u5787\0\u57d4\0\u5821"; - + private static int[] zzUnpackRowMap() { int[] result = new int[347]; 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 */ @@ -190,23 +191,29 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\20\1\21\1\22\1\23\1\22\1\21\1\22\1\24" + "\1\25\1\20\1\21\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" + "\1\43\1\44\1\45\1\21\1\46\1\47\1\50\1\51" - + "\1\52\2\53\1\47\1\54\1\53\2\47\1\55\1\56" + "\1\57\1\60\1\61\1\53\1\62\1\63\1\24\1\21" - + "\1\64\1\21\1\65\1\66\1\21\1\67\2\21\1\70" + "\1\71\2\21\1\72\1\73\1\74\1\75\1\21\1\76" - + "\1\24\1\21\1\77\1\100\1\21\2\50\1\101\1\50" + "\11\102\1\103\11\102\1\104\62\102\1\105\6\102\11\106" - + "\1\103\11\106\1\107\20\106\1\105\50\106\11\110\1\103" + "\11\110\1\111\70\110\1\105\11\112\1\103\11\112\1\113" - + "\12\112\1\105\56\112\11\114\1\103\11\114\1\115\23\114" + "\1\105\45\114\11\116\1\103\11\116\1\117\16\116\1\105" - + "\52\116\11\120\1\103\11\120\1\121\26\120\1\105\42\120" + "\11\122\1\123\11\122\1\124\63\122\1\125\5\122\11\126" - + "\1\103\11\126\1\127\67\126\1\130\1\126\11\131\1\103" + "\11\131\1\132\10\131\1\133\71\131\1\103\11\131\1\134" - + "\10\131\1\133\71\131\1\103\11\131\1\135\10\131\1\136" + "\71\131\1\103\11\131\1\137\10\131\1\136\60\131\23\140" - + "\1\141\1\140\1\142\67\140\7\20\1\0\13\20\3\0" + "\7\20\21\0\2\20\1\0\23\20\1\0\1\20\2\0" - + "\1\20\4\0\1\20\6\21\1\0\2\20\11\21\3\0" + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\2\20\3\22\1\20\1\22\1\0\2\20" + private static final String ZZ_TRANS_PACKED_0 = "\1\20\1\21\1\22\1\23\1\22\1\21\1\22\1\24" + + "\1\25\1\20\1\21\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" + + "\1\43\1\44\1\45\1\21\1\46\1\47\1\50\1\51" + "\1\52\2\53\1\47\1\54\1\53\2\47\1\55\1\56" + + "\1\57\1\60\1\61\1\53\1\62\1\63\1\24\1\21" + "\1\64\1\21\1\65\1\66\1\21\1\67\2\21\1\70" + + "\1\71\2\21\1\72\1\73\1\74\1\75\1\21\1\76" + "\1\24\1\21\1\77\1\100\1\21\2\50\1\101\1\50" + + "\11\102\1\103\11\102\1\104\62\102\1\105\6\102\11\106" + + "\1\103\11\106\1\107\20\106\1\105\50\106\11\110\1\103" + + "\11\110\1\111\70\110\1\105\11\112\1\103\11\112\1\113" + + "\12\112\1\105\56\112\11\114\1\103\11\114\1\115\23\114" + + "\1\105\45\114\11\116\1\103\11\116\1\117\16\116\1\105" + + "\52\116\11\120\1\103\11\120\1\121\26\120\1\105\42\120" + + "\11\122\1\123\11\122\1\124\63\122\1\125\5\122\11\126" + + "\1\103\11\126\1\127\67\126\1\130\1\126\11\131\1\103" + + "\11\131\1\132\10\131\1\133\71\131\1\103\11\131\1\134" + + "\10\131\1\133\71\131\1\103\11\131\1\135\10\131\1\136" + + "\71\131\1\103\11\131\1\137\10\131\1\136\60\131\23\140" + "\1\141\1\140\1\142\67\140\7\20\1\0\13\20\3\0" + + "\7\20\21\0\2\20\1\0\23\20\1\0\1\20\2\0" + "\1\20\4\0\1\20\6\21\1\0\2\20\11\21\3\0" + + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\2\20\3\22\1\20\1\22\1\0\2\20" + "\1\143\3\20\1\144\4\20\3\0\6\20\1\144\21\0" + "\2\20\1\0\23\20\1\0\1\20\2\0\1\20\4\0" + "\3\20\2\145\1\20\1\145\1\0\2\20\1\146\10\20" + "\3\0\1\147\3\20\1\150\1\151\1\20\21\0\2\20" + "\1\0\23\20\1\0\1\20\2\0\1\20\121\0\23\25" + "\1\0\71\25\1\20\6\21\1\0\2\20\2\21\1\152" @@ -236,9 +243,10 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { + "\2\0\1\236\4\235\1\0\3\235\2\0\2\234\1\235" + "\23\233\1\235\1\233\2\235\1\233\2\0\1\235\1\0" + "\1\20\1\233\3\20\1\233\1\20\1\0\2\20\11\233" + "\3\0\7\233\21\0\1\20\1\237\1\0\23\233\1\0" + "\1\233\2\0\1\233\4\0\1\20\6\21\1\0\2\20" + "\11\21\3\0\6\21\1\240\21\0\2\20\1\0\23\21" - + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\7\21\1\241\1\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" - + "\6\21\1\0\2\20\11\21\3\0\3\21\1\242\3\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\2\21\1\243\6\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\2\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\7\21\1\241\1\21\3\0\7\21\21\0\2\20" + + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\11\21\3\0\3\21\1\242\3\21" + + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\2\21\1\243\6\21" + + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\2\21" + "\1\244\6\21\3\0\7\21\21\0\2\20\1\0\20\21" + "\1\245\2\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\1\21\1\246\7\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\6\21\1\247\1\250" + "\1\21\3\0\7\21\21\0\2\20\1\0\21\21\1\251" @@ -261,21 +269,22 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { + "\1\0\23\20\1\0\1\20\2\0\1\20\4\0\2\20" + "\5\270\1\0\6\20\3\270\2\20\3\0\1\270\3\20" + "\1\270\1\20\1\270\21\0\2\20\1\0\2\270\1\20" + "\1\270\2\20\1\270\6\20\1\270\5\20\1\0\1\20" + "\2\0\1\20\4\0\1\20\6\21\1\0\2\20\3\21" + "\1\271\2\21\1\272\2\21\3\0\7\21\21\0\2\20" - + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\10\21\1\273\3\0\7\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" - + "\1\20\6\21\1\0\2\20\4\21\1\274\4\21\3\0" + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" - + "\1\21\4\0\1\20\6\21\1\0\2\20\1\21\1\275" + "\4\21\1\276\1\21\1\277\3\0\4\21\1\300\2\21" - + "\21\0\2\20\1\0\23\21\1\0\1\301\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\2\21" - + "\1\302\1\303\3\21\21\0\2\20\1\0\23\21\1\0" + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" - + "\1\21\1\304\5\21\1\305\1\21\3\0\4\21\1\306" + "\2\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" - + "\1\21\4\0\1\20\6\21\1\0\2\20\10\21\1\307" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\10\21" + "\1\310\3\0\4\21\1\212\2\21\21\0\2\20\1\0" - + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + "\1\0\2\20\4\21\1\311\4\21\3\0\2\21\1\312" - + "\4\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\6\21\1\313" - + "\2\21\3\0\7\21\21\0\2\20\1\0\23\21\1\0" + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" - + "\7\21\1\314\1\21\3\0\2\21\1\313\4\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" - + "\1\20\6\21\1\0\2\20\2\21\1\315\6\21\3\0" + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" - + "\1\21\4\0\1\20\6\21\1\0\2\20\1\316\10\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\1\21" + "\1\317\7\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\10\21\1\273\3\0\7\21\21\0" + + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\4\21\1\274\4\21\3\0" + + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\1\21\1\275" + + "\4\21\1\276\1\21\1\277\3\0\4\21\1\300\2\21" + "\21\0\2\20\1\0\23\21\1\0\1\301\2\0\1\21" + + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\2\21" + "\1\302\1\303\3\21\21\0\2\20\1\0\23\21\1\0" + + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\1\21\1\304\5\21\1\305\1\21\3\0\4\21\1\306" + + "\2\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\10\21\1\307" + + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\10\21" + + "\1\310\3\0\4\21\1\212\2\21\21\0\2\20\1\0" + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + + "\1\0\2\20\4\21\1\311\4\21\3\0\2\21\1\312" + "\4\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + + "\1\21\4\0\1\20\6\21\1\0\2\20\6\21\1\313" + "\2\21\3\0\7\21\21\0\2\20\1\0\23\21\1\0" + + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\7\21\1\314\1\21\3\0\2\21\1\313\4\21\21\0" + + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\2\21\1\315\6\21\3\0" + + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\1\316\10\21" + + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\1\21" + + "\1\317\7\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\11\21\3\0\2\21\1\320\4\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\11\21\3\0\4\21\1\244\2\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" + "\21\0\2\20\1\0\16\21\1\321\4\21\1\0\1\21" @@ -293,10 +302,11 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { + "\2\20\11\21\3\0\3\21\1\337\3\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\1\21\1\340\7\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" + "\21\0\2\20\1\0\11\21\1\341\11\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\3\21" + "\1\342\5\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" - + "\2\20\4\21\1\343\4\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" - + "\6\21\1\0\2\20\11\21\3\0\5\21\1\344\1\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\7\21\1\212\1\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\1\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\3\21" + "\1\342\5\21\3\0\7\21\21\0\2\20\1\0\23\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\4\21\1\343\4\21\3\0\7\21\21\0\2\20" + + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\11\21\3\0\5\21\1\344\1\21" + + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\7\21\1\212\1\21" + + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\1\21" + "\1\244\7\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\5\21\1\345\3\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\11\21\3\0\7\21\21\0\2\20" + "\1\0\1\212\22\21\1\0\1\21\2\0\1\21\5\0" @@ -311,57 +321,60 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { + "\1\355\7\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\2\21\1\356\6\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\4\21\1\357\4\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\2\21\1\360\6\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\1\21" - + "\1\361\5\21\1\362\1\363\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" - + "\6\21\1\0\2\20\6\21\1\364\2\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" + "\21\0\2\20\1\0\11\21\1\365\11\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + "\3\0\4\21\1\366\2\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + + "\4\0\1\20\6\21\1\0\2\20\2\21\1\360\6\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\1\21" + "\1\361\5\21\1\362\1\363\3\0\7\21\21\0\2\20" + + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\6\21\1\364\2\21\3\0\7\21" + + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" + + "\21\0\2\20\1\0\11\21\1\365\11\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + + "\3\0\4\21\1\366\2\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\4\21\1\367\4\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\11\21\3\0\2\21\1\370\4\21" + "\21\0\2\20\1\0\11\21\1\311\11\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\1\21" + "\1\371\7\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" - + "\2\20\4\21\1\274\4\21\3\0\2\21\1\372\4\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\11\131\1\0\11\131\1\0\40\131\1\373\41\131" + "\1\0\11\131\1\0\45\131\1\373\23\131\31\0\1\374" - + "\63\0\2\20\3\264\1\20\1\264\1\0\2\20\1\375" + "\10\20\3\0\7\20\21\0\2\20\1\0\23\20\1\0" - + "\1\20\2\0\1\20\6\0\3\376\1\0\1\376\106\0" + "\3\20\2\266\2\20\1\0\2\20\1\377\10\20\3\0" - + "\7\20\21\0\2\20\1\0\23\20\1\0\1\20\2\0" + "\1\20\4\0\2\20\3\267\1\20\1\267\1\0\2\20" - + "\1\u0100\10\20\3\0\7\20\21\0\2\20\1\0\23\20" + "\1\0\1\20\2\0\1\20\4\0\1\20\1\u0101\5\270" - + "\1\0\2\20\4\u0101\3\270\2\u0101\3\0\1\270\3\u0101" + "\1\270\1\u0101\1\270\21\0\2\20\1\0\2\270\1\u0101" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\1\21" + "\1\371\7\21\3\0\7\21\21\0\2\20\1\0\23\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\4\21\1\274\4\21\3\0\2\21\1\372\4\21" + + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\11\131\1\0\11\131\1\0\40\131\1\373\41\131" + + "\1\0\11\131\1\0\45\131\1\373\23\131\31\0\1\374" + "\63\0\2\20\3\264\1\20\1\264\1\0\2\20\1\375" + + "\10\20\3\0\7\20\21\0\2\20\1\0\23\20\1\0" + "\1\20\2\0\1\20\6\0\3\376\1\0\1\376\106\0" + + "\3\20\2\266\2\20\1\0\2\20\1\377\10\20\3\0" + "\7\20\21\0\2\20\1\0\23\20\1\0\1\20\2\0" + + "\1\20\4\0\2\20\3\267\1\20\1\267\1\0\2\20" + "\1\u0100\10\20\3\0\7\20\21\0\2\20\1\0\23\20" + + "\1\0\1\20\2\0\1\20\4\0\1\20\1\u0101\5\270" + "\1\0\2\20\4\u0101\3\270\2\u0101\3\0\1\270\3\u0101" + + "\1\270\1\u0101\1\270\21\0\2\20\1\0\2\270\1\u0101" + "\1\270\2\u0101\1\270\6\u0101\1\270\5\u0101\1\0\1\u0101" + "\2\0\1\u0101\4\0\1\20\6\21\1\0\2\20\4\21" + "\1\u0102\4\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\11\21\3\0\7\21\21\0\2\20\1\0\15\21" + "\1\u0103\2\21\1\u0104\2\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\1\21\1\u0104\7\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + "\3\0\3\21\1\212\3\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" - + "\2\20\2\21\1\u0105\1\u0106\5\21\3\0\7\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" - + "\1\20\6\21\1\0\2\20\11\21\3\0\4\21\1\u0107" + "\2\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" - + "\1\21\4\0\1\20\6\21\1\0\2\20\11\21\3\0" + "\7\21\21\0\2\20\1\0\15\21\1\u0108\5\21\1\0" - + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\11\21\3\0\7\21\21\0\2\20\1\0\11\21\1\212" - + "\11\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + "\1\0\2\20\3\21\1\u0109\5\21\3\0\7\21\21\0" - + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\10\21\1\u010a\3\0\7\21" - + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\4\21" - + "\1\u0104\2\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\2\21" - + "\1\u010b\6\21\3\0\2\21\1\214\4\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" - + "\6\21\1\0\2\20\4\21\1\364\4\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\4\21\1\u010c\4\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\4\21" + "\1\212\4\21\3\0\2\21\1\u010c\4\21\21\0\2\20" - + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\3\21\1\u010d\5\21\3\0\7\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + "\3\0\3\21\1\212\3\21\21\0\2\20\1\0\23\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\2\21\1\u0105\1\u0106\5\21\3\0\7\21\21\0" + + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\11\21\3\0\4\21\1\u0107" + + "\2\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\11\21\3\0" + + "\7\21\21\0\2\20\1\0\15\21\1\u0108\5\21\1\0" + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + + "\11\21\3\0\7\21\21\0\2\20\1\0\11\21\1\212" + "\11\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + + "\1\0\2\20\3\21\1\u0109\5\21\3\0\7\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + + "\1\20\6\21\1\0\2\20\10\21\1\u010a\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\4\21" + "\1\u0104\2\21\21\0\2\20\1\0\23\21\1\0\1\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\2\21" + "\1\u010b\6\21\3\0\2\21\1\214\4\21\21\0\2\20" + + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\4\21\1\364\4\21\3\0\7\21" + + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\4\21\1\u010c\4\21" + + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\4\21" + + "\1\212\4\21\3\0\2\21\1\u010c\4\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + + "\6\21\1\0\2\20\3\21\1\u010d\5\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" + "\21\0\2\20\1\0\15\21\1\u0104\5\21\1\0\1\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\1\21" + "\1\325\7\21\3\0\7\21\21\0\2\20\1\0\23\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\7\21\1\u0104\1\21\3\0\7\21\21\0\2\20" + + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\10\21\1\271\3\0\7\21\21\0" + + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\11\21\3\0\7\21\21\0" + + "\2\20\1\0\14\21\1\u0104\1\21\1\354\4\21\1\0" + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + + "\4\21\1\u010e\4\21\3\0\7\21\21\0\2\20\1\0" + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + + "\1\0\2\20\11\21\3\0\7\21\21\0\2\20\1\0" + "\11\21\1\u010f\11\21\1\0\1\21\2\0\1\21\4\0" + + "\1\20\6\21\1\0\2\20\6\21\1\u0110\2\21\3\0" + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + + "\1\21\4\0\1\20\6\21\1\0\2\20\11\21\3\0" + "\1\u0111\6\21\21\0\2\20\1\0\23\21\1\0\1\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + "\3\0\7\21\21\0\2\20\1\0\20\21\1\u0104\2\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\6\21\1\u0112\2\21\3\0\7\21\21\0\2\20" + + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\11\21\3\0\3\21\1\303\3\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" - + "\21\0\2\20\1\0\15\21\1\u0104\5\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\1\21" - + "\1\325\7\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" - + "\2\20\7\21\1\u0104\1\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" - + "\6\21\1\0\2\20\10\21\1\271\3\0\7\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" - + "\1\20\6\21\1\0\2\20\11\21\3\0\7\21\21\0" + "\2\20\1\0\14\21\1\u0104\1\21\1\354\4\21\1\0" - + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\4\21\1\u010e\4\21\3\0\7\21\21\0\2\20\1\0" - + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + "\1\0\2\20\11\21\3\0\7\21\21\0\2\20\1\0" - + "\11\21\1\u010f\11\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\6\21\1\u0110\2\21\3\0" - + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\11\21\3\0" - + "\1\u0111\6\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" - + "\3\0\7\21\21\0\2\20\1\0\20\21\1\u0104\2\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" - + "\2\20\6\21\1\u0112\2\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" - + "\6\21\1\0\2\20\11\21\3\0\3\21\1\303\3\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" + "\7\0\1\u0113\11\0\2\20\1\0\23\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\4\21" + "\1\u0114\4\21\3\0\7\21\21\0\2\20\1\0\23\21" - + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\4\21\1\u0115\1\212\3\21\3\0\7\21\21\0" - + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\4\21\1\322\4\21\3\0" + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + + "\7\0\1\u0113\11\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\4\21" + + "\1\u0114\4\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + + "\2\20\4\21\1\u0115\1\212\3\21\3\0\7\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + + "\1\20\6\21\1\0\2\20\4\21\1\322\4\21\3\0" + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\1\21\1\u0116" + "\7\21\3\0\7\21\21\0\2\20\1\0\15\21\1\u0117" + "\5\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + "\1\0\2\20\11\21\3\0\2\21\1\u0118\4\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\11\21\3\0\2\21\1\273" @@ -370,14 +383,15 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { + "\1\0\2\20\11\21\3\0\2\21\1\274\4\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\11\21\3\0\4\21\1\360" + "\2\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\10\21\1\u0104" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + "\3\0\1\323\6\21\21\0\2\20\1\0\23\21\1\0" + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" - + "\11\21\3\0\1\325\6\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" - + "\2\20\2\21\1\u011b\6\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" - + "\6\21\1\0\2\20\1\21\1\212\7\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\2\21" + "\1\u011c\4\21\21\0\2\20\1\0\23\21\1\0\1\21" - + "\2\0\1\21\30\0\1\346\61\0\1\350\1\351\3\0" + "\1\352\71\0\1\u011d\60\0\1\u011e\114\0\1\u011f\114\0" - + "\1\u0120\60\0\1\20\6\21\1\0\2\20\11\21\3\0" + "\7\21\21\0\2\20\1\0\4\21\1\u0121\16\21\1\0" - + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\6\21\1\273\2\21\3\0\7\21\21\0\2\20\1\0" + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + "\3\0\1\323\6\21\21\0\2\20\1\0\23\21\1\0" + + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\11\21\3\0\1\325\6\21\21\0\2\20\1\0\23\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\2\21\1\u011b\6\21\3\0\7\21\21\0\2\20" + + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\1\21\1\212\7\21\3\0\7\21" + + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\2\21" + + "\1\u011c\4\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\30\0\1\346\61\0\1\350\1\351\3\0" + + "\1\352\71\0\1\u011d\60\0\1\u011e\114\0\1\u011f\114\0" + "\1\u0120\60\0\1\20\6\21\1\0\2\20\11\21\3\0" + + "\7\21\21\0\2\20\1\0\4\21\1\u0121\16\21\1\0" + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + + "\6\21\1\273\2\21\3\0\7\21\21\0\2\20\1\0" + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + "\1\0\2\20\4\21\1\u0122\4\21\3\0\7\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\6\21\1\u0123\2\21\3\0" + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\11\21\3\0" + "\3\21\1\u0104\3\21\21\0\2\20\1\0\23\21\1\0" @@ -388,45 +402,48 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { + "\4\21\3\0\7\21\21\0\2\20\1\0\23\21\1\0" + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\10\21\1\u0110\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\11\21\3\0\7\21\21\0\2\20\1\0\16\21" + "\1\u0127\1\21\1\325\2\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\3\21\1\372\5\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\7\21" - + "\1\u0128\1\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" - + "\2\20\11\21\3\0\3\21\1\u0129\3\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" - + "\6\21\1\0\2\20\10\21\1\u0104\3\0\7\21\21\0" + "\2\20\1\0\15\21\1\u0104\5\21\1\0\1\21\2\0" - + "\1\21\4\0\1\20\6\21\1\0\2\20\7\21\1\363" + "\1\21\3\0\7\21\21\0\2\20\1\0\23\21\1\0" - + "\1\21\2\0\1\21\36\0\1\u012a\64\0\3\376\1\0" + "\1\376\3\0\1\u012b\102\0\1\20\6\21\1\0\2\20" - + "\4\21\1\u012c\4\21\3\0\7\21\21\0\2\20\1\0" + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" - + "\1\0\2\20\11\21\3\0\7\21\21\0\2\20\1\0" + "\17\21\1\212\3\21\1\0\1\21\2\0\1\21\4\0" - + "\1\20\6\21\1\0\2\20\2\21\1\274\6\21\3\0" + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" - + "\1\21\4\0\1\20\6\21\1\0\2\20\7\21\1\u012d" + "\1\21\3\0\7\21\21\0\2\20\1\0\23\21\1\0" - + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\3\21\1\363\5\21\3\0\7\21\21\0\2\20\1\0" + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + + "\4\0\1\20\6\21\1\0\2\20\3\21\1\372\5\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\7\21" + "\1\u0128\1\21\3\0\7\21\21\0\2\20\1\0\23\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\11\21\3\0\3\21\1\u0129\3\21\21\0\2\20" + + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\10\21\1\u0104\3\0\7\21\21\0" + + "\2\20\1\0\15\21\1\u0104\5\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\7\21\1\363" + + "\1\21\3\0\7\21\21\0\2\20\1\0\23\21\1\0" + "\1\21\2\0\1\21\36\0\1\u012a\64\0\3\376\1\0" + + "\1\376\3\0\1\u012b\102\0\1\20\6\21\1\0\2\20" + "\4\21\1\u012c\4\21\3\0\7\21\21\0\2\20\1\0" + + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + "\1\0\2\20\11\21\3\0\7\21\21\0\2\20\1\0" + + "\17\21\1\212\3\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\2\21\1\274\6\21\3\0" + + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\7\21\1\u012d" + + "\1\21\3\0\7\21\21\0\2\20\1\0\23\21\1\0" + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + + "\3\21\1\363\5\21\3\0\7\21\21\0\2\20\1\0" + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + "\1\0\2\20\11\21\3\0\2\21\1\u012e\4\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\4\21\1\u0104\4\21\3\0" + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\6\21\1\u012f" + "\2\21\3\0\7\21\21\0\2\20\1\0\23\21\1\0" - + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\5\21\1\212\3\21\3\0\7\21\21\0\2\20\1\0" + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" - + "\1\0\2\20\2\21\1\363\6\21\3\0\7\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" - + "\1\20\6\21\1\0\2\20\11\21\3\0\5\21\1\333" + "\1\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" - + "\1\21\4\0\1\20\6\21\1\0\2\20\7\21\1\u0130" + "\1\21\3\0\7\21\21\0\2\20\1\0\23\21\1\0" - + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\10\21\1\212\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + "\5\21\1\212\3\21\3\0\7\21\21\0\2\20\1\0" + + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + "\1\0\2\20\2\21\1\363\6\21\3\0\7\21\21\0" + + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\11\21\3\0\5\21\1\333" + + "\1\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0\1\20\6\21\1\0\2\20\7\21\1\u0130" + + "\1\21\3\0\7\21\21\0\2\20\1\0\23\21\1\0" + "\1\21\2\0\1\21\4\0\1\20\6\21\1\0\2\20" + + "\10\21\1\212\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\11\21\3\0\4\21\1\u0131\2\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\7\21\1\u0132\1\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\2\21\1\212\6\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + "\3\0\7\21\21\0\2\20\1\0\15\21\1\273\5\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" - + "\2\20\4\21\1\u0133\4\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" - + "\6\21\1\0\2\20\6\21\1\u0134\2\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\3\21" + "\1\u0135\3\21\21\0\2\20\1\0\23\21\1\0\1\21" - + "\2\0\1\21\34\0\1\u0136\64\0\1\20\6\21\1\0" + "\2\20\11\21\3\0\7\21\21\0\2\20\1\0\14\21" - + "\1\212\6\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\6\21\1\u0137\2\21\3\0\7\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + "\3\0\7\21\21\0\2\20\1\0\15\21\1\273\5\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\4\21\1\u0133\4\21\3\0\7\21\21\0\2\20" + + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\6\21\1\u0134\2\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\3\21" - + "\1\u0138\3\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\70\0\1\u0139\4\0\1\u013a\113\0\1\u013b" - + "\114\0\1\u013c\114\0\1\u013d\24\0\1\20\6\21\1\0" + "\2\20\11\21\3\0\7\21\21\0\2\20\1\0\5\21" - + "\1\212\15\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\11\21\3\0\1\21\1\u0126\5\21" + + "\1\u0135\3\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\34\0\1\u0136\64\0\1\20\6\21\1\0" + + "\2\20\11\21\3\0\7\21\21\0\2\20\1\0\14\21" + "\1\212\6\21\1\0\1\21\2\0\1\21\4\0\1\20" + + "\6\21\1\0\2\20\6\21\1\u0137\2\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\3\21" + "\1\u0138\3\21\21\0\2\20\1\0\23\21\1\0\1\21" + + "\2\0\1\21\70\0\1\u0139\4\0\1\u013a\113\0\1\u013b" + "\114\0\1\u013c\114\0\1\u013d\24\0\1\20\6\21\1\0" + + "\2\20\11\21\3\0\7\21\21\0\2\20\1\0\5\21" + "\1\212\15\21\1\0\1\21\2\0\1\21\4\0\1\20" + + "\6\21\1\0\2\20\11\21\3\0\1\21\1\u0126\5\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" + "\21\0\2\20\1\0\17\21\1\u0104\3\21\1\0\1\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + "\3\0\3\21\1\u013e\3\21\21\0\2\20\1\0\23\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\11\21\3\0\7\21\21\0\2\20\1\0\21\21" + + "\1\u0104\1\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\4\21\1\u013f\4\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" - + "\21\0\2\20\1\0\17\21\1\u0104\3\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" - + "\3\0\3\21\1\u013e\3\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" - + "\2\20\11\21\3\0\7\21\21\0\2\20\1\0\21\21" + "\1\u0104\1\21\1\0\1\21\2\0\1\21\4\0\1\20" - + "\6\21\1\0\2\20\4\21\1\u013f\4\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" + "\21\0\2\20\1\0\20\21\1\325\2\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + "\3\0\4\21\1\212\2\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + + "\21\0\2\20\1\0\20\21\1\325\2\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\11\21" + + "\3\0\4\21\1\212\2\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\1\21\1\u0140\7\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\1\u0141\10\21\3\0\7\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\11\21\3\0\2\21\1\u0142" + "\4\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" @@ -451,27 +468,28 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { + "\2\20\6\21\1\303\2\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\11\21\3\0\7\21\21\0\2\20" + "\1\0\13\21\1\u0150\7\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" + "\21\0\2\20\1\0\11\21\1\u0151\11\21\1\0\1\21" - + "\2\0\1\21\112\0\1\u0139\114\0\1\u013a\115\0\1\u0152" + "\114\0\1\u0153\120\0\1\u0139\114\0\1\u013a\1\0\1\20" - + "\6\21\1\0\2\20\6\21\1\u013f\2\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" - + "\4\0\1\20\6\21\1\0\2\20\4\21\1\u0154\4\21" + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" - + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\6\21" + "\1\u0155\2\21\3\0\7\21\21\0\2\20\1\0\23\21" - + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\2\21\1\u0156\6\21\3\0\7\21\21\0\2\20" - + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + "\6\21\1\0\2\20\2\21\1\u0157\6\21\3\0\7\21" - + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" - + "\21\0\2\20\1\0\23\21\1\u0113\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\2\21" - + "\1\u0158\4\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\6\21" - + "\1\u0159\2\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" - + "\2\20\11\21\3\0\1\u015a\6\21\21\0\2\20\1\0" + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" - + "\1\0\2\20\7\21\1\u015b\1\21\3\0\7\21\21\0" + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" - + "\1\20\6\21\1\0\2\20\4\21\1\340\4\21\3\0" + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0"; - + + "\2\0\1\21\112\0\1\u0139\114\0\1\u013a\115\0\1\u0152" + + "\114\0\1\u0153\120\0\1\u0139\114\0\1\u013a\1\0\1\20" + "\6\21\1\0\2\20\6\21\1\u013f\2\21\3\0\7\21" + + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + "\4\0\1\20\6\21\1\0\2\20\4\21\1\u0154\4\21" + + "\3\0\7\21\21\0\2\20\1\0\23\21\1\0\1\21" + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\6\21" + + "\1\u0155\2\21\3\0\7\21\21\0\2\20\1\0\23\21" + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + + "\2\20\2\21\1\u0156\6\21\3\0\7\21\21\0\2\20" + "\1\0\23\21\1\0\1\21\2\0\1\21\4\0\1\20" + + "\6\21\1\0\2\20\2\21\1\u0157\6\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\0\1\21\2\0\1\21" + + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\7\21" + "\21\0\2\20\1\0\23\21\1\u0113\1\21\2\0\1\21" + + "\4\0\1\20\6\21\1\0\2\20\11\21\3\0\2\21" + "\1\u0158\4\21\21\0\2\20\1\0\23\21\1\0\1\21" + + "\2\0\1\21\4\0\1\20\6\21\1\0\2\20\6\21" + "\1\u0159\2\21\3\0\7\21\21\0\2\20\1\0\23\21" + + "\1\0\1\21\2\0\1\21\4\0\1\20\6\21\1\0" + "\2\20\11\21\3\0\1\u015a\6\21\21\0\2\20\1\0" + + "\23\21\1\0\1\21\2\0\1\21\4\0\1\20\6\21" + "\1\0\2\20\7\21\1\u015b\1\21\3\0\7\21\21\0" + + "\2\20\1\0\23\21\1\0\1\21\2\0\1\21\4\0" + "\1\20\6\21\1\0\2\20\4\21\1\340\4\21\3\0" + + "\7\21\21\0\2\20\1\0\23\21\1\0\1\21\2\0" + "\1\21\4\0"; + private static int[] zzUnpackTrans() { int[] result = new int[22638]; 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 */ @@ -486,7 +504,7 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -498,18 +516,19 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\17\0\4\1\1\11\11\1\1\11\11\1\1\11\2\1" + "\1\11\23\1\3\11\2\1\2\11\1\1\1\11\1\1" - + "\1\11\1\1\1\11\1\1\1\11\1\1\1\11\1\1" + "\1\11\2\1\2\11\1\1\2\11\1\1\1\11\1\1" + "\2\11\1\1\1\11\1\1\1\11\40\1\1\0\17\1" - + "\1\0\6\11\4\1\1\11\1\0\20\1\2\11\2\1" + "\1\0\50\1\1\0\11\1\5\0\21\1\1\0\26\1" + "\1\11\5\1\1\0\3\1\4\0\11\1\1\11\1\0" - + "\12\1\1\0\2\1\2\11\3\0\10\1\1\11\1\1" + "\6\0\4\1\2\11\10\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\17\0\4\1\1\11\11\1\1\11\11\1\1\11\2\1" + + "\1\11\23\1\3\11\2\1\2\11\1\1\1\11\1\1" + "\1\11\1\1\1\11\1\1\1\11\1\1\1\11\1\1" + + "\1\11\2\1\2\11\1\1\2\11\1\1\1\11\1\1" + "\2\11\1\1\1\11\1\1\1\11\40\1\1\0\17\1" + + "\1\0\6\11\4\1\1\11\1\0\20\1\2\11\2\1" + "\1\0\50\1\1\0\11\1\5\0\21\1\1\0\26\1" + + "\1\11\5\1\1\0\3\1\4\0\11\1\1\11\1\0" + "\12\1\1\0\2\1\2\11\3\0\10\1\1\11\1\1" + "\6\0\4\1\2\11\10\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[347]; 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 */ @@ -523,7 +542,7 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -531,8 +550,8 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -542,133 +561,124 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * an unquoted/double quoted/backtick EOF heredoc. + * Token type specific to RubyTokenMaker; this signals that we are inside an + * unquoted/double quoted/backtick EOF heredoc. */ public static final int INTERNAL_HEREDOC_EOF_UNQUOTED = -1; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * an single quoted EOF heredoc. + * Token type specific to RubyTokenMaker; this signals that we are inside an + * single quoted EOF heredoc. */ public static final int INTERNAL_HEREDOC_EOF_SINGLE_QUOTED = -2; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * an double quoted EOF heredoc. + * Token type specific to RubyTokenMaker; this signals that we are inside an + * double quoted EOF heredoc. */ public static final int INTERNAL_HEREDOC_EOF_DOUBLE_QUOTED = -3; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * an unquoted/double quoted/backtick EOT heredoc. + * Token type specific to RubyTokenMaker; this signals that we are inside an + * unquoted/double quoted/backtick EOT heredoc. */ public static final int INTERNAL_HEREDOC_EOT_UNQUOTED = -4; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * an single quoted EOT heredoc. + * Token type specific to RubyTokenMaker; this signals that we are inside an + * single quoted EOT heredoc. */ public static final int INTERNAL_HEREDOC_EOT_SINGLE_QUOTED = -5; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * an double quoted EOT heredoc. + * Token type specific to RubyTokenMaker; this signals that we are inside an + * double quoted EOT heredoc. */ public static final int INTERNAL_HEREDOC_EOT_DOUBLE_QUOTED = -6; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * a %Q!...! style double quoted string. + * Token type specific to RubyTokenMaker; this signals that we are inside a + * %Q!...! style double quoted string. */ public static final int INTERNAL_STRING_Q_BANG = -7; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * a %Q{...} style double quoted string. + * Token type specific to RubyTokenMaker; this signals that we are inside a + * %Q{...} style double quoted string. */ public static final int INTERNAL_STRING_Q_CURLY_BRACE = -8; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * a %Q<...> style double quoted string. + * Token type specific to RubyTokenMaker; this signals that we are inside a + * %Q<...> style double quoted string. */ public static final int INTERNAL_STRING_Q_LT = -9; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * a %Q(...) style double quoted string. + * Token type specific to RubyTokenMaker; this signals that we are inside a + * %Q(...) style double quoted string. */ public static final int INTERNAL_STRING_Q_PAREN = -10; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * a %Q/.../ style double quoted string. + * Token type specific to RubyTokenMaker; this signals that we are inside a + * %Q/.../ style double quoted string. */ public static final int INTERNAL_STRING_Q_SLASH = -11; /** - * Token type specific to RubyTokenMaker; this signals that we are inside - * a %Q[...] style double quoted string. + * Token type specific to RubyTokenMaker; this signals that we are inside a + * %Q[...] style double quoted string. */ public static final int INTERNAL_STRING_Q_SQUARE_BRACKET = -12; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public RubyTokenMaker() {} - + public RubyTokenMaker() { + } + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -676,35 +686,30 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** - * Returns whether tokens of the specified type should have "mark - * occurrences" enabled for the current programming language. + * Returns whether tokens of the specified type should have "mark occurrences" + * enabled for the current programming language. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.IDENTIFIER || type == Token.VARIABLE; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -713,72 +718,72 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.COMMENT_DOCUMENTATION: - state = DOCCOMMENT; - start = text.offset; - break; - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = STRING; - start = text.offset; - break; - case Token.LITERAL_CHAR: - state = CHAR_LITERAL; - start = text.offset; - break; - case Token.LITERAL_BACKQUOTE: - state = BACKTICKS; - start = text.offset; - break; - case INTERNAL_HEREDOC_EOF_UNQUOTED: - state = HEREDOC_EOF_UNQUOTED; - start = text.offset; - break; - case INTERNAL_HEREDOC_EOF_SINGLE_QUOTED: - state = HEREDOC_EOF_SINGLE_QUOTED; - start = text.offset; - break; - case INTERNAL_HEREDOC_EOF_DOUBLE_QUOTED: - state = HEREDOC_EOF_DOUBLE_QUOTED; - start = text.offset; - break; - case INTERNAL_HEREDOC_EOT_UNQUOTED: - state = HEREDOC_EOT_UNQUOTED; - start = text.offset; - break; - case INTERNAL_HEREDOC_EOT_SINGLE_QUOTED: - state = HEREDOC_EOT_SINGLE_QUOTED; - start = text.offset; - break; - case INTERNAL_HEREDOC_EOT_DOUBLE_QUOTED: - state = HEREDOC_EOT_DOUBLE_QUOTED; - start = text.offset; - break; - case INTERNAL_STRING_Q_BANG: - state = STRING_Q_BANG; - start = text.offset; - break; - case INTERNAL_STRING_Q_CURLY_BRACE: - state = STRING_Q_CURLY_BRACE; - start = text.offset; - break; - case INTERNAL_STRING_Q_LT: - state = STRING_Q_LT; - start = text.offset; - break; - case INTERNAL_STRING_Q_PAREN: - state = STRING_Q_PAREN; - start = text.offset; - break; - case INTERNAL_STRING_Q_SLASH: - state = STRING_Q_SLASH; - start = text.offset; - break; - case INTERNAL_STRING_Q_SQUARE_BRACKET: - state = STRING_Q_SQUARE_BRACKET; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.COMMENT_DOCUMENTATION: + state = DOCCOMMENT; + start = text.offset; + break; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = STRING; + start = text.offset; + break; + case Token.LITERAL_CHAR: + state = CHAR_LITERAL; + start = text.offset; + break; + case Token.LITERAL_BACKQUOTE: + state = BACKTICKS; + start = text.offset; + break; + case INTERNAL_HEREDOC_EOF_UNQUOTED: + state = HEREDOC_EOF_UNQUOTED; + start = text.offset; + break; + case INTERNAL_HEREDOC_EOF_SINGLE_QUOTED: + state = HEREDOC_EOF_SINGLE_QUOTED; + start = text.offset; + break; + case INTERNAL_HEREDOC_EOF_DOUBLE_QUOTED: + state = HEREDOC_EOF_DOUBLE_QUOTED; + start = text.offset; + break; + case INTERNAL_HEREDOC_EOT_UNQUOTED: + state = HEREDOC_EOT_UNQUOTED; + start = text.offset; + break; + case INTERNAL_HEREDOC_EOT_SINGLE_QUOTED: + state = HEREDOC_EOT_SINGLE_QUOTED; + start = text.offset; + break; + case INTERNAL_HEREDOC_EOT_DOUBLE_QUOTED: + state = HEREDOC_EOT_DOUBLE_QUOTED; + start = text.offset; + break; + case INTERNAL_STRING_Q_BANG: + state = STRING_Q_BANG; + start = text.offset; + break; + case INTERNAL_STRING_Q_CURLY_BRACE: + state = STRING_Q_CURLY_BRACE; + start = text.offset; + break; + case INTERNAL_STRING_Q_LT: + state = STRING_Q_LT; + start = text.offset; + break; + case INTERNAL_STRING_Q_PAREN: + state = STRING_Q_PAREN; + start = text.offset; + break; + case INTERNAL_STRING_Q_SLASH: + state = STRING_Q_SLASH; + start = text.offset; + break; + case INTERNAL_STRING_Q_SQUARE_BRACKET: + state = STRING_Q_SQUARE_BRACKET; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -790,36 +795,34 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -829,34 +832,31 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public RubyTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public RubyTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -872,7 +872,7 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -882,69 +882,64 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -955,29 +950,27 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -996,8 +989,7 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1037,420 +1029,420 @@ public class RubyTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 39: { - start = zzMarkedPos - yylength(); - yybegin(STRING_Q_LT); - } - case 52: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 53: - break; - case 45: { - addToken(Token.LITERAL_BOOLEAN); - } - case 54: - break; - case 32: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + case 39: { + start = zzMarkedPos - yylength(); + yybegin(STRING_Q_LT); + } + case 52: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 53: + break; + case 45: { + addToken(Token.LITERAL_BOOLEAN); + } + case 54: + break; + case 32: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + return firstToken; + } + case 55: + break; + case 19: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_PAREN); + return firstToken; + } + case 56: + break; + case 18: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_CURLY_BRACE); + return firstToken; + } + case 57: + break; + case 20: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_SLASH); + return firstToken; + } + case 58: + break; + case 46: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 3, Token.COMMENT_DOCUMENTATION); + } + case 59: + break; + case 10: { + start = zzMarkedPos - 1; + yybegin(STRING); + } + case 60: + break; + case 44: { + if (start == zzStartRead) { + addToken(Token.PREPROCESSOR); + addNullToken(); return firstToken; } - case 55: - break; - case 19: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_PAREN); - return firstToken; - } - case 56: - break; - case 18: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_CURLY_BRACE); - return firstToken; - } - case 57: - break; - case 20: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_SLASH); - return firstToken; - } - case 58: - break; - case 46: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 3, Token.COMMENT_DOCUMENTATION); - } - case 59: - break; - case 10: { - start = zzMarkedPos - 1; - yybegin(STRING); - } - case 60: - break; - case 44: { - if (start == zzStartRead) { - addToken(Token.PREPROCESSOR); + } + case 61: + break; + case 9: { + addToken(Token.FUNCTION); + } + case 62: + break; + case 22: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_LT); + return firstToken; + } + case 63: + break; + case 42: { + addToken(Token.VARIABLE); + } + case 64: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 65: + break; + case 31: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOT_SINGLE_QUOTED); + return firstToken; + } + case 66: + break; + case 4: { + addToken(Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 67: + break; + case 41: { + start = zzMarkedPos - yylength(); + yybegin(STRING_Q_CURLY_BRACE); + } + case 68: + break; + case 50: { + start = zzStartRead; + yybegin(HEREDOC_EOF_SINGLE_QUOTED); + } + case 69: + break; + case 51: { + start = zzStartRead; + yybegin(HEREDOC_EOT_SINGLE_QUOTED); + } + case 70: + break; + case 47: { + start = zzStartRead; + yybegin(HEREDOC_EOF_UNQUOTED); + } + case 71: + break; + case 14: { /* Skip escaped chars. */ + } + case 72: + break; + case 25: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_CHAR); + } + case 73: + break; + case 43: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 74: + break; + case 28: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOF_UNQUOTED); + return firstToken; + } + case 75: + break; + case 6: { + addToken(Token.WHITESPACE); + } + case 76: + break; + case 17: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_BANG); + return firstToken; + } + case 77: + break; + case 35: { + addToken(Token.PREPROCESSOR); + } + case 78: + break; + case 11: { + start = zzMarkedPos - 1; + yybegin(CHAR_LITERAL); + } + case 79: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 80: + break; + case 38: { + start = zzMarkedPos - yylength(); + yybegin(STRING_Q_SLASH); + } + case 81: + break; + case 27: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); + } + case 82: + break; + case 16: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 83: + break; + case 37: { + start = zzMarkedPos - yylength(); + yybegin(STRING_Q_BANG); + } + case 84: + break; + case 23: { /* + * Skip escaped single quotes only, but this should still work. + */ + } + case 85: + break; + case 30: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOT_UNQUOTED); + return firstToken; + } + case 86: + break; + case 49: { + start = zzMarkedPos - 6; + yybegin(DOCCOMMENT); + } + case 87: + break; + case 34: { + addToken(Token.RESERVED_WORD); + } + case 88: + break; + case 26: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + return firstToken; + } + case 89: + break; + case 36: { + start = zzMarkedPos - yylength(); + yybegin(STRING_Q_SQUARE_BRACKET); + } + case 90: + break; + case 8: { + addToken(Token.SEPARATOR); + } + case 91: + break; + case 5: { + addNullToken(); + return firstToken; + } + case 92: + break; + case 21: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_SQUARE_BRACKET); + return firstToken; + } + case 93: + break; + case 40: { + start = zzMarkedPos - yylength(); + yybegin(STRING_Q_PAREN); + } + case 94: + break; + case 7: { + addToken(Token.OPERATOR); + } + case 95: + break; + case 24: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 96: + break; + case 33: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 97: + break; + case 48: { + start = zzStartRead; + yybegin(HEREDOC_EOT_UNQUOTED); + } + case 98: + break; + case 12: { + start = zzMarkedPos - 1; + yybegin(BACKTICKS); + } + case 99: + break; + case 13: { + } + case 100: + break; + case 15: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 101: + break; + case 29: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOF_SINGLE_QUOTED); + return firstToken; + } + case 102: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case HEREDOC_EOF_SINGLE_QUOTED: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOF_SINGLE_QUOTED); + return firstToken; + } + case 348: + break; + case DOCCOMMENT: { + yybegin(YYINITIAL); + addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); + return firstToken; + } + case 349: + break; + case HEREDOC_EOT_SINGLE_QUOTED: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOT_SINGLE_QUOTED); + return firstToken; + } + case 350: + break; + case HEREDOC_EOT_UNQUOTED: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOT_UNQUOTED); + return firstToken; + } + case 351: + break; + case STRING_Q_SLASH: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_SLASH); + return firstToken; + } + case 352: + break; + case STRING_Q_BANG: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_BANG); + return firstToken; + } + case 353: + break; + case STRING_Q_LT: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_LT); + return firstToken; + } + case 354: + break; + case STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 355: + break; + case BACKTICKS: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + return firstToken; + } + case 356: + break; + case YYINITIAL: { addNullToken(); return firstToken; } - } - case 61: - break; - case 9: { - addToken(Token.FUNCTION); - } - case 62: - break; - case 22: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_LT); - return firstToken; - } - case 63: - break; - case 42: { - addToken(Token.VARIABLE); - } - case 64: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 65: - break; - case 31: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOT_SINGLE_QUOTED); - return firstToken; - } - case 66: - break; - case 4: { - addToken(Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 67: - break; - case 41: { - start = zzMarkedPos - yylength(); - yybegin(STRING_Q_CURLY_BRACE); - } - case 68: - break; - case 50: { - start = zzStartRead; - yybegin(HEREDOC_EOF_SINGLE_QUOTED); - } - case 69: - break; - case 51: { - start = zzStartRead; - yybegin(HEREDOC_EOT_SINGLE_QUOTED); - } - case 70: - break; - case 47: { - start = zzStartRead; - yybegin(HEREDOC_EOF_UNQUOTED); - } - case 71: - break; - case 14: { /* Skip escaped chars. */ - } - case 72: - break; - case 25: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_CHAR); - } - case 73: - break; - case 43: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 74: - break; - case 28: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOF_UNQUOTED); - return firstToken; - } - case 75: - break; - case 6: { - addToken(Token.WHITESPACE); - } - case 76: - break; - case 17: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_BANG); - return firstToken; - } - case 77: - break; - case 35: { - addToken(Token.PREPROCESSOR); - } - case 78: - break; - case 11: { - start = zzMarkedPos - 1; - yybegin(CHAR_LITERAL); - } - case 79: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 80: - break; - case 38: { - start = zzMarkedPos - yylength(); - yybegin(STRING_Q_SLASH); - } - case 81: - break; - case 27: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); - } - case 82: - break; - case 16: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 83: - break; - case 37: { - start = zzMarkedPos - yylength(); - yybegin(STRING_Q_BANG); - } - case 84: - break; - case 23: { /* - * Skip escaped single quotes only, but this should - * still work. - */ - } - case 85: - break; - case 30: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOT_UNQUOTED); - return firstToken; - } - case 86: - break; - case 49: { - start = zzMarkedPos - 6; - yybegin(DOCCOMMENT); - } - case 87: - break; - case 34: { - addToken(Token.RESERVED_WORD); - } - case 88: - break; - case 26: { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - return firstToken; - } - case 89: - break; - case 36: { - start = zzMarkedPos - yylength(); - yybegin(STRING_Q_SQUARE_BRACKET); - } - case 90: - break; - case 8: { - addToken(Token.SEPARATOR); - } - case 91: - break; - case 5: { - addNullToken(); - return firstToken; - } - case 92: - break; - case 21: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_SQUARE_BRACKET); - return firstToken; - } - case 93: - break; - case 40: { - start = zzMarkedPos - yylength(); - yybegin(STRING_Q_PAREN); - } - case 94: - break; - case 7: { - addToken(Token.OPERATOR); - } - case 95: - break; - case 24: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 96: - break; - case 33: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 97: - break; - case 48: { - start = zzStartRead; - yybegin(HEREDOC_EOT_UNQUOTED); - } - case 98: - break; - case 12: { - start = zzMarkedPos - 1; - yybegin(BACKTICKS); - } - case 99: - break; - case 13: {} - case 100: - break; - case 15: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 101: - break; - case 29: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOF_SINGLE_QUOTED); - return firstToken; - } - case 102: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case HEREDOC_EOF_SINGLE_QUOTED: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOF_SINGLE_QUOTED); - return firstToken; - } - case 348: - break; - case DOCCOMMENT: { - yybegin(YYINITIAL); - addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); - return firstToken; - } - case 349: - break; - case HEREDOC_EOT_SINGLE_QUOTED: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOT_SINGLE_QUOTED); - return firstToken; - } - case 350: - break; - case HEREDOC_EOT_UNQUOTED: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOT_UNQUOTED); - return firstToken; - } - case 351: - break; - case STRING_Q_SLASH: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_SLASH); - return firstToken; - } - case 352: - break; - case STRING_Q_BANG: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_BANG); - return firstToken; - } - case 353: - break; - case STRING_Q_LT: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_LT); - return firstToken; - } - case 354: - break; - case STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 355: - break; - case BACKTICKS: { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - return firstToken; - } - case 356: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 357: - break; - case HEREDOC_EOF_UNQUOTED: { - addToken(start, zzStartRead - 1, Token.PREPROCESSOR); - addEndToken(INTERNAL_HEREDOC_EOF_UNQUOTED); - return firstToken; - } - case 358: - break; - case STRING_Q_CURLY_BRACE: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_CURLY_BRACE); - return firstToken; - } - case 359: - break; - case STRING_Q_PAREN: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_PAREN); - return firstToken; - } - case 360: - break; - case CHAR_LITERAL: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 361: - break; - case STRING_Q_SQUARE_BRACKET: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_STRING_Q_SQUARE_BRACKET); - return firstToken; - } - case 362: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 357: + break; + case HEREDOC_EOF_UNQUOTED: { + addToken(start, zzStartRead - 1, Token.PREPROCESSOR); + addEndToken(INTERNAL_HEREDOC_EOF_UNQUOTED); + return firstToken; } + case 358: + break; + case STRING_Q_CURLY_BRACE: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_CURLY_BRACE); + return firstToken; + } + case 359: + break; + case STRING_Q_PAREN: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_PAREN); + return firstToken; + } + case 360: + break; + case CHAR_LITERAL: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 361: + break; + case STRING_Q_SQUARE_BRACKET: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_STRING_Q_SQUARE_BRACKET); + return firstToken; + } + case 362: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/SASTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/SASTokenMaker.java index 1098ce6..c8e03b3 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/SASTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/SASTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated SASTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class SASTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -68,9 +67,8 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { public static final int CHAR = 4; /** * 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 + * 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, 1, 2, 2, 3, 3, 4, 4 }; /** @@ -80,7 +78,8 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { + "\1\24\2\22\1\6\1\5\1\0\1\5\1\0\1\7\2\2\1\52" + "\1\51\1\45\5\2\1\0\1\0\1\10\1\12\1\10\2\0\1\26" + "\1\42\1\27\1\32\1\13\1\33\1\16\1\30\1\21\1\2\1\44" + "\1\20\1\36\1\15\1\40\1\37\1\14\1\31\1\34\1\17\1\35" + "\1\46\1\47\1\43\1\41\1\50\3\0\1\10\1\25\1\0\1\26" + "\1\42\1\27\1\32\1\13\1\33\1\16\1\30\1\21\1\2\1\44" - + "\1\20\1\36\1\15\1\40\1\37\1\14\1\31\1\34\1\17\1\35" + "\1\46\1\47\1\43\1\41\1\50\1\0\1\5\1\0\1\11\uff81\0"; + + "\1\20\1\36\1\15\1\40\1\37\1\14\1\31\1\34\1\17\1\35" + + "\1\46\1\47\1\43\1\41\1\50\1\0\1\5\1\0\1\11\uff81\0"; /** * Translates characters to character classes */ @@ -89,19 +88,21 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\5\0\1\1\1\2\1\1\1\3\1\1\3\4\3\1" + "\1\5\4\1\1\6\1\7\1\10\15\1\1\5\4\1" - + "\1\3\1\11\1\12\1\13\1\14\1\12\1\15\1\16" + "\1\12\1\17\1\12\1\20\1\21\1\4\7\1\1\5" + "\5\1\1\4\3\1\1\4\15\1\1\5\66\1\1\5" - + "\14\1\21\0\1\22\1\5\5\1\1\5\66\1\1\23" + "\50\1\1\5\15\1\1\5\1\1\1\5\4\1\1\5" + "\20\1\1\5\3\1\7\0\1\24\2\0\1\24\24\0" - + "\21\1\1\5\6\1\1\5\44\1\1\5\1\1\1\5" + "\11\1\1\5\7\1\1\5\4\1\1\23\22\1\1\5" + "\5\1\12\0\1\24\16\0\10\1\1\5\3\1\1\5" + private static final String ZZ_ACTION_PACKED_0 = "\5\0\1\1\1\2\1\1\1\3\1\1\3\4\3\1" + + "\1\5\4\1\1\6\1\7\1\10\15\1\1\5\4\1" + "\1\3\1\11\1\12\1\13\1\14\1\12\1\15\1\16" + + "\1\12\1\17\1\12\1\20\1\21\1\4\7\1\1\5" + "\5\1\1\4\3\1\1\4\15\1\1\5\66\1\1\5" + + "\14\1\21\0\1\22\1\5\5\1\1\5\66\1\1\23" + "\50\1\1\5\15\1\1\5\1\1\1\5\4\1\1\5" + + "\20\1\1\5\3\1\7\0\1\24\2\0\1\24\24\0" + "\21\1\1\5\6\1\1\5\44\1\1\5\1\1\1\5" + + "\11\1\1\5\7\1\1\5\4\1\1\23\22\1\1\5" + "\5\1\12\0\1\24\16\0\10\1\1\5\3\1\1\5" + "\13\1\1\5\2\1\1\5\3\1\1\5\23\1\1\5" + "\10\1\1\23\2\5\6\1\16\0\42\1\13\0\17\1" + "\2\0\12\1"; - + private static int[] zzUnpackAction() { int[] result = new int[639]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -115,7 +116,7 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -125,7 +126,8 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { + "\0\u023c\0\u0268\0\u0294\0\u02c0\0\u02ec\0\334\0\334\0\334" + "\0\u0318\0\u0344\0\u0370\0\u039c\0\u03c8\0\u03f4\0\u0420\0\u044c" + "\0\u0478\0\u04a4\0\u04d0\0\u04fc\0\u0528\0\u0108\0\u0554\0\u0580" - + "\0\u05ac\0\u05d8\0\u0604\0\334\0\u0630\0\334\0\334\0\u065c" + "\0\334\0\334\0\u0688\0\334\0\u06b4\0\u0160\0\334\0\u0108" + + "\0\u05ac\0\u05d8\0\u0604\0\334\0\u0630\0\334\0\334\0\u065c" + + "\0\334\0\334\0\u0688\0\334\0\u06b4\0\u0160\0\334\0\u0108" + "\0\u06e0\0\u070c\0\u0738\0\u0764\0\u0790\0\u07bc\0\u07e8\0\u0814" + "\0\u0840\0\u086c\0\u0898\0\u08c4\0\u08f0\0\u091c\0\u0948\0\u0974" + "\0\u09a0\0\u09cc\0\u09f8\0\u0a24\0\u0a50\0\u0a7c\0\u0aa8\0\u0ad4" @@ -199,14 +201,14 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { + "\0\u65ec\0\u6618\0\u6644\0\u6670\0\u669c\0\u45f4\0\u66c8\0\u66f4" + "\0\u6720\0\u674c\0\u535c\0\u6778\0\u67a4\0\u67d0\0\u67fc\0\u6828" + "\0\u6854\0\u6880\0\u68ac\0\u68d8\0\u6904\0\u6930\0\u695c"; - + private static int[] zzUnpackRowMap() { int[] result = new int[639]; 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 */ @@ -217,101 +219,105 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\6\1\7\1\10\1\11\1\12\2\13\1\14\1\15" + "\1\16\1\13\1\17\1\20\1\21\1\22\1\23\1\24" - + "\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34" + "\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44" - + "\1\10\1\45\1\46\1\47\1\10\1\50\1\51\3\10" + "\1\52\1\6\1\7\1\10\1\53\1\12\1\13\1\54" - + "\1\14\1\15\1\16\1\13\1\17\1\20\1\21\1\22" + "\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32" - + "\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42" + "\1\43\1\44\1\10\1\45\1\46\1\47\1\10\1\50" - + "\1\51\3\10\1\52\1\55\1\56\21\55\1\57\30\55" + "\1\60\1\61\22\60\1\62\27\60\1\63\1\64\4\63" - + "\1\65\45\63\56\0\1\10\10\0\7\10\3\0\26\10" + "\4\0\1\11\52\0\1\66\10\0\7\66\3\0\26\66" - + "\7\0\1\67\57\0\1\13\43\0\1\10\10\0\1\10" + "\1\70\1\71\2\10\1\72\1\10\3\0\4\10\1\73" - + "\11\10\1\74\7\10\3\0\1\10\10\0\7\10\3\0" + "\10\10\1\75\15\10\3\0\1\10\10\0\1\70\6\10" - + "\3\0\13\10\1\76\12\10\3\0\1\10\10\0\1\70" + "\3\10\1\70\2\10\3\0\4\10\1\77\6\10\1\100" - + "\12\10\3\0\1\10\10\0\1\101\5\10\1\102\3\0" + "\1\10\1\103\1\10\1\104\1\105\6\10\1\46\12\10" - + "\3\0\1\10\10\0\1\106\3\10\1\70\1\10\1\107" + "\3\0\1\10\1\110\11\10\1\111\12\10\3\0\1\10" - + "\10\0\2\10\1\112\4\10\3\0\5\10\2\46\2\10" + "\1\113\14\10\3\0\1\10\10\0\2\10\1\114\1\10" - + "\1\115\1\116\1\117\3\0\1\10\1\120\1\121\2\10" + "\1\122\4\10\1\123\13\10\3\0\1\10\10\0\2\10" - + "\1\124\1\10\1\125\1\126\1\10\3\0\4\10\1\127" + "\2\10\1\130\2\10\1\131\2\10\1\132\1\133\7\10" - + "\3\0\1\10\10\0\5\10\1\134\1\135\3\0\1\10" + "\1\136\1\10\1\137\1\140\5\10\1\141\1\142\12\10" - + "\3\0\1\10\10\0\1\143\3\10\1\144\1\10\1\145" + "\3\0\1\10\1\146\13\10\1\147\10\10\3\0\1\10" - + "\10\0\1\150\6\10\3\0\1\10\1\151\5\10\1\152" + "\1\153\15\10\3\0\1\10\10\0\1\154\5\10\1\155" - + "\3\0\1\10\1\156\2\10\1\157\3\10\1\160\1\46" + "\1\10\1\46\12\10\3\0\1\10\10\0\5\10\1\161" - + "\1\162\3\0\1\10\1\163\2\10\1\164\2\10\1\165" + "\3\10\1\166\12\10\3\0\1\10\10\0\1\167\1\170" - + "\2\10\1\171\1\10\1\172\3\0\3\10\1\173\4\10" + "\1\174\2\10\1\175\1\176\2\10\1\177\5\10\1\46" - + "\3\0\1\10\10\0\2\10\1\200\4\10\3\0\12\10" + "\1\201\13\10\3\0\1\10\10\0\1\202\5\10\1\203" - + "\3\0\1\10\1\204\11\10\1\205\12\10\3\0\1\10" + "\10\0\5\10\1\206\1\207\3\0\1\10\1\210\1\211" - + "\1\10\1\212\2\10\1\46\1\213\1\214\10\10\1\215" + "\3\10\3\0\1\10\10\0\4\10\1\216\1\124\1\10" - + "\3\0\4\10\1\217\1\220\2\10\1\221\1\10\1\222" + "\6\10\1\223\4\10\3\0\1\10\10\0\1\224\4\10" - + "\1\225\1\10\3\0\13\10\1\226\1\46\11\10\3\0" + "\1\10\10\0\1\227\6\10\3\0\26\10\3\0\1\10" - + "\10\0\7\10\3\0\1\10\1\230\13\10\1\147\10\10" + "\3\0\1\10\10\0\1\231\5\10\1\232\3\0\3\10" - + "\1\233\22\10\14\0\1\234\1\235\1\236\1\237\1\240" + "\1\241\1\242\4\0\1\243\1\244\2\0\1\245\1\0" - + "\1\246\1\247\1\250\1\251\2\0\1\252\1\0\1\253" + "\2\0\1\254\7\0\1\53\2\0\1\54\45\0\1\55" - + "\1\0\21\55\1\0\30\55\1\60\1\0\22\60\1\0" + "\27\60\1\63\1\0\4\63\1\0\45\63\7\0\1\255" - + "\46\0\1\10\10\0\7\10\3\0\5\10\1\256\20\10" + "\3\0\1\10\10\0\7\10\3\0\7\10\1\257\16\10" - + "\3\0\1\10\10\0\7\10\3\0\4\10\1\260\21\10" + "\3\0\1\10\10\0\7\10\3\0\2\10\1\261\7\10" - + "\1\262\13\10\3\0\1\10\10\0\6\10\1\213\3\0" + "\26\10\3\0\1\10\10\0\1\263\3\10\1\264\1\265" - + "\1\266\3\0\2\10\1\267\1\270\1\10\1\271\1\272" + "\1\273\2\10\1\274\13\10\3\0\1\10\10\0\6\10" - + "\1\124\3\0\13\10\1\275\12\10\3\0\1\10\10\0" + "\4\10\1\276\2\10\3\0\12\10\1\277\13\10\3\0" - + "\1\10\10\0\7\10\3\0\4\10\1\300\2\10\1\213" + "\1\10\1\301\14\10\3\0\1\10\10\0\4\10\1\302" - + "\2\10\3\0\11\10\1\303\14\10\3\0\1\10\10\0" + "\7\10\3\0\12\10\1\257\2\10\1\304\10\10\3\0" - + "\1\10\10\0\1\153\6\10\3\0\26\10\3\0\1\10" + "\10\0\1\305\6\10\3\0\1\10\1\306\6\10\1\307" - + "\15\10\3\0\1\10\10\0\2\10\1\310\1\311\3\10" + "\3\0\26\10\3\0\1\10\10\0\2\10\1\312\4\10" - + "\3\0\7\10\1\313\5\10\1\314\10\10\3\0\1\10" + "\10\0\7\10\3\0\15\10\1\315\10\10\3\0\1\10" - + "\10\0\3\10\1\46\3\10\3\0\7\10\1\316\12\10" + "\1\46\3\10\3\0\1\10\10\0\2\10\1\317\1\10" - + "\1\320\2\10\3\0\6\10\1\321\1\322\2\10\1\323" + "\13\10\3\0\1\10\10\0\7\10\3\0\12\10\1\324" - + "\13\10\3\0\1\10\10\0\7\10\3\0\10\10\1\325" + "\15\10\3\0\1\10\10\0\1\326\6\10\3\0\26\10" - + "\3\0\1\10\10\0\7\10\3\0\1\10\1\327\24\10" + "\3\0\1\10\10\0\2\10\1\330\4\10\3\0\26\10" - + "\3\0\1\10\10\0\5\10\1\331\1\10\3\0\26\10" + "\3\0\1\10\10\0\7\10\3\0\3\10\1\332\22\10" - + "\3\0\1\10\10\0\7\10\3\0\1\10\1\333\24\10" + "\3\0\1\10\10\0\7\10\3\0\1\10\1\334\24\10" - + "\3\0\1\10\10\0\7\10\3\0\5\10\1\46\20\10" + "\3\0\1\10\10\0\4\10\1\335\2\10\3\0\26\10" - + "\3\0\1\10\10\0\4\10\1\317\1\46\1\10\3\0" + "\26\10\3\0\1\10\10\0\7\10\3\0\4\10\1\336" - + "\21\10\3\0\1\10\10\0\7\10\3\0\2\10\1\337" + "\23\10\3\0\1\10\10\0\7\10\3\0\12\10\1\340" - + "\13\10\3\0\1\10\10\0\1\341\6\10\3\0\13\10" + "\1\342\12\10\3\0\1\10\10\0\6\10\1\220\3\0" - + "\26\10\3\0\1\10\10\0\1\147\6\10\3\0\1\10" + "\1\343\11\10\1\72\12\10\3\0\1\10\10\0\7\10" - + "\3\0\11\10\1\113\14\10\3\0\1\10\10\0\2\10" + "\1\344\1\10\1\345\1\346\1\10\3\0\4\10\1\347" - + "\21\10\3\0\1\10\10\0\7\10\3\0\1\10\1\350" + "\11\10\1\351\12\10\3\0\1\10\10\0\1\352\6\10" - + "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\11\10" + "\1\353\1\10\1\350\12\10\3\0\1\10\10\0\2\10" - + "\1\354\4\10\3\0\4\10\1\355\4\10\1\356\1\357" + "\1\360\5\10\1\46\4\10\3\0\1\10\10\0\7\10" - + "\3\0\1\10\1\361\24\10\3\0\1\10\10\0\7\10" + "\3\0\11\10\1\362\14\10\3\0\1\10\10\0\3\10" - + "\1\363\3\10\3\0\26\10\3\0\1\10\10\0\7\10" + "\3\0\16\10\1\133\2\10\1\364\4\10\3\0\1\10" - + "\10\0\7\10\3\0\1\10\1\365\24\10\3\0\1\10" + "\10\0\2\10\1\366\1\367\1\370\2\10\3\0\7\10" - + "\1\371\1\10\1\372\1\373\13\10\3\0\1\10\10\0" + "\2\10\1\374\4\10\3\0\26\10\3\0\1\10\10\0" - + "\7\10\3\0\10\10\1\375\15\10\3\0\1\10\10\0" + "\2\10\1\46\4\10\3\0\26\10\3\0\1\10\10\0" - + "\5\10\1\376\1\10\3\0\7\10\1\377\16\10\3\0" + "\1\10\10\0\7\10\3\0\7\10\1\u0100\16\10\3\0" - + "\1\10\10\0\4\10\1\u0101\2\10\3\0\26\10\3\0" + "\1\10\10\0\7\10\3\0\13\10\1\u0102\12\10\3\0" - + "\1\10\10\0\7\10\3\0\11\10\1\u0103\14\10\3\0" + "\1\10\10\0\7\10\3\0\13\10\1\u0104\12\10\3\0" - + "\1\10\10\0\5\10\1\u0105\1\10\3\0\26\10\3\0" + "\1\10\10\0\7\10\3\0\2\10\1\u0106\23\10\3\0" - + "\1\10\10\0\1\u0107\6\10\3\0\1\10\1\u0108\11\10" + "\1\u0109\12\10\3\0\1\10\10\0\5\10\1\u010a\1\10" - + "\3\0\26\10\3\0\1\10\10\0\2\10\1\u010b\4\10" + "\3\0\4\10\1\u010c\6\10\1\u010d\12\10\3\0\1\10" - + "\10\0\4\10\1\46\1\u010e\1\10\3\0\26\10\3\0" + "\1\10\10\0\5\10\1\353\1\10\3\0\26\10\3\0" - + "\1\10\10\0\7\10\3\0\1\10\1\u010f\2\10\1\u0110" + "\1\46\5\10\1\u0111\12\10\3\0\1\10\10\0\3\10" - + "\1\u0112\3\10\3\0\11\10\1\46\14\10\3\0\1\10" + "\10\0\7\10\3\0\1\10\1\u0113\24\10\3\0\1\10" - + "\10\0\7\10\3\0\11\10\1\u0114\1\u0115\13\10\3\0" + "\1\10\10\0\7\10\3\0\4\10\1\u0116\3\10\1\u0117" - + "\15\10\3\0\1\10\10\0\7\10\3\0\11\10\1\u0118" + "\14\10\3\0\1\10\10\0\6\10\1\u0102\3\0\26\10" - + "\3\0\1\10\10\0\4\10\1\u0119\1\10\1\u011a\3\0" + "\15\10\1\u011b\10\10\3\0\1\10\10\0\7\10\3\0" - + "\5\10\1\352\20\10\3\0\1\10\10\0\7\10\3\0" + "\1\10\1\u011c\2\10\1\u011d\21\10\3\0\1\10\10\0" - + "\3\10\1\u011e\3\10\3\0\7\10\1\u011f\16\10\3\0" + "\1\10\10\0\4\10\1\u0120\2\10\3\0\4\10\1\u0121" - + "\21\10\3\0\1\10\10\0\7\10\3\0\5\10\1\u0122" + "\20\10\3\0\1\10\10\0\7\10\3\0\13\10\1\u0123" - + "\12\10\3\0\1\10\10\0\1\u0124\6\10\3\0\2\10" + "\1\u0125\23\10\3\0\1\10\10\0\3\10\1\u0126\1\u0127" - + "\2\10\3\0\4\10\1\u0128\1\46\20\10\3\0\1\10" + "\10\0\4\10\1\u0129\2\10\3\0\26\10\3\0\1\10" - + "\10\0\1\u012a\3\10\1\u012b\1\10\1\u012c\3\0\13\10" + "\1\u012d\12\10\3\0\1\10\10\0\4\10\1\46\2\10" - + "\3\0\26\10\3\0\1\10\10\0\1\u012e\6\10\3\0" + "\26\10\3\0\1\10\10\0\1\u012f\6\10\3\0\26\10" - + "\3\0\1\10\10\0\7\10\3\0\3\10\1\u0130\22\10" + "\3\0\1\10\10\0\7\10\3\0\5\10\1\u0131\20\10" - + "\3\0\1\10\10\0\7\10\3\0\7\10\1\46\16\10" + "\3\0\1\10\10\0\4\10\1\u0132\2\10\3\0\26\10" - + "\3\0\1\10\10\0\4\10\1\u0133\2\10\3\0\26\10" + "\3\0\1\10\10\0\1\u0134\6\10\3\0\26\10\3\0" - + "\1\10\10\0\5\10\1\362\1\10\3\0\26\10\3\0" + "\1\10\10\0\7\10\3\0\1\10\1\u0135\24\10\3\0" - + "\1\10\10\0\7\10\3\0\4\10\1\u0136\3\10\1\u0137" + "\15\10\3\0\1\10\10\0\1\u0102\6\10\3\0\14\10" - + "\1\u0138\11\10\3\0\1\10\10\0\5\10\1\u0139\1\10" + "\3\0\4\10\1\u013a\11\10\1\133\7\10\3\0\1\10" - + "\10\0\6\10\1\u013b\3\0\26\10\3\0\1\10\10\0" + "\2\10\1\u013c\1\10\1\363\2\10\3\0\26\10\3\0" - + "\1\10\10\0\1\u013d\5\10\1\302\3\0\26\10\16\0" + "\1\u013e\2\0\1\u013f\25\0\1\u0140\41\0\1\u0141\1\u0142" - + "\47\0\1\u0143\42\0\1\u0144\17\0\1\u0145\43\0\1\u0146" + "\3\0\1\u0147\3\0\1\u0148\26\0\1\u0149\24\0\1\u014a" - + "\30\0\1\u014b\15\0\1\u0148\62\0\1\u014c\47\0\1\u014d" + "\1\0\1\u014e\34\0\1\u014f\16\0\1\u0148\32\0\1\u0150" - + "\7\0\1\u0151\5\0\1\u0152\3\0\1\u0153\27\0\1\u0154" + "\21\0\1\u0155\27\0\1\u0156\12\0\1\u0157\62\0\1\u0158" + private static final String ZZ_TRANS_PACKED_0 = "\1\6\1\7\1\10\1\11\1\12\2\13\1\14\1\15" + + "\1\16\1\13\1\17\1\20\1\21\1\22\1\23\1\24" + "\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34" + + "\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44" + "\1\10\1\45\1\46\1\47\1\10\1\50\1\51\3\10" + + "\1\52\1\6\1\7\1\10\1\53\1\12\1\13\1\54" + "\1\14\1\15\1\16\1\13\1\17\1\20\1\21\1\22" + + "\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32" + "\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42" + + "\1\43\1\44\1\10\1\45\1\46\1\47\1\10\1\50" + "\1\51\3\10\1\52\1\55\1\56\21\55\1\57\30\55" + + "\1\60\1\61\22\60\1\62\27\60\1\63\1\64\4\63" + "\1\65\45\63\56\0\1\10\10\0\7\10\3\0\26\10" + + "\4\0\1\11\52\0\1\66\10\0\7\66\3\0\26\66" + "\7\0\1\67\57\0\1\13\43\0\1\10\10\0\1\10" + + "\1\70\1\71\2\10\1\72\1\10\3\0\4\10\1\73" + "\11\10\1\74\7\10\3\0\1\10\10\0\7\10\3\0" + + "\10\10\1\75\15\10\3\0\1\10\10\0\1\70\6\10" + "\3\0\13\10\1\76\12\10\3\0\1\10\10\0\1\70" + + "\3\10\1\70\2\10\3\0\4\10\1\77\6\10\1\100" + "\12\10\3\0\1\10\10\0\1\101\5\10\1\102\3\0" + + "\1\10\1\103\1\10\1\104\1\105\6\10\1\46\12\10" + "\3\0\1\10\10\0\1\106\3\10\1\70\1\10\1\107" + + "\3\0\1\10\1\110\11\10\1\111\12\10\3\0\1\10" + "\10\0\2\10\1\112\4\10\3\0\5\10\2\46\2\10" + + "\1\113\14\10\3\0\1\10\10\0\2\10\1\114\1\10" + "\1\115\1\116\1\117\3\0\1\10\1\120\1\121\2\10" + + "\1\122\4\10\1\123\13\10\3\0\1\10\10\0\2\10" + "\1\124\1\10\1\125\1\126\1\10\3\0\4\10\1\127" + + "\2\10\1\130\2\10\1\131\2\10\1\132\1\133\7\10" + "\3\0\1\10\10\0\5\10\1\134\1\135\3\0\1\10" + + "\1\136\1\10\1\137\1\140\5\10\1\141\1\142\12\10" + "\3\0\1\10\10\0\1\143\3\10\1\144\1\10\1\145" + + "\3\0\1\10\1\146\13\10\1\147\10\10\3\0\1\10" + "\10\0\1\150\6\10\3\0\1\10\1\151\5\10\1\152" + + "\1\153\15\10\3\0\1\10\10\0\1\154\5\10\1\155" + "\3\0\1\10\1\156\2\10\1\157\3\10\1\160\1\46" + + "\1\10\1\46\12\10\3\0\1\10\10\0\5\10\1\161" + "\1\162\3\0\1\10\1\163\2\10\1\164\2\10\1\165" + + "\3\10\1\166\12\10\3\0\1\10\10\0\1\167\1\170" + "\2\10\1\171\1\10\1\172\3\0\3\10\1\173\4\10" + + "\1\174\2\10\1\175\1\176\2\10\1\177\5\10\1\46" + "\3\0\1\10\10\0\2\10\1\200\4\10\3\0\12\10" + + "\1\201\13\10\3\0\1\10\10\0\1\202\5\10\1\203" + "\3\0\1\10\1\204\11\10\1\205\12\10\3\0\1\10" + + "\10\0\5\10\1\206\1\207\3\0\1\10\1\210\1\211" + "\1\10\1\212\2\10\1\46\1\213\1\214\10\10\1\215" + + "\3\10\3\0\1\10\10\0\4\10\1\216\1\124\1\10" + "\3\0\4\10\1\217\1\220\2\10\1\221\1\10\1\222" + + "\6\10\1\223\4\10\3\0\1\10\10\0\1\224\4\10" + "\1\225\1\10\3\0\13\10\1\226\1\46\11\10\3\0" + + "\1\10\10\0\1\227\6\10\3\0\26\10\3\0\1\10" + "\10\0\7\10\3\0\1\10\1\230\13\10\1\147\10\10" + + "\3\0\1\10\10\0\1\231\5\10\1\232\3\0\3\10" + "\1\233\22\10\14\0\1\234\1\235\1\236\1\237\1\240" + + "\1\241\1\242\4\0\1\243\1\244\2\0\1\245\1\0" + "\1\246\1\247\1\250\1\251\2\0\1\252\1\0\1\253" + + "\2\0\1\254\7\0\1\53\2\0\1\54\45\0\1\55" + "\1\0\21\55\1\0\30\55\1\60\1\0\22\60\1\0" + + "\27\60\1\63\1\0\4\63\1\0\45\63\7\0\1\255" + "\46\0\1\10\10\0\7\10\3\0\5\10\1\256\20\10" + + "\3\0\1\10\10\0\7\10\3\0\7\10\1\257\16\10" + "\3\0\1\10\10\0\7\10\3\0\4\10\1\260\21\10" + + "\3\0\1\10\10\0\7\10\3\0\2\10\1\261\7\10" + "\1\262\13\10\3\0\1\10\10\0\6\10\1\213\3\0" + + "\26\10\3\0\1\10\10\0\1\263\3\10\1\264\1\265" + "\1\266\3\0\2\10\1\267\1\270\1\10\1\271\1\272" + + "\1\273\2\10\1\274\13\10\3\0\1\10\10\0\6\10" + "\1\124\3\0\13\10\1\275\12\10\3\0\1\10\10\0" + + "\4\10\1\276\2\10\3\0\12\10\1\277\13\10\3\0" + "\1\10\10\0\7\10\3\0\4\10\1\300\2\10\1\213" + + "\1\10\1\301\14\10\3\0\1\10\10\0\4\10\1\302" + "\2\10\3\0\11\10\1\303\14\10\3\0\1\10\10\0" + + "\7\10\3\0\12\10\1\257\2\10\1\304\10\10\3\0" + "\1\10\10\0\1\153\6\10\3\0\26\10\3\0\1\10" + + "\10\0\1\305\6\10\3\0\1\10\1\306\6\10\1\307" + "\15\10\3\0\1\10\10\0\2\10\1\310\1\311\3\10" + + "\3\0\26\10\3\0\1\10\10\0\2\10\1\312\4\10" + "\3\0\7\10\1\313\5\10\1\314\10\10\3\0\1\10" + + "\10\0\7\10\3\0\15\10\1\315\10\10\3\0\1\10" + "\10\0\3\10\1\46\3\10\3\0\7\10\1\316\12\10" + + "\1\46\3\10\3\0\1\10\10\0\2\10\1\317\1\10" + "\1\320\2\10\3\0\6\10\1\321\1\322\2\10\1\323" + + "\13\10\3\0\1\10\10\0\7\10\3\0\12\10\1\324" + "\13\10\3\0\1\10\10\0\7\10\3\0\10\10\1\325" + + "\15\10\3\0\1\10\10\0\1\326\6\10\3\0\26\10" + "\3\0\1\10\10\0\7\10\3\0\1\10\1\327\24\10" + + "\3\0\1\10\10\0\2\10\1\330\4\10\3\0\26\10" + "\3\0\1\10\10\0\5\10\1\331\1\10\3\0\26\10" + + "\3\0\1\10\10\0\7\10\3\0\3\10\1\332\22\10" + "\3\0\1\10\10\0\7\10\3\0\1\10\1\333\24\10" + + "\3\0\1\10\10\0\7\10\3\0\1\10\1\334\24\10" + "\3\0\1\10\10\0\7\10\3\0\5\10\1\46\20\10" + + "\3\0\1\10\10\0\4\10\1\335\2\10\3\0\26\10" + "\3\0\1\10\10\0\4\10\1\317\1\46\1\10\3\0" + + "\26\10\3\0\1\10\10\0\7\10\3\0\4\10\1\336" + "\21\10\3\0\1\10\10\0\7\10\3\0\2\10\1\337" + + "\23\10\3\0\1\10\10\0\7\10\3\0\12\10\1\340" + "\13\10\3\0\1\10\10\0\1\341\6\10\3\0\13\10" + + "\1\342\12\10\3\0\1\10\10\0\6\10\1\220\3\0" + "\26\10\3\0\1\10\10\0\1\147\6\10\3\0\1\10" + + "\1\343\11\10\1\72\12\10\3\0\1\10\10\0\7\10" + "\3\0\11\10\1\113\14\10\3\0\1\10\10\0\2\10" + + "\1\344\1\10\1\345\1\346\1\10\3\0\4\10\1\347" + "\21\10\3\0\1\10\10\0\7\10\3\0\1\10\1\350" + + "\11\10\1\351\12\10\3\0\1\10\10\0\1\352\6\10" + "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\11\10" + + "\1\353\1\10\1\350\12\10\3\0\1\10\10\0\2\10" + "\1\354\4\10\3\0\4\10\1\355\4\10\1\356\1\357" + + "\1\360\5\10\1\46\4\10\3\0\1\10\10\0\7\10" + "\3\0\1\10\1\361\24\10\3\0\1\10\10\0\7\10" + + "\3\0\11\10\1\362\14\10\3\0\1\10\10\0\3\10" + "\1\363\3\10\3\0\26\10\3\0\1\10\10\0\7\10" + + "\3\0\16\10\1\133\2\10\1\364\4\10\3\0\1\10" + "\10\0\7\10\3\0\1\10\1\365\24\10\3\0\1\10" + + "\10\0\2\10\1\366\1\367\1\370\2\10\3\0\7\10" + "\1\371\1\10\1\372\1\373\13\10\3\0\1\10\10\0" + + "\2\10\1\374\4\10\3\0\26\10\3\0\1\10\10\0" + "\7\10\3\0\10\10\1\375\15\10\3\0\1\10\10\0" + + "\2\10\1\46\4\10\3\0\26\10\3\0\1\10\10\0" + "\5\10\1\376\1\10\3\0\7\10\1\377\16\10\3\0" + + "\1\10\10\0\7\10\3\0\7\10\1\u0100\16\10\3\0" + "\1\10\10\0\4\10\1\u0101\2\10\3\0\26\10\3\0" + + "\1\10\10\0\7\10\3\0\13\10\1\u0102\12\10\3\0" + "\1\10\10\0\7\10\3\0\11\10\1\u0103\14\10\3\0" + + "\1\10\10\0\7\10\3\0\13\10\1\u0104\12\10\3\0" + "\1\10\10\0\5\10\1\u0105\1\10\3\0\26\10\3\0" + + "\1\10\10\0\7\10\3\0\2\10\1\u0106\23\10\3\0" + "\1\10\10\0\1\u0107\6\10\3\0\1\10\1\u0108\11\10" + + "\1\u0109\12\10\3\0\1\10\10\0\5\10\1\u010a\1\10" + "\3\0\26\10\3\0\1\10\10\0\2\10\1\u010b\4\10" + + "\3\0\4\10\1\u010c\6\10\1\u010d\12\10\3\0\1\10" + "\10\0\4\10\1\46\1\u010e\1\10\3\0\26\10\3\0" + + "\1\10\10\0\5\10\1\353\1\10\3\0\26\10\3\0" + "\1\10\10\0\7\10\3\0\1\10\1\u010f\2\10\1\u0110" + + "\1\46\5\10\1\u0111\12\10\3\0\1\10\10\0\3\10" + "\1\u0112\3\10\3\0\11\10\1\46\14\10\3\0\1\10" + + "\10\0\7\10\3\0\1\10\1\u0113\24\10\3\0\1\10" + "\10\0\7\10\3\0\11\10\1\u0114\1\u0115\13\10\3\0" + + "\1\10\10\0\7\10\3\0\4\10\1\u0116\3\10\1\u0117" + "\15\10\3\0\1\10\10\0\7\10\3\0\11\10\1\u0118" + + "\14\10\3\0\1\10\10\0\6\10\1\u0102\3\0\26\10" + "\3\0\1\10\10\0\4\10\1\u0119\1\10\1\u011a\3\0" + + "\15\10\1\u011b\10\10\3\0\1\10\10\0\7\10\3\0" + "\5\10\1\352\20\10\3\0\1\10\10\0\7\10\3\0" + + "\1\10\1\u011c\2\10\1\u011d\21\10\3\0\1\10\10\0" + "\3\10\1\u011e\3\10\3\0\7\10\1\u011f\16\10\3\0" + + "\1\10\10\0\4\10\1\u0120\2\10\3\0\4\10\1\u0121" + "\21\10\3\0\1\10\10\0\7\10\3\0\5\10\1\u0122" + + "\20\10\3\0\1\10\10\0\7\10\3\0\13\10\1\u0123" + "\12\10\3\0\1\10\10\0\1\u0124\6\10\3\0\2\10" + + "\1\u0125\23\10\3\0\1\10\10\0\3\10\1\u0126\1\u0127" + "\2\10\3\0\4\10\1\u0128\1\46\20\10\3\0\1\10" + + "\10\0\4\10\1\u0129\2\10\3\0\26\10\3\0\1\10" + "\10\0\1\u012a\3\10\1\u012b\1\10\1\u012c\3\0\13\10" + + "\1\u012d\12\10\3\0\1\10\10\0\4\10\1\46\2\10" + "\3\0\26\10\3\0\1\10\10\0\1\u012e\6\10\3\0" + + "\26\10\3\0\1\10\10\0\1\u012f\6\10\3\0\26\10" + "\3\0\1\10\10\0\7\10\3\0\3\10\1\u0130\22\10" + + "\3\0\1\10\10\0\7\10\3\0\5\10\1\u0131\20\10" + "\3\0\1\10\10\0\7\10\3\0\7\10\1\46\16\10" + + "\3\0\1\10\10\0\4\10\1\u0132\2\10\3\0\26\10" + "\3\0\1\10\10\0\4\10\1\u0133\2\10\3\0\26\10" + + "\3\0\1\10\10\0\1\u0134\6\10\3\0\26\10\3\0" + "\1\10\10\0\5\10\1\362\1\10\3\0\26\10\3\0" + + "\1\10\10\0\7\10\3\0\1\10\1\u0135\24\10\3\0" + "\1\10\10\0\7\10\3\0\4\10\1\u0136\3\10\1\u0137" + + "\15\10\3\0\1\10\10\0\1\u0102\6\10\3\0\14\10" + "\1\u0138\11\10\3\0\1\10\10\0\5\10\1\u0139\1\10" + + "\3\0\4\10\1\u013a\11\10\1\133\7\10\3\0\1\10" + "\10\0\6\10\1\u013b\3\0\26\10\3\0\1\10\10\0" + + "\2\10\1\u013c\1\10\1\363\2\10\3\0\26\10\3\0" + "\1\10\10\0\1\u013d\5\10\1\302\3\0\26\10\16\0" + + "\1\u013e\2\0\1\u013f\25\0\1\u0140\41\0\1\u0141\1\u0142" + + "\47\0\1\u0143\42\0\1\u0144\17\0\1\u0145\43\0\1\u0146" + + "\3\0\1\u0147\3\0\1\u0148\26\0\1\u0149\24\0\1\u014a" + + "\30\0\1\u014b\15\0\1\u0148\62\0\1\u014c\47\0\1\u014d" + + "\1\0\1\u014e\34\0\1\u014f\16\0\1\u0148\32\0\1\u0150" + + "\7\0\1\u0151\5\0\1\u0152\3\0\1\u0153\27\0\1\u0154" + + "\21\0\1\u0155\27\0\1\u0156\12\0\1\u0157\62\0\1\u0158" + "\32\0\1\u0159\24\0\1\u0148\25\0\1\u015a\61\0\1\u015b" + "\6\0\1\u015c\25\0\1\10\10\0\7\10\3\0\4\10" + "\1\u015d\2\10\1\u015e\16\10\3\0\1\10\10\0\1\46" + "\6\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0" + "\13\10\1\365\12\10\3\0\1\10\10\0\1\u015f\6\10" + "\3\0\26\10\3\0\1\10\10\0\5\10\1\u0160\1\10" @@ -386,10 +392,14 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { + "\1\10\3\0\26\10\3\0\1\10\10\0\6\10\1\201" + "\3\0\10\10\1\257\15\10\3\0\1\10\10\0\6\10" + "\1\u01c9\3\0\26\10\3\0\1\10\10\0\3\10\1\u01ca" + "\3\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0" + "\5\10\1\u01cb\20\10\3\0\1\10\10\0\2\10\1\46" + "\4\10\3\0\4\10\1\257\21\10\33\0\1\u0148\55\0" - + "\1\u01cc\45\0\1\u01cd\54\0\1\u0151\5\0\1\u01ce\3\0" + "\1\u01cf\51\0\1\u0155\1\u01d0\27\0\1\u0159\17\0\1\u01d1" - + "\5\0\1\u01d2\51\0\1\u01d3\32\0\1\u0147\47\0\1\u01d4" + "\100\0\1\u0148\30\0\1\u01d5\1\0\1\u0148\63\0\1\u0140" - + "\53\0\1\u01d6\2\0\1\u01d7\4\0\1\251\54\0\1\u01d8" + "\47\0\1\u0148\56\0\1\u01d9\50\0\1\u01da\50\0\1\u0148" - + "\50\0\1\u01d4\64\0\1\u01db\2\0\1\u01dc\45\0\1\u01dd" + "\33\0\1\u0159\2\0\1\u01de\63\0\1\u01df\41\0\1\u013e" + + "\1\u01cc\45\0\1\u01cd\54\0\1\u0151\5\0\1\u01ce\3\0" + + "\1\u01cf\51\0\1\u0155\1\u01d0\27\0\1\u0159\17\0\1\u01d1" + + "\5\0\1\u01d2\51\0\1\u01d3\32\0\1\u0147\47\0\1\u01d4" + + "\100\0\1\u0148\30\0\1\u01d5\1\0\1\u0148\63\0\1\u0140" + + "\53\0\1\u01d6\2\0\1\u01d7\4\0\1\251\54\0\1\u01d8" + + "\47\0\1\u0148\56\0\1\u01d9\50\0\1\u01da\50\0\1\u0148" + + "\50\0\1\u01d4\64\0\1\u01db\2\0\1\u01dc\45\0\1\u01dd" + + "\33\0\1\u0159\2\0\1\u01de\63\0\1\u01df\41\0\1\u013e" + "\65\0\1\u01e0\43\0\1\u0148\71\0\1\u01e1\57\0\1\u01e2" + "\27\0\1\u01e3\57\0\1\u01e4\34\0\1\10\10\0\7\10" + "\3\0\7\10\1\152\16\10\3\0\1\10\10\0\7\10" + "\3\0\1\10\1\220\24\10\3\0\1\10\10\0\7\10" + "\3\0\12\10\1\213\13\10\3\0\1\10\10\0\7\10" + "\3\0\13\10\1\u01e5\12\10\3\0\1\10\10\0\2\10" @@ -445,9 +455,12 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { + "\12\10\1\u0226\13\10\3\0\1\10\10\0\7\10\3\0" + "\5\10\1\220\20\10\3\0\1\10\10\0\7\10\3\0" + "\1\10\1\u0227\24\10\3\0\1\10\10\0\7\10\3\0" + "\1\10\1\u0228\24\10\3\0\1\10\10\0\7\10\3\0" + "\3\10\1\213\22\10\3\0\1\10\10\0\7\10\3\0" + "\13\10\1\u0229\12\10\14\0\1\u0148\60\0\1\u0148\75\0" - + "\1\u01dc\45\0\1\u022a\36\0\1\u01cc\53\0\1\u0150\50\0" + "\1\u0159\101\0\1\u0140\26\0\1\u0148\54\0\1\u022b\55\0" - + "\1\u022c\46\0\1\u022d\71\0\1\u0158\63\0\1\u0148\51\0" + "\1\u022e\27\0\1\u022f\74\0\1\u01d1\32\0\1\u0230\2\0" - + "\1\u0231\10\0\1\u0232\1\0\1\u0233\1\0\1\u0234\3\0" + "\1\u0235\35\0\1\u01cd\60\0\1\u013f\56\0\1\u0147\62\0" + + "\1\u01dc\45\0\1\u022a\36\0\1\u01cc\53\0\1\u0150\50\0" + + "\1\u0159\101\0\1\u0140\26\0\1\u0148\54\0\1\u022b\55\0" + + "\1\u022c\46\0\1\u022d\71\0\1\u0158\63\0\1\u0148\51\0" + + "\1\u022e\27\0\1\u022f\74\0\1\u01d1\32\0\1\u0230\2\0" + + "\1\u0231\10\0\1\u0232\1\0\1\u0233\1\0\1\u0234\3\0" + + "\1\u0235\35\0\1\u01cd\60\0\1\u013f\56\0\1\u0147\62\0" + "\1\u01d0\45\0\1\u0236\53\0\1\u0237\41\0\1\u01cc\35\0" + "\1\10\10\0\7\10\3\0\5\10\1\u0238\20\10\3\0" + "\1\10\10\0\7\10\3\0\5\10\1\u0239\20\10\3\0" + "\1\10\10\0\7\10\3\0\1\10\1\u0161\24\10\3\0" + "\1\10\10\0\5\10\1\u016f\1\10\3\0\26\10\3\0" + "\1\10\10\0\7\10\3\0\4\10\1\u023a\21\10\3\0" @@ -483,45 +496,47 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { + "\10\0\7\10\3\0\21\10\1\u0238\4\10\3\0\1\10" + "\10\0\7\10\3\0\4\10\1\u0169\21\10\3\0\1\10" + "\10\0\7\10\3\0\15\10\1\u0186\10\10\3\0\1\10" + "\10\0\7\10\3\0\15\10\1\u0259\10\10\3\0\1\10" + "\10\0\7\10\3\0\22\10\1\46\3\10\34\0\1\u0234" + "\37\0\1\u025a\71\0\1\u025b\61\0\1\u0148\30\0\1\u025c" - + "\64\0\1\u025d\65\0\1\u025e\2\0\1\u025f\20\0\1\u0158" + "\66\0\1\u0260\64\0\1\251\51\0\1\u0261\47\0\1\u0262" - + "\35\0\1\u0263\100\0\1\u0264\15\0\1\10\10\0\1\353" + "\6\10\3\0\26\10\3\0\1\10\10\0\4\10\1\u0265" - + "\2\10\3\0\26\10\3\0\1\10\10\0\4\10\1\u0266" + "\2\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0" - + "\1\10\1\u0267\24\10\3\0\1\10\10\0\1\u0182\6\10" + "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\13\10" - + "\1\u0178\12\10\3\0\1\10\10\0\2\10\1\u01f1\4\10" + "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\1\10" - + "\1\362\24\10\3\0\1\10\10\0\7\10\3\0\13\10" + "\1\u0116\12\10\3\0\1\10\10\0\1\u0268\6\10\3\0" - + "\26\10\3\0\1\10\10\0\7\10\3\0\13\10\1\u0269" + "\12\10\3\0\1\10\10\0\7\10\3\0\13\10\1\u026a" - + "\12\10\3\0\1\10\10\0\7\10\3\0\4\10\1\124" + "\21\10\3\0\1\10\10\0\7\10\3\0\1\10\1\213" - + "\24\10\3\0\1\10\10\0\6\10\1\u026b\3\0\26\10" + "\3\0\1\10\10\0\7\10\3\0\4\10\1\u026c\21\10" - + "\3\0\1\10\10\0\7\10\3\0\2\10\1\u026d\23\10" + "\3\0\1\10\10\0\3\10\1\353\3\10\3\0\26\10" - + "\3\0\1\10\10\0\7\10\3\0\1\10\1\355\24\10" + "\3\0\1\10\10\0\4\10\1\u026e\2\10\3\0\26\10" - + "\3\0\1\10\10\0\7\10\3\0\7\10\1\213\16\10" + "\3\0\1\10\10\0\2\10\1\u026f\4\10\3\0\26\10" - + "\3\0\1\10\10\0\7\10\3\0\15\10\1\257\10\10" + "\3\0\1\10\10\0\2\10\1\u0270\4\10\3\0\26\10" - + "\3\0\1\10\10\0\7\10\3\0\4\10\1\u01fc\21\10" + "\3\0\1\10\10\0\7\10\3\0\6\10\1\46\17\10" - + "\3\0\1\10\10\0\7\10\3\0\10\10\1\u0271\15\10" + "\3\0\1\10\10\0\7\10\3\0\25\10\1\46\3\0" - + "\1\10\10\0\6\10\1\u01af\3\0\26\10\3\0\1\10" + "\10\0\1\u0272\6\10\3\0\26\10\3\0\1\10\10\0" - + "\7\10\3\0\23\10\1\257\2\10\3\0\1\10\10\0" + "\7\10\3\0\4\10\1\347\21\10\3\0\1\10\10\0" - + "\6\10\1\72\3\0\26\10\3\0\1\10\10\0\5\10" + "\1\u0273\1\10\3\0\26\10\31\0\1\u0148\55\0\1\u01cc" - + "\47\0\1\u01d9\41\0\1\u0148\52\0\1\u0274\66\0\1\u0275" + "\45\0\1\u01cd\50\0\1\u0274\76\0\1\u013e\46\0\1\u0148" - + "\67\0\1\u0148\6\0\1\10\10\0\7\10\3\0\1\10" + "\1\u0276\24\10\3\0\1\10\10\0\1\124\6\10\3\0" - + "\26\10\3\0\1\10\10\0\7\10\3\0\2\10\1\u0277" + "\23\10\3\0\1\10\10\0\2\10\1\u0278\4\10\3\0" - + "\26\10\3\0\1\10\10\0\7\10\3\0\4\10\1\u0109" + "\21\10\3\0\1\10\10\0\7\10\3\0\7\10\1\u0238" - + "\16\10\3\0\1\10\10\0\7\10\3\0\2\10\1\u017d" + "\23\10\3\0\1\10\10\0\7\10\3\0\1\10\1\u0279" - + "\24\10\3\0\1\10\10\0\4\10\1\u027a\2\10\3\0" + "\26\10\3\0\1\10\10\0\7\10\3\0\1\10\1\u027b" - + "\24\10\3\0\1\10\10\0\1\u0189\6\10\3\0\26\10" + "\3\0\1\10\10\0\7\10\3\0\6\10\1\u027c\17\10" - + "\3\0\1\10\10\0\7\10\3\0\4\10\1\u0266\21\10" + "\30\0\1\u0148\44\0\1\u0263\35\0\1\10\10\0\7\10" - + "\3\0\15\10\1\220\10\10\3\0\1\10\10\0\4\10" + "\1\u027d\2\10\3\0\26\10\3\0\1\10\10\0\4\10" - + "\1\220\2\10\3\0\26\10\3\0\1\10\10\0\7\10" + "\3\0\4\10\1\u027e\21\10\3\0\1\10\10\0\1\u027f" - + "\6\10\3\0\26\10\3\0\1\10\10\0\4\10\1\u0273" + "\2\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0" - + "\6\10\1\u027d\17\10\3\0\1\10\10\0\1\u020d\6\10" + "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\14\10" - + "\1\u017d\11\10\3\0\1\10\10\0\7\10\3\0\4\10" + "\1\u017d\21\10\1\0"; - + + "\64\0\1\u025d\65\0\1\u025e\2\0\1\u025f\20\0\1\u0158" + + "\66\0\1\u0260\64\0\1\251\51\0\1\u0261\47\0\1\u0262" + "\35\0\1\u0263\100\0\1\u0264\15\0\1\10\10\0\1\353" + + "\6\10\3\0\26\10\3\0\1\10\10\0\4\10\1\u0265" + "\2\10\3\0\26\10\3\0\1\10\10\0\4\10\1\u0266" + + "\2\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0" + "\1\10\1\u0267\24\10\3\0\1\10\10\0\1\u0182\6\10" + + "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\13\10" + "\1\u0178\12\10\3\0\1\10\10\0\2\10\1\u01f1\4\10" + + "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\1\10" + "\1\362\24\10\3\0\1\10\10\0\7\10\3\0\13\10" + + "\1\u0116\12\10\3\0\1\10\10\0\1\u0268\6\10\3\0" + "\26\10\3\0\1\10\10\0\7\10\3\0\13\10\1\u0269" + + "\12\10\3\0\1\10\10\0\7\10\3\0\13\10\1\u026a" + "\12\10\3\0\1\10\10\0\7\10\3\0\4\10\1\124" + + "\21\10\3\0\1\10\10\0\7\10\3\0\1\10\1\213" + "\24\10\3\0\1\10\10\0\6\10\1\u026b\3\0\26\10" + + "\3\0\1\10\10\0\7\10\3\0\4\10\1\u026c\21\10" + "\3\0\1\10\10\0\7\10\3\0\2\10\1\u026d\23\10" + + "\3\0\1\10\10\0\3\10\1\353\3\10\3\0\26\10" + "\3\0\1\10\10\0\7\10\3\0\1\10\1\355\24\10" + + "\3\0\1\10\10\0\4\10\1\u026e\2\10\3\0\26\10" + "\3\0\1\10\10\0\7\10\3\0\7\10\1\213\16\10" + + "\3\0\1\10\10\0\2\10\1\u026f\4\10\3\0\26\10" + "\3\0\1\10\10\0\7\10\3\0\15\10\1\257\10\10" + + "\3\0\1\10\10\0\2\10\1\u0270\4\10\3\0\26\10" + "\3\0\1\10\10\0\7\10\3\0\4\10\1\u01fc\21\10" + + "\3\0\1\10\10\0\7\10\3\0\6\10\1\46\17\10" + "\3\0\1\10\10\0\7\10\3\0\10\10\1\u0271\15\10" + + "\3\0\1\10\10\0\7\10\3\0\25\10\1\46\3\0" + "\1\10\10\0\6\10\1\u01af\3\0\26\10\3\0\1\10" + + "\10\0\1\u0272\6\10\3\0\26\10\3\0\1\10\10\0" + "\7\10\3\0\23\10\1\257\2\10\3\0\1\10\10\0" + + "\7\10\3\0\4\10\1\347\21\10\3\0\1\10\10\0" + "\6\10\1\72\3\0\26\10\3\0\1\10\10\0\5\10" + + "\1\u0273\1\10\3\0\26\10\31\0\1\u0148\55\0\1\u01cc" + + "\47\0\1\u01d9\41\0\1\u0148\52\0\1\u0274\66\0\1\u0275" + + "\45\0\1\u01cd\50\0\1\u0274\76\0\1\u013e\46\0\1\u0148" + "\67\0\1\u0148\6\0\1\10\10\0\7\10\3\0\1\10" + + "\1\u0276\24\10\3\0\1\10\10\0\1\124\6\10\3\0" + "\26\10\3\0\1\10\10\0\7\10\3\0\2\10\1\u0277" + + "\23\10\3\0\1\10\10\0\2\10\1\u0278\4\10\3\0" + "\26\10\3\0\1\10\10\0\7\10\3\0\4\10\1\u0109" + + "\21\10\3\0\1\10\10\0\7\10\3\0\7\10\1\u0238" + "\16\10\3\0\1\10\10\0\7\10\3\0\2\10\1\u017d" + + "\23\10\3\0\1\10\10\0\7\10\3\0\1\10\1\u0279" + "\24\10\3\0\1\10\10\0\4\10\1\u027a\2\10\3\0" + + "\26\10\3\0\1\10\10\0\7\10\3\0\1\10\1\u027b" + "\24\10\3\0\1\10\10\0\1\u0189\6\10\3\0\26\10" + + "\3\0\1\10\10\0\7\10\3\0\6\10\1\u027c\17\10" + "\3\0\1\10\10\0\7\10\3\0\4\10\1\u0266\21\10" + + "\30\0\1\u0148\44\0\1\u0263\35\0\1\10\10\0\7\10" + "\3\0\15\10\1\220\10\10\3\0\1\10\10\0\4\10" + + "\1\u027d\2\10\3\0\26\10\3\0\1\10\10\0\4\10" + "\1\220\2\10\3\0\26\10\3\0\1\10\10\0\7\10" + + "\3\0\4\10\1\u027e\21\10\3\0\1\10\10\0\1\u027f" + "\6\10\3\0\26\10\3\0\1\10\10\0\4\10\1\u0273" + + "\2\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0" + "\6\10\1\u027d\17\10\3\0\1\10\10\0\1\u020d\6\10" + + "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\14\10" + "\1\u017d\11\10\3\0\1\10\10\0\7\10\3\0\4\10" + + "\1\u017d\21\10\1\0"; + private static int[] zzUnpackTrans() { int[] result = new int[27016]; 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 */ @@ -536,7 +551,7 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -548,16 +563,17 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\2\11\3\1\1\11\12\1\3\11\23\1\1\11" + "\1\1\2\11\1\1\2\11\1\1\1\11\2\1\1\11" - + "\144\1\21\0\1\11\220\1\7\0\1\1\2\0\1\11" + "\24\0\157\1\12\0\1\1\16\0\105\1\16\0\42\1" + "\13\0\17\1\2\0\12\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\2\11\3\1\1\11\12\1\3\11\23\1\1\11" + + "\1\1\2\11\1\1\2\11\1\1\1\11\2\1\1\11" + "\144\1\21\0\1\11\220\1\7\0\1\1\2\0\1\11" + + "\24\0\157\1\12\0\1\1\16\0\105\1\16\0\42\1" + "\13\0\17\1\2\0\12\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[639]; 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 */ @@ -571,7 +587,7 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -579,8 +595,8 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -590,8 +606,7 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** @@ -601,57 +616,49 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public SASTokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -659,35 +666,30 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "*", null }; } - + /** - * Returns whether tokens of the specified type should have "mark - * occurrences" enabled for the current programming language. + * Returns whether tokens of the specified type should have "mark occurrences" + * enabled for the current programming language. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.IDENTIFIER || type == Token.VARIABLE; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -696,20 +698,20 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = STRING; - start = text.offset; - break; - case Token.LITERAL_CHAR: - state = CHAR; - start = text.offset; - break; - case Token.COMMENT_MULTILINE: - state = MLC; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = STRING; + start = text.offset; + break; + case Token.LITERAL_CHAR: + state = CHAR; + start = text.offset; + break; + case Token.COMMENT_MULTILINE: + state = MLC; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -721,36 +723,34 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -761,34 +761,31 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { zzAtBOL = true; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public SASTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public SASTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -804,7 +801,7 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -814,69 +811,64 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -887,29 +879,27 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -927,32 +917,32 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { zzMarkedPosL = zzMarkedPos; if (zzMarkedPosL > zzStartRead) { switch (zzBufferL[zzMarkedPosL - 1]) { - case '\n': - case '\u000B': - case '\u000C': - case '\u0085': - case '\u2028': - case '\u2029': - zzAtBOL = true; - break; - case '\r': - if (zzMarkedPosL < zzEndReadL) - zzAtBOL = zzBufferL[zzMarkedPosL] != '\n'; - else if (zzAtEOF) - zzAtBOL = false; - else { - boolean eof = zzRefill(); - zzMarkedPosL = zzMarkedPos; - zzEndReadL = zzEndRead; - zzBufferL = zzBuffer; - if (eof) - zzAtBOL = false; - else - zzAtBOL = zzBufferL[zzMarkedPosL] != '\n'; - } - break; - default: + case '\n': + case '\u000B': + case '\u000C': + case '\u0085': + case '\u2028': + case '\u2029': + zzAtBOL = true; + break; + case '\r': + if (zzMarkedPosL < zzEndReadL) + zzAtBOL = zzBufferL[zzMarkedPosL] != '\n'; + else if (zzAtEOF) zzAtBOL = false; + else { + boolean eof = zzRefill(); + zzMarkedPosL = zzMarkedPos; + zzEndReadL = zzEndRead; + zzBufferL = zzBuffer; + if (eof) + zzAtBOL = false; + else + zzAtBOL = zzBufferL[zzMarkedPosL] != '\n'; + } + break; + default: + zzAtBOL = false; } } zzAction = -1; @@ -961,8 +951,7 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { zzState = ZZ_LEXSTATE[zzLexicalState + 1]; else zzState = ZZ_LEXSTATE[zzLexicalState]; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1002,169 +991,170 @@ public class SASTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 13: { - yybegin(YYINITIAL); - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; + case 13: { + yybegin(YYINITIAL); + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 21: + break; + case 2: { + addNullToken(); + return firstToken; + } + case 22: + break; + case 18: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 23: + break; + case 17: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 24: + break; + case 3: { + addToken(Token.WHITESPACE); + } + case 25: + break; + case 8: { + start = zzMarkedPos - 1; + yybegin(CHAR); + } + case 26: + break; + case 5: { + addToken(Token.RESERVED_WORD); + } + case 27: + break; + case 6: { + addToken(Token.SEPARATOR); + } + case 28: + break; + case 16: { + addToken(Token.VARIABLE); + } + case 29: + break; + case 14: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_CHAR); + } + case 30: + break; + case 1: { + addToken(Token.IDENTIFIER); + } + case 31: + break; + case 20: { + addToken(Token.FUNCTION); + } + case 32: + break; + case 19: { + addToken(Token.DATA_TYPE); + } + case 33: + break; + case 11: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 34: + break; + case 9: { // We must do this because of how we + // abuse JFlex; since we return an entire + // list of tokens at once instead of a + // single token at a time, the "^" regex + // character doesn't really work, so we must + // check that we're at the beginning of a + // line ourselves. + start = zzStartRead; + // Might not be any whitespace. + if (yylength() > 1) { + addToken(zzStartRead, zzMarkedPos - 2, Token.WHITESPACE); + zzStartRead = zzMarkedPos - 1; } - case 21: - break; - case 2: { + // Remember: zzStartRead may now be updated, + // so we must check against 'start'. + if (start == s.offset) { + addToken(zzStartRead, zzEndRead, Token.COMMENT_EOL); addNullToken(); return firstToken; + } else { + addToken(zzStartRead, zzStartRead, Token.OPERATOR); } - case 22: - break; - case 18: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 23: - break; - case 17: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 24: - break; - case 3: { - addToken(Token.WHITESPACE); - } - case 25: - break; - case 8: { - start = zzMarkedPos - 1; - yybegin(CHAR); - } - case 26: - break; - case 5: { - addToken(Token.RESERVED_WORD); - } - case 27: - break; - case 6: { - addToken(Token.SEPARATOR); - } - case 28: - break; - case 16: { - addToken(Token.VARIABLE); - } - case 29: - break; - case 14: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_CHAR); - } - case 30: - break; - case 1: { - addToken(Token.IDENTIFIER); - } - case 31: - break; - case 20: { - addToken(Token.FUNCTION); - } - case 32: - break; - case 19: { - addToken(Token.DATA_TYPE); - } - case 33: - break; - case 11: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 34: - break; - case 9: { // We must do this because of how we - // abuse JFlex; since we return an entire - // list of tokens at once instead of a - // single token at a time, the "^" regex - // character doesn't really work, so we must - // check that we're at the beginning of a - // line ourselves. - start = zzStartRead; - // Might not be any whitespace. - if (yylength() > 1) { - addToken(zzStartRead, zzMarkedPos - 2, Token.WHITESPACE); - zzStartRead = zzMarkedPos - 1; + } + case 35: + break; + case 7: { + start = zzMarkedPos - 1; + yybegin(STRING); + } + case 36: + break; + case 4: { + addToken(Token.OPERATOR); + } + case 37: + break; + case 12: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 38: + break; + case 10: { + } + case 39: + break; + case 15: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 40: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; } - // Remember: zzStartRead may now be updated, - // so we must check against 'start'. - if (start == s.offset) { - addToken(zzStartRead, zzEndRead, Token.COMMENT_EOL); + case 640: + break; + case YYINITIAL: { addNullToken(); return firstToken; - } else { - addToken(zzStartRead, zzStartRead, Token.OPERATOR); } - } - case 35: - break; - case 7: { - start = zzMarkedPos - 1; - yybegin(STRING); - } - case 36: - break; - case 4: { - addToken(Token.OPERATOR); - } - case 37: - break; - case 12: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 38: - break; - case 10: {} - case 39: - break; - case 15: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 40: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 640: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 641: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 642: - break; - case CHAR: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 643: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 641: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; } + case 642: + break; + case CHAR: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 643: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/SQLTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/SQLTokenMaker.java index 2841b9d..6cab633 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/SQLTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/SQLTokenMaker.java @@ -21,16 +21,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -40,16 +39,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated SQLTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -57,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class SQLTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -70,9 +69,10 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\4\1\1\25\0\1\4\1\0\1\54\4\0\1\55\2\15" + "\1\13\1\11\1\0\1\12\1\17\1\14\1\3\1\50\1\50\1\3" + "\1\45\3\3\1\46\1\3\1\16\1\0\1\10\1\7\1\6\2\0" - + "\1\21\1\37\1\31\1\22\1\20\1\44\1\47\1\41\1\34\1\51" + "\1\52\1\23\1\35\1\26\1\33\1\42\1\53\1\25\1\30\1\24" - + "\1\32\1\36\1\40\1\43\1\27\1\2\1\56\1\0\1\57\1\0" + "\1\5\1\0\1\21\1\37\1\31\1\22\1\20\1\44\1\47\1\41" - + "\1\34\1\51\1\52\1\23\1\35\1\26\1\33\1\42\1\53\1\25" + "\1\30\1\24\1\32\1\36\1\40\1\43\1\27\1\2\uff85\0"; + + "\1\21\1\37\1\31\1\22\1\20\1\44\1\47\1\41\1\34\1\51" + + "\1\52\1\23\1\35\1\26\1\33\1\42\1\53\1\25\1\30\1\24" + "\1\32\1\36\1\40\1\43\1\27\1\2\1\56\1\0\1\57\1\0" + + "\1\5\1\0\1\21\1\37\1\31\1\22\1\20\1\44\1\47\1\41" + "\1\34\1\51\1\52\1\23\1\35\1\26\1\33\1\42\1\53\1\25" + + "\1\30\1\24\1\32\1\36\1\40\1\43\1\27\1\2\uff85\0"; /** * Translates characters to character classes */ @@ -81,18 +81,19 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\4\0\1\1\1\2\1\1\1\3\1\4\5\5\1\6" + "\1\1\1\7\27\1\1\10\1\11\1\12\1\13\1\14" - + "\1\15\1\13\1\16\1\17\1\13\1\20\1\13\1\0" + "\1\21\1\22\4\1\1\23\45\1\2\23\4\1\1\23" + "\7\1\1\23\22\1\1\24\1\13\1\25\1\7\1\0" - + "\3\1\1\26\51\1\1\23\4\1\1\23\2\1\1\23" + "\22\1\1\23\4\1\1\23\4\1\1\23\17\1\1\23" + "\35\1\1\23\5\1\1\23\10\1\1\23\5\1\1\23" - + "\11\1\1\23\42\1\1\23\4\1\1\23\16\1\1\26" + "\4\1"; - + private static final String ZZ_ACTION_PACKED_0 = "\4\0\1\1\1\2\1\1\1\3\1\4\5\5\1\6" + + "\1\1\1\7\27\1\1\10\1\11\1\12\1\13\1\14" + "\1\15\1\13\1\16\1\17\1\13\1\20\1\13\1\0" + + "\1\21\1\22\4\1\1\23\45\1\2\23\4\1\1\23" + "\7\1\1\23\22\1\1\24\1\13\1\25\1\7\1\0" + + "\3\1\1\26\51\1\1\23\4\1\1\23\2\1\1\23" + "\22\1\1\23\4\1\1\23\4\1\1\23\17\1\1\23" + + "\35\1\1\23\5\1\1\23\10\1\1\23\5\1\1\23" + "\11\1\1\23\42\1\1\23\4\1\1\23\16\1\1\26" + "\4\1"; + private static int[] zzUnpackAction() { int[] result = new int[354]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -106,7 +107,7 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -116,7 +117,8 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { + "\0\u0270\0\u02a0\0\u02d0\0\u0300\0\u0330\0\u0360\0\u0390\0\u03c0" + "\0\u03f0\0\u0420\0\u0450\0\u0480\0\u04b0\0\u04e0\0\u0510\0\u0540" + "\0\u0570\0\u05a0\0\u05d0\0\u0600\0\u0630\0\u0660\0\u0690\0\u06c0" - + "\0\300\0\300\0\u06f0\0\u0720\0\300\0\u0750\0\u0780\0\300" + "\0\u07b0\0\u07e0\0\300\0\u0810\0\u0840\0\u0870\0\300\0\u08a0" + + "\0\300\0\300\0\u06f0\0\u0720\0\300\0\u0750\0\u0780\0\300" + + "\0\u07b0\0\u07e0\0\300\0\u0810\0\u0840\0\u0870\0\300\0\u08a0" + "\0\u08d0\0\u0900\0\u0930\0\u0960\0\u0990\0\u09c0\0\u09f0\0\u0a20" + "\0\u0a50\0\u0a80\0\u0ab0\0\u0ae0\0\u0b10\0\u0b40\0\u0b70\0\u0ba0" + "\0\u0bd0\0\u0c00\0\u0c30\0\u0c60\0\u0c90\0\u0cc0\0\u0cf0\0\u0d20" @@ -154,14 +156,14 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { + "\0\u3960\0\u3990\0\u39c0\0\u39f0\0\u3a20\0\u3a50\0\u3a80\0\u3ab0" + "\0\u3ae0\0\u3b10\0\u3b40\0\u3b70\0\u3ba0\0\u3bd0\0\u3c00\0\u3c30" + "\0\u3c60\0\u3c90\0\u3cc0\0\u3cf0\0\u3d20\0\u3d50\0\u3d80\0\u3db0" + "\0\u3de0\0\u3e10"; - + private static int[] zzUnpackRowMap() { int[] result = new int[354]; 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 */ @@ -172,147 +174,190 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\5\1\6\1\7\1\10\1\11\1\5\1\12\1\13" + "\1\14\1\13\1\15\1\13\1\16\1\17\1\20\1\21" - + "\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31" + "\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41" - + "\1\42\1\43\1\44\1\7\1\45\2\10\1\46\1\10" + "\1\47\1\50\1\7\1\51\1\52\1\53\1\5\1\54" - + "\1\55\52\54\1\56\3\54\1\57\1\60\53\57\1\61" + "\2\57\1\62\1\63\11\62\1\64\44\62\62\0\2\7" - + "\1\0\1\7\12\0\34\7\7\0\1\10\13\0\1\21" + "\1\65\24\0\2\10\1\0\1\10\13\0\1\11\62\0" - + "\1\13\56\0\2\13\62\0\1\66\60\0\1\67\46\0" + "\1\7\15\0\25\7\2\0\1\7\1\0\3\7\7\0" + "\1\21\14\0\1\65\24\0\2\21\1\0\1\21\11\0" - + "\2\7\1\0\1\7\12\0\23\7\1\70\10\7\6\0" + "\2\7\1\0\1\7\12\0\2\7\1\71\1\72\2\7" + "\1\73\1\7\1\74\1\7\1\75\3\7\1\76\15\7" - + "\6\0\2\7\1\0\1\7\12\0\1\77\1\100\3\7" + "\1\101\5\7\1\102\1\103\17\7\6\0\2\7\1\0" - + "\1\7\12\0\1\104\12\7\1\105\1\106\17\7\6\0" + "\2\7\1\0\1\7\12\0\1\107\1\110\3\7\1\111" - + "\1\7\1\112\3\7\1\113\1\114\17\7\6\0\2\7" + "\1\0\1\7\12\0\1\115\13\7\1\116\17\7\6\0" - + "\2\7\1\0\1\7\12\0\12\7\1\117\1\120\20\7" + "\6\0\2\7\1\0\1\7\12\0\1\121\33\7\6\0" + "\2\7\1\0\1\7\12\0\1\122\3\7\1\123\2\7" + private static final String ZZ_TRANS_PACKED_0 = "\1\5\1\6\1\7\1\10\1\11\1\5\1\12\1\13" + + "\1\14\1\13\1\15\1\13\1\16\1\17\1\20\1\21" + "\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31" + + "\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41" + "\1\42\1\43\1\44\1\7\1\45\2\10\1\46\1\10" + + "\1\47\1\50\1\7\1\51\1\52\1\53\1\5\1\54" + "\1\55\52\54\1\56\3\54\1\57\1\60\53\57\1\61" + + "\2\57\1\62\1\63\11\62\1\64\44\62\62\0\2\7" + "\1\0\1\7\12\0\34\7\7\0\1\10\13\0\1\21" + + "\1\65\24\0\2\10\1\0\1\10\13\0\1\11\62\0" + "\1\13\56\0\2\13\62\0\1\66\60\0\1\67\46\0" + + "\1\7\15\0\25\7\2\0\1\7\1\0\3\7\7\0" + "\1\21\14\0\1\65\24\0\2\21\1\0\1\21\11\0" + + "\2\7\1\0\1\7\12\0\23\7\1\70\10\7\6\0" + "\2\7\1\0\1\7\12\0\2\7\1\71\1\72\2\7" + + "\1\73\1\7\1\74\1\7\1\75\3\7\1\76\15\7" + "\6\0\2\7\1\0\1\7\12\0\1\77\1\100\3\7" + + "\1\101\5\7\1\102\1\103\17\7\6\0\2\7\1\0" + "\1\7\12\0\1\104\12\7\1\105\1\106\17\7\6\0" + + "\2\7\1\0\1\7\12\0\1\107\1\110\3\7\1\111" + "\1\7\1\112\3\7\1\113\1\114\17\7\6\0\2\7" + + "\1\0\1\7\12\0\1\115\13\7\1\116\17\7\6\0" + "\2\7\1\0\1\7\12\0\12\7\1\117\1\120\20\7" + + "\6\0\2\7\1\0\1\7\12\0\1\121\33\7\6\0" + "\2\7\1\0\1\7\12\0\1\122\3\7\1\123\2\7" + "\1\124\2\7\1\125\1\126\1\127\1\130\3\7\1\131" + "\12\7\6\0\2\7\1\0\1\7\12\0\5\7\1\132" - + "\4\7\1\133\1\134\5\7\1\135\12\7\6\0\2\7" + "\1\0\1\7\12\0\6\7\1\136\1\7\1\137\11\7" + "\1\140\11\7\6\0\2\7\1\0\1\7\12\0\3\7" - + "\1\141\1\7\1\142\1\143\2\7\1\144\1\145\5\7" + "\1\146\1\7\1\147\11\7\6\0\2\7\1\0\1\7" - + "\12\0\6\7\1\150\1\7\1\143\4\7\1\113\11\7" + "\1\151\4\7\6\0\2\7\1\0\1\7\12\0\1\152" - + "\1\153\11\7\1\154\1\155\17\7\6\0\2\7\1\0" + "\1\7\12\0\1\7\1\156\32\7\6\0\2\7\1\0" - + "\1\7\12\0\1\157\6\7\1\160\3\7\1\161\1\162" + "\17\7\6\0\2\7\1\0\1\7\12\0\14\7\1\163" + "\4\7\1\164\12\7\6\0\2\7\1\0\1\7\12\0" - + "\1\7\1\165\32\7\6\0\2\7\1\0\1\7\12\0" + "\1\166\1\167\3\7\1\170\5\7\1\171\1\172\17\7" + "\6\0\2\7\1\0\1\7\12\0\3\7\1\173\1\7" - + "\1\174\5\7\1\175\20\7\6\0\2\7\1\0\1\7" + "\12\0\1\176\4\7\1\177\4\7\1\200\21\7\6\0" + "\2\7\1\0\1\7\12\0\13\7\1\201\20\7\6\0" + + "\4\7\1\133\1\134\5\7\1\135\12\7\6\0\2\7" + "\1\0\1\7\12\0\6\7\1\136\1\7\1\137\11\7" + + "\1\140\11\7\6\0\2\7\1\0\1\7\12\0\3\7" + "\1\141\1\7\1\142\1\143\2\7\1\144\1\145\5\7" + + "\1\146\1\7\1\147\11\7\6\0\2\7\1\0\1\7" + "\12\0\6\7\1\150\1\7\1\143\4\7\1\113\11\7" + + "\1\151\4\7\6\0\2\7\1\0\1\7\12\0\1\152" + "\1\153\11\7\1\154\1\155\17\7\6\0\2\7\1\0" + + "\1\7\12\0\1\7\1\156\32\7\6\0\2\7\1\0" + "\1\7\12\0\1\157\6\7\1\160\3\7\1\161\1\162" + + "\17\7\6\0\2\7\1\0\1\7\12\0\14\7\1\163" + "\4\7\1\164\12\7\6\0\2\7\1\0\1\7\12\0" + + "\1\7\1\165\32\7\6\0\2\7\1\0\1\7\12\0" + "\1\166\1\167\3\7\1\170\5\7\1\171\1\172\17\7" + + "\6\0\2\7\1\0\1\7\12\0\3\7\1\173\1\7" + "\1\174\5\7\1\175\20\7\6\0\2\7\1\0\1\7" + + "\12\0\1\176\4\7\1\177\4\7\1\200\21\7\6\0" + "\2\7\1\0\1\7\12\0\13\7\1\201\20\7\6\0" + "\2\7\1\0\1\7\12\0\1\202\33\7\4\0\57\53" + "\1\203\1\54\1\0\52\54\1\0\3\54\54\0\1\204" + "\3\0\1\57\1\0\53\57\1\0\2\57\55\0\1\204" + "\2\0\1\62\1\0\11\62\1\0\44\62\14\0\1\205" + "\46\0\1\206\5\0\2\207\32\0\2\206\1\0\1\206" + "\7\0\1\66\1\0\56\66\2\0\2\7\1\0\1\7" - + "\12\0\4\7\1\210\7\7\1\211\17\7\6\0\2\7" + "\1\0\1\7\12\0\2\7\1\143\31\7\6\0\2\7" + "\1\0\1\7\12\0\3\7\1\143\1\137\27\7\6\0" - + "\2\7\1\0\1\7\12\0\2\7\1\143\4\7\1\143" + "\24\7\6\0\2\7\1\0\1\7\12\0\11\7\1\143" + "\22\7\6\0\2\7\1\0\1\7\12\0\4\7\1\212" - + "\27\7\6\0\2\7\1\0\1\7\12\0\1\7\1\143" + "\25\7\1\213\4\7\6\0\2\7\1\0\1\7\12\0" + "\3\7\1\214\4\7\1\215\23\7\6\0\2\7\1\0" - + "\1\7\12\0\4\7\1\216\27\7\6\0\2\7\1\0" + "\1\7\12\0\13\7\1\113\20\7\6\0\2\7\1\0" + "\1\7\12\0\12\7\1\217\21\7\6\0\2\7\1\0" - + "\1\7\12\0\10\7\1\220\23\7\6\0\2\7\1\0" + "\1\7\12\0\16\7\1\221\5\7\1\120\7\7\6\0" + "\2\7\1\0\1\7\12\0\6\7\1\222\11\7\1\223" - + "\6\7\1\224\4\7\6\0\2\7\1\0\1\7\12\0" + "\32\7\1\225\1\7\6\0\2\7\1\0\1\7\12\0" + "\23\7\1\120\10\7\6\0\2\7\1\0\1\7\12\0" - + "\17\7\1\226\14\7\6\0\2\7\1\0\1\7\12\0" + "\1\7\1\227\12\7\1\230\17\7\6\0\2\7\1\0" + "\1\7\12\0\22\7\1\225\11\7\6\0\2\7\1\0" - + "\1\7\12\0\22\7\1\143\11\7\6\0\2\7\1\0" + "\1\7\12\0\15\7\1\231\16\7\6\0\2\7\1\0" + "\1\7\12\0\1\7\1\232\22\7\1\233\7\7\6\0" - + "\2\7\1\0\1\7\12\0\27\7\1\234\4\7\6\0" + "\2\7\1\0\1\7\12\0\3\7\1\232\11\7\1\235" + "\16\7\6\0\2\7\1\0\1\7\12\0\4\7\1\143" - + "\27\7\6\0\2\7\1\0\1\7\12\0\10\7\1\236" + "\23\7\6\0\2\7\1\0\1\7\12\0\3\7\1\237" + "\1\143\3\7\1\240\23\7\6\0\2\7\1\0\1\7" - + "\12\0\2\7\1\241\2\7\1\242\26\7\6\0\2\7" + "\1\0\1\7\12\0\10\7\1\243\23\7\6\0\2\7" + "\1\0\1\7\12\0\15\7\1\143\1\7\1\244\14\7" - + "\6\0\2\7\1\0\1\7\12\0\15\7\1\225\16\7" + "\6\0\2\7\1\0\1\7\12\0\6\7\1\245\25\7" + "\6\0\2\7\1\0\1\7\12\0\1\7\1\246\32\7" - + "\6\0\2\7\1\0\1\7\12\0\13\7\1\247\20\7" + "\6\0\2\7\1\0\1\7\12\0\1\250\33\7\6\0" + "\2\7\1\0\1\7\12\0\5\7\1\251\26\7\6\0" - + "\2\7\1\0\1\7\12\0\3\7\1\252\2\7\1\253" + "\3\7\1\254\21\7\6\0\2\7\1\0\1\7\12\0" + "\1\7\1\255\32\7\6\0\2\7\1\0\1\7\12\0" - + "\14\7\1\256\17\7\6\0\2\7\1\0\1\7\12\0" + "\1\257\33\7\6\0\2\7\1\0\1\7\12\0\2\7" + "\1\250\17\7\1\223\11\7\6\0\2\7\1\0\1\7" - + "\12\0\1\260\33\7\6\0\2\7\1\0\1\7\12\0" + "\2\7\1\137\31\7\6\0\2\7\1\0\1\7\12\0" + "\4\7\1\261\27\7\6\0\2\7\1\0\1\7\12\0" - + "\4\7\1\137\27\7\6\0\2\7\1\0\1\7\12\0" + "\6\7\1\262\25\7\6\0\2\7\1\0\1\7\12\0" + "\4\7\1\263\27\7\6\0\2\7\1\0\1\7\12\0" - + "\2\7\1\264\1\7\1\265\1\7\1\137\1\7\1\266" + "\23\7\6\0\2\7\1\0\1\7\12\0\6\7\1\267" + "\25\7\6\0\2\7\1\0\1\7\12\0\15\7\1\270" - + "\16\7\6\0\2\7\1\0\1\7\12\0\23\7\1\143" + "\10\7\6\0\2\7\1\0\1\7\12\0\2\7\1\143" + "\3\7\1\50\25\7\6\0\2\7\1\0\1\7\12\0" - + "\6\7\1\143\25\7\6\0\2\7\1\0\1\7\12\0" + "\3\7\1\271\1\7\1\272\26\7\6\0\2\7\1\0" + "\1\7\12\0\4\7\1\273\27\7\6\0\2\7\1\0" - + "\1\7\12\0\4\7\1\225\27\7\6\0\2\7\1\0" + "\1\7\12\0\13\7\1\274\20\7\6\0\2\7\1\0" + "\1\7\12\0\4\7\1\275\1\7\1\276\25\7\6\0" - + "\2\7\1\0\1\7\12\0\4\7\1\277\27\7\6\0" + "\2\7\1\0\1\7\12\0\1\300\33\7\6\0\2\7" + "\1\0\1\7\12\0\16\7\1\242\15\7\6\0\2\7" - + "\1\0\1\7\12\0\5\7\1\301\26\7\6\0\2\7" + "\1\0\1\7\12\0\5\7\1\302\2\7\1\303\23\7" + "\6\0\2\7\1\0\1\7\12\0\14\7\1\304\17\7" - + "\6\0\2\7\1\0\1\7\12\0\10\7\1\305\23\7" + "\6\0\2\7\1\0\1\7\12\0\16\7\1\306\15\7" + "\6\0\2\7\1\0\1\7\12\0\13\7\1\307\20\7" - + "\6\0\2\7\1\0\1\7\12\0\13\7\1\310\20\7" + "\6\0\2\7\1\0\1\7\12\0\5\7\1\311\26\7" + "\6\0\2\7\1\0\1\7\12\0\6\7\1\312\25\7" - + "\6\0\2\7\1\0\1\7\12\0\13\7\1\313\20\7" + "\6\0\2\7\1\0\1\7\12\0\14\7\1\71\17\7" + "\6\0\2\7\1\0\1\7\12\0\14\7\1\155\17\7" - + "\6\0\2\7\1\0\1\7\12\0\7\7\1\143\24\7" + "\7\0\1\206\41\0\2\206\1\0\1\206\11\0\2\7" + "\1\0\1\7\12\0\5\7\1\314\26\7\6\0\2\7" - + "\1\0\1\7\12\0\10\7\1\315\23\7\6\0\2\7" + "\1\0\1\7\12\0\13\7\1\316\20\7\6\0\2\7" + "\1\0\1\7\12\0\1\317\33\7\6\0\2\7\1\0" - + "\1\7\12\0\1\320\1\321\32\7\6\0\2\7\1\0" + "\1\7\12\0\17\7\1\322\14\7\6\0\2\7\1\0" + "\1\7\12\0\1\7\1\323\2\7\1\324\27\7\6\0" - + "\2\7\1\0\1\7\12\0\1\232\33\7\6\0\2\7" + "\1\0\1\7\12\0\27\7\1\325\4\7\6\0\2\7" + "\1\0\1\7\12\0\1\326\33\7\6\0\2\7\1\0" - + "\1\7\12\0\14\7\1\327\17\7\6\0\2\7\1\0" + "\1\7\12\0\1\143\33\7\6\0\2\7\1\0\1\7" + "\12\0\3\7\1\330\30\7\6\0\2\7\1\0\1\7" - + "\12\0\6\7\1\331\25\7\6\0\2\7\1\0\1\7" + "\12\0\15\7\1\213\16\7\6\0\2\7\1\0\1\7" + "\12\0\1\332\33\7\6\0\2\7\1\0\1\7\12\0" - + "\3\7\1\143\30\7\6\0\2\7\1\0\1\7\12\0" + "\1\333\33\7\6\0\2\7\1\0\1\7\12\0\21\7" + "\1\120\12\7\6\0\2\7\1\0\1\7\12\0\1\334" - + "\16\7\1\137\14\7\6\0\2\7\1\0\1\7\12\0" + "\6\7\1\270\25\7\6\0\2\7\1\0\1\7\12\0" + "\1\335\33\7\6\0\2\7\1\0\1\7\12\0\10\7" - + "\1\336\23\7\6\0\2\7\1\0\1\7\12\0\1\337" + "\33\7\6\0\2\7\1\0\1\7\12\0\14\7\1\340" + "\17\7\6\0\2\7\1\0\1\7\12\0\4\7\1\341" - + "\27\7\6\0\2\7\1\0\1\7\12\0\10\7\1\342" + "\23\7\6\0\2\7\1\0\1\7\12\0\27\7\1\322" + "\4\7\6\0\2\7\1\0\1\7\12\0\3\7\1\343" - + "\30\7\6\0\2\7\1\0\1\7\12\0\5\7\1\120" + "\26\7\6\0\2\7\1\0\1\7\12\0\1\7\1\317" + "\32\7\6\0\2\7\1\0\1\7\12\0\5\7\1\344" - + "\26\7\6\0\2\7\1\0\1\7\12\0\12\7\1\345" + "\21\7\6\0\2\7\1\0\1\7\12\0\10\7\1\346" + "\1\347\4\7\1\350\15\7\6\0\2\7\1\0\1\7" - + "\12\0\6\7\1\351\25\7\6\0\2\7\1\0\1\7" + "\12\0\5\7\1\352\26\7\6\0\2\7\1\0\1\7" + "\12\0\13\7\1\155\17\7\1\353\6\0\2\7\1\0" - + "\1\7\12\0\5\7\1\143\26\7\6\0\2\7\1\0" + "\1\7\12\0\13\7\1\354\20\7\6\0\2\7\1\0" + "\1\7\12\0\1\355\33\7\6\0\2\7\1\0\1\7" - + "\12\0\1\356\33\7\6\0\2\7\1\0\1\7\12\0" + "\14\7\1\357\17\7\6\0\2\7\1\0\1\7\12\0" + "\1\153\33\7\6\0\2\7\1\0\1\7\12\0\1\360" - + "\12\7\1\143\20\7\6\0\2\7\1\0\1\7\12\0" + "\1\247\33\7\6\0\2\7\1\0\1\7\12\0\13\7" + "\1\300\20\7\6\0\2\7\1\0\1\7\12\0\13\7" - + "\1\143\20\7\6\0\2\7\1\0\1\7\12\0\12\7" + "\1\361\21\7\6\0\2\7\1\0\1\7\12\0\11\7" + "\1\362\5\7\1\363\2\7\1\143\11\7\6\0\2\7" - + "\1\0\1\7\12\0\20\7\1\364\13\7\6\0\2\7" + "\1\0\1\7\12\0\3\7\1\365\30\7\6\0\2\7" + "\1\0\1\366\12\0\34\7\6\0\2\7\1\0\1\7" - + "\12\0\1\7\1\367\32\7\6\0\2\7\1\0\1\7" + "\12\0\21\7\1\143\12\7\6\0\2\7\1\0\1\7" + "\12\0\5\7\1\225\26\7\6\0\2\7\1\0\1\7" - + "\12\0\11\7\1\370\22\7\6\0\2\7\1\0\1\7" + "\12\0\1\7\1\371\32\7\6\0\2\7\1\0\1\7" + "\12\0\10\7\1\372\23\7\6\0\2\7\1\0\1\7" - + "\12\0\15\7\1\276\16\7\6\0\2\7\1\0\1\7" + "\12\0\14\7\1\373\17\7\6\0\2\7\1\0\1\7" + "\12\0\13\7\1\120\20\7\6\0\2\7\1\0\1\7" - + "\12\0\1\7\1\374\32\7\6\0\2\7\1\0\1\7" + "\12\0\15\7\1\143\16\7\6\0\2\7\1\0\1\7" + "\12\0\1\375\33\7\6\0\2\7\1\0\1\7\12\0" - + "\1\376\33\7\6\0\2\7\1\0\1\7\12\0\12\7" + "\1\113\21\7\6\0\2\7\1\0\1\7\12\0\1\7" + "\1\377\32\7\6\0\2\7\1\0\1\7\12\0\4\7" - + "\1\u0100\27\7\6\0\2\7\1\0\1\7\12\0\14\7" + "\1\u0101\17\7\6\0\2\7\1\0\1\7\12\0\4\7" - + "\1\u0102\27\7\6\0\2\7\1\0\1\7\12\0\17\7" + "\1\u0103\14\7\6\0\2\7\1\0\1\7\12\0\3\7" + "\1\225\30\7\6\0\2\7\1\0\1\7\12\0\3\7" + + "\12\0\4\7\1\210\7\7\1\211\17\7\6\0\2\7" + "\1\0\1\7\12\0\2\7\1\143\31\7\6\0\2\7" + + "\1\0\1\7\12\0\3\7\1\143\1\137\27\7\6\0" + "\2\7\1\0\1\7\12\0\2\7\1\143\4\7\1\143" + + "\24\7\6\0\2\7\1\0\1\7\12\0\11\7\1\143" + "\22\7\6\0\2\7\1\0\1\7\12\0\4\7\1\212" + + "\27\7\6\0\2\7\1\0\1\7\12\0\1\7\1\143" + "\25\7\1\213\4\7\6\0\2\7\1\0\1\7\12\0" + + "\3\7\1\214\4\7\1\215\23\7\6\0\2\7\1\0" + "\1\7\12\0\4\7\1\216\27\7\6\0\2\7\1\0" + + "\1\7\12\0\13\7\1\113\20\7\6\0\2\7\1\0" + "\1\7\12\0\12\7\1\217\21\7\6\0\2\7\1\0" + + "\1\7\12\0\10\7\1\220\23\7\6\0\2\7\1\0" + "\1\7\12\0\16\7\1\221\5\7\1\120\7\7\6\0" + + "\2\7\1\0\1\7\12\0\6\7\1\222\11\7\1\223" + "\6\7\1\224\4\7\6\0\2\7\1\0\1\7\12\0" + + "\32\7\1\225\1\7\6\0\2\7\1\0\1\7\12\0" + "\23\7\1\120\10\7\6\0\2\7\1\0\1\7\12\0" + + "\17\7\1\226\14\7\6\0\2\7\1\0\1\7\12\0" + "\1\7\1\227\12\7\1\230\17\7\6\0\2\7\1\0" + + "\1\7\12\0\22\7\1\225\11\7\6\0\2\7\1\0" + "\1\7\12\0\22\7\1\143\11\7\6\0\2\7\1\0" + + "\1\7\12\0\15\7\1\231\16\7\6\0\2\7\1\0" + "\1\7\12\0\1\7\1\232\22\7\1\233\7\7\6\0" + + "\2\7\1\0\1\7\12\0\27\7\1\234\4\7\6\0" + "\2\7\1\0\1\7\12\0\3\7\1\232\11\7\1\235" + + "\16\7\6\0\2\7\1\0\1\7\12\0\4\7\1\143" + "\27\7\6\0\2\7\1\0\1\7\12\0\10\7\1\236" + + "\23\7\6\0\2\7\1\0\1\7\12\0\3\7\1\237" + "\1\143\3\7\1\240\23\7\6\0\2\7\1\0\1\7" + + "\12\0\2\7\1\241\2\7\1\242\26\7\6\0\2\7" + "\1\0\1\7\12\0\10\7\1\243\23\7\6\0\2\7" + + "\1\0\1\7\12\0\15\7\1\143\1\7\1\244\14\7" + "\6\0\2\7\1\0\1\7\12\0\15\7\1\225\16\7" + + "\6\0\2\7\1\0\1\7\12\0\6\7\1\245\25\7" + "\6\0\2\7\1\0\1\7\12\0\1\7\1\246\32\7" + + "\6\0\2\7\1\0\1\7\12\0\13\7\1\247\20\7" + "\6\0\2\7\1\0\1\7\12\0\1\250\33\7\6\0" + + "\2\7\1\0\1\7\12\0\5\7\1\251\26\7\6\0" + "\2\7\1\0\1\7\12\0\3\7\1\252\2\7\1\253" + + "\3\7\1\254\21\7\6\0\2\7\1\0\1\7\12\0" + "\1\7\1\255\32\7\6\0\2\7\1\0\1\7\12\0" + + "\14\7\1\256\17\7\6\0\2\7\1\0\1\7\12\0" + "\1\257\33\7\6\0\2\7\1\0\1\7\12\0\2\7" + + "\1\250\17\7\1\223\11\7\6\0\2\7\1\0\1\7" + "\12\0\1\260\33\7\6\0\2\7\1\0\1\7\12\0" + + "\2\7\1\137\31\7\6\0\2\7\1\0\1\7\12\0" + "\4\7\1\261\27\7\6\0\2\7\1\0\1\7\12\0" + + "\4\7\1\137\27\7\6\0\2\7\1\0\1\7\12\0" + "\6\7\1\262\25\7\6\0\2\7\1\0\1\7\12\0" + + "\4\7\1\263\27\7\6\0\2\7\1\0\1\7\12\0" + "\2\7\1\264\1\7\1\265\1\7\1\137\1\7\1\266" + + "\23\7\6\0\2\7\1\0\1\7\12\0\6\7\1\267" + "\25\7\6\0\2\7\1\0\1\7\12\0\15\7\1\270" + + "\16\7\6\0\2\7\1\0\1\7\12\0\23\7\1\143" + "\10\7\6\0\2\7\1\0\1\7\12\0\2\7\1\143" + + "\3\7\1\50\25\7\6\0\2\7\1\0\1\7\12\0" + "\6\7\1\143\25\7\6\0\2\7\1\0\1\7\12\0" + + "\3\7\1\271\1\7\1\272\26\7\6\0\2\7\1\0" + "\1\7\12\0\4\7\1\273\27\7\6\0\2\7\1\0" + + "\1\7\12\0\4\7\1\225\27\7\6\0\2\7\1\0" + "\1\7\12\0\13\7\1\274\20\7\6\0\2\7\1\0" + + "\1\7\12\0\4\7\1\275\1\7\1\276\25\7\6\0" + "\2\7\1\0\1\7\12\0\4\7\1\277\27\7\6\0" + + "\2\7\1\0\1\7\12\0\1\300\33\7\6\0\2\7" + "\1\0\1\7\12\0\16\7\1\242\15\7\6\0\2\7" + + "\1\0\1\7\12\0\5\7\1\301\26\7\6\0\2\7" + "\1\0\1\7\12\0\5\7\1\302\2\7\1\303\23\7" + + "\6\0\2\7\1\0\1\7\12\0\14\7\1\304\17\7" + "\6\0\2\7\1\0\1\7\12\0\10\7\1\305\23\7" + + "\6\0\2\7\1\0\1\7\12\0\16\7\1\306\15\7" + "\6\0\2\7\1\0\1\7\12\0\13\7\1\307\20\7" + + "\6\0\2\7\1\0\1\7\12\0\13\7\1\310\20\7" + "\6\0\2\7\1\0\1\7\12\0\5\7\1\311\26\7" + + "\6\0\2\7\1\0\1\7\12\0\6\7\1\312\25\7" + "\6\0\2\7\1\0\1\7\12\0\13\7\1\313\20\7" + + "\6\0\2\7\1\0\1\7\12\0\14\7\1\71\17\7" + "\6\0\2\7\1\0\1\7\12\0\14\7\1\155\17\7" + + "\6\0\2\7\1\0\1\7\12\0\7\7\1\143\24\7" + "\7\0\1\206\41\0\2\206\1\0\1\206\11\0\2\7" + + "\1\0\1\7\12\0\5\7\1\314\26\7\6\0\2\7" + "\1\0\1\7\12\0\10\7\1\315\23\7\6\0\2\7" + + "\1\0\1\7\12\0\13\7\1\316\20\7\6\0\2\7" + "\1\0\1\7\12\0\1\317\33\7\6\0\2\7\1\0" + + "\1\7\12\0\1\320\1\321\32\7\6\0\2\7\1\0" + "\1\7\12\0\17\7\1\322\14\7\6\0\2\7\1\0" + + "\1\7\12\0\1\7\1\323\2\7\1\324\27\7\6\0" + "\2\7\1\0\1\7\12\0\1\232\33\7\6\0\2\7" + + "\1\0\1\7\12\0\27\7\1\325\4\7\6\0\2\7" + "\1\0\1\7\12\0\1\326\33\7\6\0\2\7\1\0" + + "\1\7\12\0\14\7\1\327\17\7\6\0\2\7\1\0" + "\1\7\12\0\1\143\33\7\6\0\2\7\1\0\1\7" + + "\12\0\3\7\1\330\30\7\6\0\2\7\1\0\1\7" + "\12\0\6\7\1\331\25\7\6\0\2\7\1\0\1\7" + + "\12\0\15\7\1\213\16\7\6\0\2\7\1\0\1\7" + "\12\0\1\332\33\7\6\0\2\7\1\0\1\7\12\0" + + "\3\7\1\143\30\7\6\0\2\7\1\0\1\7\12\0" + "\1\333\33\7\6\0\2\7\1\0\1\7\12\0\21\7" + + "\1\120\12\7\6\0\2\7\1\0\1\7\12\0\1\334" + "\16\7\1\137\14\7\6\0\2\7\1\0\1\7\12\0" + + "\6\7\1\270\25\7\6\0\2\7\1\0\1\7\12\0" + "\1\335\33\7\6\0\2\7\1\0\1\7\12\0\10\7" + + "\1\336\23\7\6\0\2\7\1\0\1\7\12\0\1\337" + "\33\7\6\0\2\7\1\0\1\7\12\0\14\7\1\340" + + "\17\7\6\0\2\7\1\0\1\7\12\0\4\7\1\341" + "\27\7\6\0\2\7\1\0\1\7\12\0\10\7\1\342" + + "\23\7\6\0\2\7\1\0\1\7\12\0\27\7\1\322" + "\4\7\6\0\2\7\1\0\1\7\12\0\3\7\1\343" + + "\30\7\6\0\2\7\1\0\1\7\12\0\5\7\1\120" + "\26\7\6\0\2\7\1\0\1\7\12\0\1\7\1\317" + + "\32\7\6\0\2\7\1\0\1\7\12\0\5\7\1\344" + "\26\7\6\0\2\7\1\0\1\7\12\0\12\7\1\345" + + "\21\7\6\0\2\7\1\0\1\7\12\0\10\7\1\346" + "\1\347\4\7\1\350\15\7\6\0\2\7\1\0\1\7" + + "\12\0\6\7\1\351\25\7\6\0\2\7\1\0\1\7" + "\12\0\5\7\1\352\26\7\6\0\2\7\1\0\1\7" + + "\12\0\13\7\1\155\17\7\1\353\6\0\2\7\1\0" + "\1\7\12\0\5\7\1\143\26\7\6\0\2\7\1\0" + + "\1\7\12\0\13\7\1\354\20\7\6\0\2\7\1\0" + "\1\7\12\0\1\355\33\7\6\0\2\7\1\0\1\7" + + "\12\0\1\356\33\7\6\0\2\7\1\0\1\7\12\0" + "\14\7\1\357\17\7\6\0\2\7\1\0\1\7\12\0" + + "\1\153\33\7\6\0\2\7\1\0\1\7\12\0\1\360" + "\12\7\1\143\20\7\6\0\2\7\1\0\1\7\12\0" + + "\1\247\33\7\6\0\2\7\1\0\1\7\12\0\13\7" + "\1\300\20\7\6\0\2\7\1\0\1\7\12\0\13\7" + + "\1\143\20\7\6\0\2\7\1\0\1\7\12\0\12\7" + "\1\361\21\7\6\0\2\7\1\0\1\7\12\0\11\7" + + "\1\362\5\7\1\363\2\7\1\143\11\7\6\0\2\7" + "\1\0\1\7\12\0\20\7\1\364\13\7\6\0\2\7" + + "\1\0\1\7\12\0\3\7\1\365\30\7\6\0\2\7" + "\1\0\1\366\12\0\34\7\6\0\2\7\1\0\1\7" + + "\12\0\1\7\1\367\32\7\6\0\2\7\1\0\1\7" + "\12\0\21\7\1\143\12\7\6\0\2\7\1\0\1\7" + + "\12\0\5\7\1\225\26\7\6\0\2\7\1\0\1\7" + "\12\0\11\7\1\370\22\7\6\0\2\7\1\0\1\7" + + "\12\0\1\7\1\371\32\7\6\0\2\7\1\0\1\7" + "\12\0\10\7\1\372\23\7\6\0\2\7\1\0\1\7" + + "\12\0\15\7\1\276\16\7\6\0\2\7\1\0\1\7" + "\12\0\14\7\1\373\17\7\6\0\2\7\1\0\1\7" + + "\12\0\13\7\1\120\20\7\6\0\2\7\1\0\1\7" + "\12\0\1\7\1\374\32\7\6\0\2\7\1\0\1\7" + + "\12\0\15\7\1\143\16\7\6\0\2\7\1\0\1\7" + "\12\0\1\375\33\7\6\0\2\7\1\0\1\7\12\0" + + "\1\376\33\7\6\0\2\7\1\0\1\7\12\0\12\7" + "\1\113\21\7\6\0\2\7\1\0\1\7\12\0\1\7" + + "\1\377\32\7\6\0\2\7\1\0\1\7\12\0\4\7" + "\1\u0100\27\7\6\0\2\7\1\0\1\7\12\0\14\7" + + "\1\u0101\17\7\6\0\2\7\1\0\1\7\12\0\4\7" + "\1\u0102\27\7\6\0\2\7\1\0\1\7\12\0\17\7" + + "\1\u0103\14\7\6\0\2\7\1\0\1\7\12\0\3\7" + "\1\225\30\7\6\0\2\7\1\0\1\7\12\0\3\7" + "\1\u0104\30\7\6\0\2\7\1\0\1\7\12\0\14\7" + "\1\u0105\17\7\6\0\2\7\1\0\1\7\12\0\4\7" + "\1\u0106\12\7\1\363\14\7\6\0\2\7\1\0\1\7" + "\12\0\5\7\1\213\26\7\6\0\2\7\1\0\1\7" + "\12\0\11\7\1\u0107\22\7\6\0\2\7\1\0\1\7" + "\12\0\1\u0108\33\7\6\0\2\7\1\0\1\7\12\0" + "\10\7\1\u0109\23\7\6\0\2\7\1\0\1\7\12\0" + "\10\7\1\u010a\23\7\6\0\2\7\1\0\1\7\12\0" - + "\5\7\1\u010b\26\7\6\0\2\7\1\0\1\7\12\0" + "\5\7\1\u010c\26\7\6\0\2\7\1\0\1\7\12\0" + "\11\7\1\120\22\7\6\0\2\7\1\0\1\7\12\0" - + "\14\7\1\u010d\17\7\6\0\2\7\1\0\1\7\12\0" + "\16\7\1\u010e\15\7\6\0\2\7\1\0\1\7\12\0" - + "\6\7\1\u010f\25\7\6\0\2\7\1\0\1\7\12\0" + "\1\u0110\33\7\6\0\2\7\1\0\1\7\12\0\4\7" + "\1\u0111\27\7\6\0\2\7\1\0\1\7\12\0\3\7" + + "\5\7\1\u010b\26\7\6\0\2\7\1\0\1\7\12\0" + "\5\7\1\u010c\26\7\6\0\2\7\1\0\1\7\12\0" + + "\11\7\1\120\22\7\6\0\2\7\1\0\1\7\12\0" + "\14\7\1\u010d\17\7\6\0\2\7\1\0\1\7\12\0" + + "\16\7\1\u010e\15\7\6\0\2\7\1\0\1\7\12\0" + "\6\7\1\u010f\25\7\6\0\2\7\1\0\1\7\12\0" + + "\1\u0110\33\7\6\0\2\7\1\0\1\7\12\0\4\7" + "\1\u0111\27\7\6\0\2\7\1\0\1\7\12\0\3\7" + "\1\u0112\30\7\6\0\2\7\1\0\1\7\12\0\1\u0113" + "\33\7\6\0\2\7\1\0\1\7\12\0\15\7\1\155" + "\16\7\6\0\2\7\1\0\1\7\12\0\4\7\1\u0114" + "\27\7\6\0\2\7\1\0\1\7\12\0\1\7\1\u0115" + "\32\7\6\0\2\7\1\0\1\7\12\0\1\u0116\33\7" + "\6\0\2\7\1\0\1\7\12\0\4\7\1\u0117\27\7" + "\6\0\2\7\1\0\1\366\12\0\1\7\1\u0118\32\7" + "\6\0\2\7\1\0\1\7\12\0\12\7\1\225\21\7" + "\6\0\2\7\1\0\1\7\12\0\17\7\1\u0119\14\7" + "\6\0\2\7\1\0\1\7\12\0\4\7\1\u011a\27\7" - + "\6\0\2\7\1\0\1\7\12\0\5\7\1\u011b\26\7" + "\6\0\2\7\1\0\1\7\12\0\13\7\1\155\20\7" + "\6\0\2\7\1\0\1\7\12\0\27\7\1\u011c\4\7" - + "\6\0\2\7\1\0\1\7\12\0\1\u011d\33\7\6\0" + "\2\7\1\0\1\7\12\0\21\7\1\u011e\12\7\6\0" - + "\2\7\1\0\1\7\12\0\14\7\1\u011f\17\7\6\0" + "\2\7\1\0\1\7\12\0\1\u0120\33\7\6\0\2\7" - + "\1\0\1\7\12\0\1\u0121\33\7\6\0\2\7\1\0" + "\1\7\12\0\3\7\1\u0122\30\7\6\0\2\7\1\0" + "\1\7\12\0\5\7\1\202\26\7\6\0\2\7\1\0" + + "\6\0\2\7\1\0\1\7\12\0\5\7\1\u011b\26\7" + "\6\0\2\7\1\0\1\7\12\0\13\7\1\155\20\7" + + "\6\0\2\7\1\0\1\7\12\0\27\7\1\u011c\4\7" + "\6\0\2\7\1\0\1\7\12\0\1\u011d\33\7\6\0" + + "\2\7\1\0\1\7\12\0\21\7\1\u011e\12\7\6\0" + "\2\7\1\0\1\7\12\0\14\7\1\u011f\17\7\6\0" + + "\2\7\1\0\1\7\12\0\1\u0120\33\7\6\0\2\7" + "\1\0\1\7\12\0\1\u0121\33\7\6\0\2\7\1\0" + + "\1\7\12\0\3\7\1\u0122\30\7\6\0\2\7\1\0" + "\1\7\12\0\5\7\1\202\26\7\6\0\2\7\1\0" + "\1\7\12\0\1\u0123\33\7\6\0\2\7\1\0\1\7" + "\12\0\15\7\1\u0124\16\7\6\0\2\7\1\0\1\7" + "\12\0\20\7\1\u0125\13\7\6\0\2\7\1\0\1\7" + "\12\0\4\7\1\u0126\27\7\6\0\2\7\1\0\1\7" + "\12\0\4\7\1\u0127\27\7\6\0\2\7\1\0\1\7" + "\12\0\14\7\1\u0128\17\7\6\0\2\7\1\0\1\7" - + "\12\0\5\7\1\u0107\26\7\6\0\2\7\1\0\1\7" + "\12\0\11\7\1\u0129\22\7\6\0\2\7\1\0\1\7" + "\12\0\10\7\1\143\23\7\6\0\2\7\1\0\1\7" - + "\12\0\6\7\1\u012a\25\7\6\0\2\7\1\0\1\7" + "\12\0\14\7\1\126\17\7\6\0\2\7\1\0\1\7" + "\12\0\1\7\1\u012b\32\7\6\0\2\7\1\0\1\7" - + "\12\0\3\7\1\u012c\30\7\6\0\2\7\1\0\1\7" + "\12\0\6\7\1\u012d\25\7\6\0\2\7\1\0\1\7" + "\12\0\1\107\33\7\6\0\2\7\1\0\1\7\12\0" - + "\1\7\1\232\32\7\6\0\2\7\1\0\1\7\12\0" + "\3\7\1\u012e\20\7\1\u012f\7\7\6\0\2\7\1\0" - + "\1\7\12\0\4\7\1\u0130\27\7\6\0\2\7\1\0" + "\1\7\12\0\1\u0131\33\7\6\0\2\7\1\0\1\7" + "\12\0\14\7\1\215\17\7\6\0\2\7\1\0\1\7" - + "\12\0\13\7\1\u0132\20\7\6\0\2\7\1\0\1\7" + "\12\0\27\7\1\143\4\7\6\0\2\7\1\0\1\7" + "\12\0\15\7\1\u0133\16\7\6\0\2\7\1\0\1\7" - + "\12\0\5\7\1\u0134\26\7\6\0\2\7\1\0\1\7" + "\12\0\14\7\1\u0123\17\7\6\0\2\7\1\0\1\7" - + "\12\0\6\7\1\u0135\25\7\6\0\2\7\1\0\1\7" + "\12\0\5\7\1\u0136\26\7\6\0\2\7\1\0\1\7" + "\12\0\4\7\1\u0137\27\7\6\0\2\7\1\0\1\7" - + "\12\0\5\7\1\u0129\26\7\6\0\2\7\1\0\1\7" + "\12\0\11\7\1\145\22\7\6\0\2\7\1\0\1\7" + "\12\0\31\7\1\237\2\7\6\0\2\7\1\0\1\7" - + "\12\0\1\7\1\u0138\32\7\6\0\2\7\1\0\1\7" + "\12\0\1\u0139\33\7\6\0\2\7\1\0\1\7\12\0" + "\1\7\1\257\32\7\6\0\2\7\1\0\1\7\12\0" - + "\6\7\1\276\25\7\6\0\2\7\1\0\1\7\12\0" + "\1\155\33\7\6\0\2\7\1\0\1\7\12\0\1\7" + "\1\155\32\7\6\0\2\7\1\0\1\7\12\0\1\u013a" - + "\33\7\6\0\2\7\1\0\1\7\12\0\6\7\1\120" + "\25\7\6\0\2\7\1\0\1\7\12\0\1\u013b\33\7" + "\6\0\2\7\1\0\1\7\12\0\13\7\1\u013c\20\7" - + "\6\0\2\7\1\0\1\7\12\0\14\7\1\u013d\17\7" + "\6\0\2\7\1\0\1\7\12\0\25\7\2\143\5\7" + "\6\0\2\7\1\0\1\7\12\0\27\7\1\155\4\7" - + "\6\0\2\7\1\0\1\7\12\0\4\7\1\213\27\7" + "\6\0\2\7\1\0\1\7\12\0\11\7\1\u013e\22\7" + "\6\0\2\7\1\0\1\7\12\0\10\7\1\225\23\7" + + "\12\0\5\7\1\u0107\26\7\6\0\2\7\1\0\1\7" + "\12\0\11\7\1\u0129\22\7\6\0\2\7\1\0\1\7" + + "\12\0\10\7\1\143\23\7\6\0\2\7\1\0\1\7" + "\12\0\6\7\1\u012a\25\7\6\0\2\7\1\0\1\7" + + "\12\0\14\7\1\126\17\7\6\0\2\7\1\0\1\7" + "\12\0\1\7\1\u012b\32\7\6\0\2\7\1\0\1\7" + + "\12\0\3\7\1\u012c\30\7\6\0\2\7\1\0\1\7" + "\12\0\6\7\1\u012d\25\7\6\0\2\7\1\0\1\7" + + "\12\0\1\107\33\7\6\0\2\7\1\0\1\7\12\0" + "\1\7\1\232\32\7\6\0\2\7\1\0\1\7\12\0" + + "\3\7\1\u012e\20\7\1\u012f\7\7\6\0\2\7\1\0" + "\1\7\12\0\4\7\1\u0130\27\7\6\0\2\7\1\0" + + "\1\7\12\0\1\u0131\33\7\6\0\2\7\1\0\1\7" + "\12\0\14\7\1\215\17\7\6\0\2\7\1\0\1\7" + + "\12\0\13\7\1\u0132\20\7\6\0\2\7\1\0\1\7" + "\12\0\27\7\1\143\4\7\6\0\2\7\1\0\1\7" + + "\12\0\15\7\1\u0133\16\7\6\0\2\7\1\0\1\7" + "\12\0\5\7\1\u0134\26\7\6\0\2\7\1\0\1\7" + + "\12\0\14\7\1\u0123\17\7\6\0\2\7\1\0\1\7" + "\12\0\6\7\1\u0135\25\7\6\0\2\7\1\0\1\7" + + "\12\0\5\7\1\u0136\26\7\6\0\2\7\1\0\1\7" + "\12\0\4\7\1\u0137\27\7\6\0\2\7\1\0\1\7" + + "\12\0\5\7\1\u0129\26\7\6\0\2\7\1\0\1\7" + "\12\0\11\7\1\145\22\7\6\0\2\7\1\0\1\7" + + "\12\0\31\7\1\237\2\7\6\0\2\7\1\0\1\7" + "\12\0\1\7\1\u0138\32\7\6\0\2\7\1\0\1\7" + + "\12\0\1\u0139\33\7\6\0\2\7\1\0\1\7\12\0" + "\1\7\1\257\32\7\6\0\2\7\1\0\1\7\12\0" + + "\6\7\1\276\25\7\6\0\2\7\1\0\1\7\12\0" + "\1\155\33\7\6\0\2\7\1\0\1\7\12\0\1\7" + + "\1\155\32\7\6\0\2\7\1\0\1\7\12\0\1\u013a" + "\33\7\6\0\2\7\1\0\1\7\12\0\6\7\1\120" + + "\25\7\6\0\2\7\1\0\1\7\12\0\1\u013b\33\7" + "\6\0\2\7\1\0\1\7\12\0\13\7\1\u013c\20\7" + + "\6\0\2\7\1\0\1\7\12\0\14\7\1\u013d\17\7" + "\6\0\2\7\1\0\1\7\12\0\25\7\2\143\5\7" + + "\6\0\2\7\1\0\1\7\12\0\27\7\1\155\4\7" + "\6\0\2\7\1\0\1\7\12\0\4\7\1\213\27\7" + + "\6\0\2\7\1\0\1\7\12\0\11\7\1\u013e\22\7" + "\6\0\2\7\1\0\1\7\12\0\10\7\1\225\23\7" + "\6\0\2\7\1\0\1\7\12\0\13\7\1\u013f\20\7" + "\6\0\2\7\1\0\1\7\12\0\11\7\1\u0140\22\7" + "\6\0\2\7\1\0\1\7\12\0\1\7\1\u0141\32\7" + "\6\0\2\7\1\0\1\7\12\0\13\7\1\u0142\20\7" - + "\6\0\2\7\1\0\1\7\12\0\1\7\1\u0143\32\7" + "\6\0\2\7\1\0\1\7\12\0\6\7\1\u0144\25\7" + "\6\0\2\7\1\0\1\7\12\0\6\7\1\u0133\25\7" - + "\6\0\2\7\1\0\1\u0145\12\0\34\7\6\0\2\7" + "\1\0\1\7\12\0\14\7\1\u0146\17\7\6\0\2\7" - + "\1\0\1\7\12\0\4\7\1\u0147\4\7\1\202\22\7" + "\6\0\2\7\1\0\1\7\12\0\1\7\1\u0112\32\7" - + "\6\0\2\7\1\0\1\7\12\0\1\u0148\33\7\6\0" + "\2\7\1\0\1\7\12\0\11\7\1\u0149\22\7\6\0" - + "\2\7\1\0\1\7\12\0\5\7\1\u014a\26\7\6\0" + "\2\7\1\0\1\7\12\0\6\7\1\u014b\25\7\6\0" + "\2\7\1\0\1\7\12\0\4\7\1\u014c\27\7\6\0" - + "\2\7\1\0\1\7\12\0\5\7\1\71\26\7\6\0" + "\2\7\1\0\1\7\12\0\13\7\1\u014d\20\7\6\0" + "\2\7\1\0\1\7\12\0\5\7\1\u014e\26\7\6\0" - + "\2\7\1\0\1\7\12\0\20\7\1\143\13\7\6\0" + "\2\7\1\0\1\7\12\0\4\7\1\u014f\27\7\6\0" + "\2\7\1\0\1\7\12\0\4\7\1\u0150\27\7\6\0" - + "\2\7\1\0\1\7\12\0\5\7\1\310\26\7\6\0" + "\2\7\1\0\1\7\12\0\15\7\1\113\16\7\6\0" + "\2\7\1\0\1\7\12\0\11\7\1\u0151\22\7\6\0" - + "\2\7\1\0\1\7\12\0\12\7\1\u0152\21\7\6\0" + "\2\7\1\0\1\7\12\0\6\7\1\u0153\25\7\6\0" - + "\2\7\1\0\1\u0154\12\0\34\7\6\0\2\7\1\0" + "\1\7\12\0\6\7\1\u012e\25\7\6\0\2\7\1\0" - + "\1\7\12\0\11\7\1\u0155\22\7\6\0\2\7\1\0" + "\1\7\12\0\25\7\1\143\2\7\1\143\3\7\6\0" - + "\2\7\1\0\1\7\12\0\27\7\1\u0156\4\7\6\0" + "\2\7\1\0\1\7\12\0\1\u0157\33\7\6\0\2\7" + "\1\0\1\7\12\0\6\7\1\213\25\7\6\0\2\7" - + "\1\0\1\7\12\0\1\u0158\33\7\6\0\2\7\1\0" + "\1\7\12\0\5\7\1\u012c\26\7\6\0\2\7\1\0" + "\1\7\12\0\1\213\33\7\6\0\2\7\1\0\1\7" - + "\12\0\1\u0100\33\7\6\0\2\7\1\0\1\7\12\0" + "\10\7\1\223\23\7\6\0\2\7\1\0\1\7\12\0" + "\27\7\1\213\4\7\6\0\2\7\1\0\1\7\12\0" + + "\6\0\2\7\1\0\1\7\12\0\1\7\1\u0143\32\7" + "\6\0\2\7\1\0\1\7\12\0\6\7\1\u0144\25\7" + + "\6\0\2\7\1\0\1\7\12\0\6\7\1\u0133\25\7" + "\6\0\2\7\1\0\1\u0145\12\0\34\7\6\0\2\7" + + "\1\0\1\7\12\0\14\7\1\u0146\17\7\6\0\2\7" + "\1\0\1\7\12\0\4\7\1\u0147\4\7\1\202\22\7" + + "\6\0\2\7\1\0\1\7\12\0\1\7\1\u0112\32\7" + "\6\0\2\7\1\0\1\7\12\0\1\u0148\33\7\6\0" + + "\2\7\1\0\1\7\12\0\11\7\1\u0149\22\7\6\0" + "\2\7\1\0\1\7\12\0\5\7\1\u014a\26\7\6\0" + + "\2\7\1\0\1\7\12\0\6\7\1\u014b\25\7\6\0" + "\2\7\1\0\1\7\12\0\4\7\1\u014c\27\7\6\0" + + "\2\7\1\0\1\7\12\0\5\7\1\71\26\7\6\0" + "\2\7\1\0\1\7\12\0\13\7\1\u014d\20\7\6\0" + + "\2\7\1\0\1\7\12\0\5\7\1\u014e\26\7\6\0" + "\2\7\1\0\1\7\12\0\20\7\1\143\13\7\6\0" + + "\2\7\1\0\1\7\12\0\4\7\1\u014f\27\7\6\0" + "\2\7\1\0\1\7\12\0\4\7\1\u0150\27\7\6\0" + + "\2\7\1\0\1\7\12\0\5\7\1\310\26\7\6\0" + "\2\7\1\0\1\7\12\0\15\7\1\113\16\7\6\0" + + "\2\7\1\0\1\7\12\0\11\7\1\u0151\22\7\6\0" + "\2\7\1\0\1\7\12\0\12\7\1\u0152\21\7\6\0" + + "\2\7\1\0\1\7\12\0\6\7\1\u0153\25\7\6\0" + "\2\7\1\0\1\u0154\12\0\34\7\6\0\2\7\1\0" + + "\1\7\12\0\6\7\1\u012e\25\7\6\0\2\7\1\0" + "\1\7\12\0\11\7\1\u0155\22\7\6\0\2\7\1\0" + + "\1\7\12\0\25\7\1\143\2\7\1\143\3\7\6\0" + "\2\7\1\0\1\7\12\0\27\7\1\u0156\4\7\6\0" + + "\2\7\1\0\1\7\12\0\1\u0157\33\7\6\0\2\7" + "\1\0\1\7\12\0\6\7\1\213\25\7\6\0\2\7" + + "\1\0\1\7\12\0\1\u0158\33\7\6\0\2\7\1\0" + "\1\7\12\0\5\7\1\u012c\26\7\6\0\2\7\1\0" + + "\1\7\12\0\1\213\33\7\6\0\2\7\1\0\1\7" + "\12\0\1\u0100\33\7\6\0\2\7\1\0\1\7\12\0" + + "\10\7\1\223\23\7\6\0\2\7\1\0\1\7\12\0" + "\27\7\1\213\4\7\6\0\2\7\1\0\1\7\12\0" + "\2\7\1\u012e\1\7\1\u0159\5\7\1\u0152\21\7\6\0" + "\2\7\1\0\1\7\12\0\1\u015a\33\7\6\0\2\7" - + "\1\0\1\7\12\0\4\7\1\u015b\27\7\6\0\2\7" + "\1\0\1\7\12\0\5\7\1\u0100\26\7\6\0\2\7" + "\1\0\1\7\12\0\15\7\1\370\16\7\6\0\2\7" - + "\1\0\1\7\12\0\14\7\1\u015c\17\7\6\0\2\7" + "\1\0\1\7\12\0\10\7\1\u0100\23\7\6\0\2\7" - + "\1\0\1\7\12\0\21\7\1\213\12\7\6\0\2\7" + "\1\0\1\7\12\0\15\7\1\u015d\16\7\6\0\2\7" + "\1\0\1\7\12\0\1\u015e\33\7\6\0\2\7\1\0" + + "\1\0\1\7\12\0\4\7\1\u015b\27\7\6\0\2\7" + "\1\0\1\7\12\0\5\7\1\u0100\26\7\6\0\2\7" + + "\1\0\1\7\12\0\15\7\1\370\16\7\6\0\2\7" + "\1\0\1\7\12\0\14\7\1\u015c\17\7\6\0\2\7" + + "\1\0\1\7\12\0\10\7\1\u0100\23\7\6\0\2\7" + "\1\0\1\7\12\0\21\7\1\213\12\7\6\0\2\7" + + "\1\0\1\7\12\0\15\7\1\u015d\16\7\6\0\2\7" + "\1\0\1\7\12\0\1\u015e\33\7\6\0\2\7\1\0" + "\1\7\12\0\10\7\1\u015f\23\7\6\0\2\7\1\0" + "\1\7\12\0\4\7\1\u0160\27\7\6\0\2\7\1\0" - + "\1\7\12\0\1\7\1\u0161\32\7\6\0\2\7\1\0" + "\1\7\12\0\15\7\1\u0162\16\7\6\0\2\7\1\0" + "\1\7\12\0\22\7\1\213\11\7\4\0"; - + + "\1\7\12\0\1\7\1\u0161\32\7\6\0\2\7\1\0" + "\1\7\12\0\15\7\1\u0162\16\7\6\0\2\7\1\0" + + "\1\7\12\0\22\7\1\213\11\7\4\0"; + private static int[] zzUnpackTrans() { int[] result = new int[15936]; 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 */ @@ -327,7 +372,7 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -339,16 +384,16 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\2\11\4\1\1\11\3\1\1\11\31\1\2\11" + "\2\1\1\11\2\1\1\11\2\1\1\11\1\1\1\0" - + "\1\1\1\11\113\1\3\11\1\1\1\0\333\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\2\11\4\1\1\11\3\1\1\11\31\1\2\11" + + "\2\1\1\11\2\1\1\11\2\1\1\11\1\1\1\0" + "\1\1\1\11\113\1\3\11\1\1\1\0\333\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[354]; 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 */ @@ -362,7 +407,7 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -370,8 +415,8 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -381,67 +426,57 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public SQLTokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** - * Overridden to return true so paren matching occurs for - * SQL. + * Overridden to return true so paren matching occurs for SQL. * * @return true always. */ @@ -449,7 +484,7 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { public boolean getCurlyBracesDenoteCodeBlocks(int languageIndex) { return true; } - + /** * {@inheritDoc} */ @@ -457,21 +492,18 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "--", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -480,20 +512,20 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = STRING; - start = text.offset; - break; - case Token.LITERAL_CHAR: - state = CHAR; - start = text.offset; - break; - case Token.COMMENT_MULTILINE: - state = MLC; - start = text.offset; - break; - default: - state = Token.NULL; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = STRING; + start = text.offset; + break; + case Token.LITERAL_CHAR: + state = CHAR; + start = text.offset; + break; + case Token.COMMENT_MULTILINE: + state = MLC; + start = text.offset; + break; + default: + state = Token.NULL; } s = text; try { @@ -505,36 +537,34 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -544,34 +574,31 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public SQLTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public SQLTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -587,7 +614,7 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -597,69 +624,64 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -670,29 +692,27 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -711,8 +731,7 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -752,160 +771,161 @@ public class SQLTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 20: { - addToken(Token.PREPROCESSOR); - } - case 23: - break; - case 2: { - addNullToken(); - return firstToken; - } - case 24: - break; - case 21: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 25: - break; - case 18: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 26: - break; - case 4: { - addToken(Token.WHITESPACE); - } - case 27: - break; - case 14: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 28: - break; - case 9: { - start = zzMarkedPos - 1; - yybegin(CHAR); - } - case 29: - break; - case 7: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 30: - break; - case 19: { - addToken(Token.RESERVED_WORD); - } - case 31: - break; - case 6: { - addToken(Token.SEPARATOR); - } - case 32: - break; - case 15: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_CHAR); - } - case 33: - break; - case 1: { - addToken(Token.IDENTIFIER); - } - case 34: - break; - case 22: { - addToken(Token.FUNCTION); - } - case 35: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 36: - break; - case 17: { - addToken(Token.COMMENT_EOL); - } - case 37: - break; - case 8: { - start = zzMarkedPos - 1; - yybegin(STRING); - } - case 38: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 39: - break; - case 5: { - addToken(Token.OPERATOR); - } - case 40: - break; - case 13: { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 41: - break; - case 10: { - addToken(Token.ERROR_IDENTIFIER); - addNullToken(); - return firstToken; - } - case 42: - break; - case 11: {} - case 43: - break; - case 16: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 44: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case STRING: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 355: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 356: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 357: - break; - case CHAR: { - addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); - return firstToken; - } - case 358: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 20: { + addToken(Token.PREPROCESSOR); + } + case 23: + break; + case 2: { + addNullToken(); + return firstToken; + } + case 24: + break; + case 21: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 25: + break; + case 18: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 26: + break; + case 4: { + addToken(Token.WHITESPACE); + } + case 27: + break; + case 14: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 28: + break; + case 9: { + start = zzMarkedPos - 1; + yybegin(CHAR); + } + case 29: + break; + case 7: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 30: + break; + case 19: { + addToken(Token.RESERVED_WORD); + } + case 31: + break; + case 6: { + addToken(Token.SEPARATOR); + } + case 32: + break; + case 15: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_CHAR); + } + case 33: + break; + case 1: { + addToken(Token.IDENTIFIER); + } + case 34: + break; + case 22: { + addToken(Token.FUNCTION); + } + case 35: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 36: + break; + case 17: { + addToken(Token.COMMENT_EOL); + } + case 37: + break; + case 8: { + start = zzMarkedPos - 1; + yybegin(STRING); + } + case 38: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 39: + break; + case 5: { + addToken(Token.OPERATOR); + } + case 40: + break; + case 13: { + yybegin(YYINITIAL); + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 41: + break; + case 10: { + addToken(Token.ERROR_IDENTIFIER); + addNullToken(); + return firstToken; + } + case 42: + break; + case 11: { + } + case 43: + break; + case 16: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 44: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case STRING: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; } + case 355: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 356: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 357: + break; + case CHAR: { + addToken(start, zzStartRead - 1, Token.LITERAL_CHAR); + return firstToken; + } + case 358: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/ScalaTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/ScalaTokenMaker.java index 11a72fa..f33479b 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/ScalaTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/ScalaTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated ScalaTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -82,18 +81,19 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\1\0\1\1\2\0\2\2\1\3\1\4\2\2\1\3" + "\3\2\1\5\1\6\1\7\2\2\1\10\15\2\1\1" - + "\1\11\1\12\2\1\1\13\5\1\1\14\3\1\1\2" + "\1\3\1\0\2\15\3\2\1\0\3\2\1\16\1\17" + "\1\5\2\7\1\20\1\7\1\21\1\22\26\2\1\11" - + "\1\0\1\23\10\0\1\2\1\15\1\0\4\2\1\24" + "\1\2\1\20\1\25\1\26\11\2\1\16\12\2\1\27" + "\10\0\21\2\2\0\1\30\2\0\1\31\4\2\1\16" - + "\6\2\4\0\3\2"; - + private static final String ZZ_ACTION_PACKED_0 = "\1\0\1\1\2\0\2\2\1\3\1\4\2\2\1\3" + + "\3\2\1\5\1\6\1\7\2\2\1\10\15\2\1\1" + "\1\11\1\12\2\1\1\13\5\1\1\14\3\1\1\2" + + "\1\3\1\0\2\15\3\2\1\0\3\2\1\16\1\17" + "\1\5\2\7\1\20\1\7\1\21\1\22\26\2\1\11" + + "\1\0\1\23\10\0\1\2\1\15\1\0\4\2\1\24" + "\1\2\1\20\1\25\1\26\11\2\1\16\12\2\1\27" + + "\10\0\21\2\2\0\1\30\2\0\1\31\4\2\1\16" + "\6\2\4\0\3\2"; + private static int[] zzUnpackAction() { int[] result = new int[184]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -107,7 +107,7 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -135,14 +135,14 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { + "\0\u1bbc\0\u1bee\0\u1c20\0\u1c52\0\u1c84\0\u1cb6\0\u1ce8\0\u1d1a" + "\0\u1d4c\0\u1d7e\0\u1db0\0\u1de2\0\u1e14\0\u1e46\0\u1e78\0\u1eaa" + "\0\u1edc\0\u1f0e\0\u1c20\0\u1f40\0\u1cb6\0\u1f72\0\u1fa4\0\u1fd6"; - + private static int[] zzUnpackRowMap() { int[] result = new int[184]; 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 */ @@ -153,95 +153,124 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\5\2\6\1\7\1\10\2\6\1\11\1\6\1\12" + "\1\13\2\6\1\14\1\5\1\6\1\15\1\16\1\17" - + "\1\5\1\20\1\21\1\22\1\23\1\5\1\24\1\10" + "\1\5\1\6\1\25\1\26\1\27\1\30\1\31\1\5" + "\1\32\1\33\1\6\1\34\1\35\1\36\1\37\1\6" + private static final String ZZ_TRANS_PACKED_0 = "\1\5\2\6\1\7\1\10\2\6\1\11\1\6\1\12" + + "\1\13\2\6\1\14\1\5\1\6\1\15\1\16\1\17" + "\1\5\1\20\1\21\1\22\1\23\1\5\1\24\1\10" + + "\1\5\1\6\1\25\1\26\1\27\1\30\1\31\1\5" + "\1\32\1\33\1\6\1\34\1\35\1\36\1\37\1\6" + "\1\40\3\6\1\41\2\6\23\42\1\43\1\44\1\45" + "\34\42\24\46\1\47\3\46\1\50\3\46\1\51\3\46" + "\1\52\2\46\1\53\16\46\24\54\1\55\7\54\1\56" + "\3\54\1\57\2\54\1\60\16\54\63\0\3\6\1\0" - + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\17\6" + "\3\0\1\7\2\0\2\62\2\0\1\7\1\0\2\63" + "\1\0\2\64\1\65\16\0\1\64\22\0\3\6\1\0" - + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\1\6" + "\1\66\15\6\1\0\3\6\1\0\1\61\1\6\1\67" + "\6\6\1\0\2\6\13\0\6\6\1\0\1\6\1\70" - + "\15\6\3\0\1\7\2\0\2\62\2\0\1\7\1\71" + "\2\63\1\0\2\64\1\65\16\0\1\64\22\0\3\6" + "\1\0\1\61\1\6\1\72\3\6\1\73\2\6\1\0" - + "\2\6\13\0\6\6\1\0\17\6\1\0\3\6\1\0" + "\1\61\7\6\1\74\1\0\2\6\13\0\6\6\1\0" + "\4\6\1\75\12\6\3\0\1\65\6\0\1\65\47\0" + + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\17\6" + "\3\0\1\7\2\0\2\62\2\0\1\7\1\0\2\63" + + "\1\0\2\64\1\65\16\0\1\64\22\0\3\6\1\0" + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\1\6" + + "\1\66\15\6\1\0\3\6\1\0\1\61\1\6\1\67" + "\6\6\1\0\2\6\13\0\6\6\1\0\1\6\1\70" + + "\15\6\3\0\1\7\2\0\2\62\2\0\1\7\1\71" + "\2\63\1\0\2\64\1\65\16\0\1\64\22\0\3\6" + + "\1\0\1\61\1\6\1\72\3\6\1\73\2\6\1\0" + "\2\6\13\0\6\6\1\0\17\6\1\0\3\6\1\0" + + "\1\61\7\6\1\74\1\0\2\6\13\0\6\6\1\0" + "\4\6\1\75\12\6\3\0\1\65\6\0\1\65\47\0" + "\22\17\1\76\1\77\36\17\23\100\1\101\1\100\1\102" + "\34\100\26\103\1\0\33\103\27\0\1\104\1\105\62\0" - + "\1\24\31\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\1\106\5\6\1\0\3\6\1\107\2\6\1\110" + "\10\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" - + "\13\0\6\6\1\0\1\6\1\111\1\6\1\112\13\6" + "\1\0\3\6\1\0\1\61\7\6\1\113\1\0\2\6" + "\13\0\6\6\1\0\12\6\1\114\4\6\1\0\3\6" - + "\1\0\1\61\10\6\1\0\2\6\13\0\5\6\1\115" + "\1\0\1\6\1\116\2\6\1\117\12\6\1\0\3\6" + "\1\0\1\61\10\6\1\0\2\6\13\0\4\6\1\75" - + "\1\6\1\0\10\6\1\120\6\6\1\0\3\6\1\0" + "\1\61\10\6\1\0\2\6\13\0\1\121\4\6\1\122" + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" - + "\2\6\13\0\6\6\1\0\2\6\1\123\14\6\1\0" + "\3\6\1\0\1\61\7\6\1\124\1\0\2\6\13\0" + "\6\6\1\0\17\6\1\0\3\6\1\0\1\61\10\6" - + "\1\0\2\6\13\0\6\6\1\0\2\6\1\125\11\6" + "\1\126\2\6\1\0\3\6\1\0\1\61\7\6\1\127" + "\1\0\2\6\13\0\6\6\1\0\12\6\1\130\4\6" - + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\5\6\1\131\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\6\6\1\0\1\6\1\132" - + "\15\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\6\6\1\0\1\6\1\133\15\6\23\42\3\0" - + "\34\42\24\134\1\0\35\134\25\0\1\135\34\0\24\46" + "\1\0\3\46\1\0\3\46\1\0\3\46\1\0\2\46" - + "\1\0\16\46\27\0\1\136\67\0\1\137\61\0\1\140" + "\3\0\1\141\63\0\1\142\16\0\24\54\1\0\7\54" - + "\1\0\3\54\1\0\2\54\1\0\16\54\35\0\1\143" + "\61\0\1\144\3\0\1\145\63\0\1\146\16\0\1\147" - + "\3\6\1\0\1\61\10\6\1\147\2\6\1\0\7\147" + "\1\0\2\147\6\6\1\147\17\6\3\0\1\150\6\0" - + "\1\150\3\0\1\151\46\0\1\65\6\0\1\65\1\0" + "\2\63\1\0\2\64\17\0\1\64\22\0\3\6\1\0" + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\11\6" - + "\1\152\5\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\6\6\1\0\1\6\1\153\15\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\1\6" - + "\1\154\1\6\1\155\2\6\1\0\17\6\3\0\1\156" + "\4\0\3\156\1\0\2\156\1\0\2\156\17\0\1\156" - + "\3\0\2\156\15\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\3\6\1\155\2\6\1\0\17\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\1\6" + + "\1\24\31\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\1\106\5\6\1\0\3\6\1\107\2\6\1\110" + + "\10\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\6\6\1\0\1\6\1\111\1\6\1\112\13\6" + + "\1\0\3\6\1\0\1\61\7\6\1\113\1\0\2\6" + "\13\0\6\6\1\0\12\6\1\114\4\6\1\0\3\6" + + "\1\0\1\61\10\6\1\0\2\6\13\0\5\6\1\115" + "\1\0\1\6\1\116\2\6\1\117\12\6\1\0\3\6" + + "\1\0\1\61\10\6\1\0\2\6\13\0\4\6\1\75" + "\1\6\1\0\10\6\1\120\6\6\1\0\3\6\1\0" + + "\1\61\10\6\1\0\2\6\13\0\1\121\4\6\1\122" + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + + "\2\6\13\0\6\6\1\0\2\6\1\123\14\6\1\0" + "\3\6\1\0\1\61\7\6\1\124\1\0\2\6\13\0" + + "\6\6\1\0\17\6\1\0\3\6\1\0\1\61\10\6" + "\1\0\2\6\13\0\6\6\1\0\2\6\1\125\11\6" + + "\1\126\2\6\1\0\3\6\1\0\1\61\7\6\1\127" + "\1\0\2\6\13\0\6\6\1\0\12\6\1\130\4\6" + + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\5\6\1\131\1\0\17\6\1\0\3\6\1\0\1\61" + + "\10\6\1\0\2\6\13\0\6\6\1\0\1\6\1\132" + "\15\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + + "\13\0\6\6\1\0\1\6\1\133\15\6\23\42\3\0" + "\34\42\24\134\1\0\35\134\25\0\1\135\34\0\24\46" + + "\1\0\3\46\1\0\3\46\1\0\3\46\1\0\2\46" + "\1\0\16\46\27\0\1\136\67\0\1\137\61\0\1\140" + + "\3\0\1\141\63\0\1\142\16\0\24\54\1\0\7\54" + "\1\0\3\54\1\0\2\54\1\0\16\54\35\0\1\143" + + "\61\0\1\144\3\0\1\145\63\0\1\146\16\0\1\147" + "\3\6\1\0\1\61\10\6\1\147\2\6\1\0\7\147" + + "\1\0\2\147\6\6\1\147\17\6\3\0\1\150\6\0" + "\1\150\3\0\1\151\46\0\1\65\6\0\1\65\1\0" + + "\2\63\1\0\2\64\17\0\1\64\22\0\3\6\1\0" + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\11\6" + + "\1\152\5\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\6\6\1\0\1\6\1\153\15\6\1\0" + + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\1\6" + "\1\154\1\6\1\155\2\6\1\0\17\6\3\0\1\156" + + "\4\0\3\156\1\0\2\156\1\0\2\156\17\0\1\156" + "\3\0\2\156\15\0\3\6\1\0\1\61\10\6\1\0" + + "\2\6\13\0\3\6\1\155\2\6\1\0\17\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\1\6" + "\1\157\4\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\4\6\1\75\1\6\1\0" + "\17\6\24\17\1\0\35\17\23\100\1\101\1\100\1\160" + "\60\100\1\0\35\100\25\0\1\161\34\0\26\103\1\162" - + "\33\103\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\5\6\1\163\1\0\3\6\1\164\13\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\6\6" - + "\1\0\1\6\1\165\4\6\1\75\3\6\1\155\4\6" + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\2\6\1\155\3\6\1\0\17\6\1\0\3\6\1\0" - + "\1\61\3\6\1\166\4\6\1\0\2\6\13\0\6\6" + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\5\6\1\167\1\0\4\6\1\170\12\6" - + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\6\6\1\0\1\6\1\171\15\6\1\0\3\6\1\0" + "\1\61\10\6\1\0\2\6\13\0\2\6\1\172\3\6" - + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\6\6\1\0\5\6\1\173\11\6\1\0" + "\3\6\1\0\1\61\1\6\1\72\6\6\1\0\2\6" - + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\6\6\1\0\3\6\1\174" + "\13\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" - + "\13\0\2\6\1\175\3\6\1\0\17\6\1\0\3\6" + "\1\0\1\61\10\6\1\0\2\6\13\0\5\6\1\176" + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" - + "\2\6\13\0\1\6\1\177\4\6\1\0\17\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\3\6" + "\1\200\2\6\1\0\17\6\1\0\1\6\1\201\1\6" - + "\1\0\1\61\10\6\1\0\2\6\13\0\1\6\1\202" + "\4\6\1\0\17\6\1\0\3\6\1\0\1\61\10\6" + "\1\0\2\6\13\0\6\6\1\0\13\6\1\203\3\6" - + "\1\0\3\6\1\0\1\61\7\6\1\204\1\0\2\6" + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\6\6\1\0\1\75\16\6" - + "\1\0\3\6\1\0\1\61\1\6\1\205\6\6\1\0" + "\2\6\13\0\6\6\1\0\17\6\1\0\3\6\1\0" + "\1\61\7\6\1\206\1\0\2\6\13\0\6\6\1\0" - + "\17\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\1\6\1\154\4\6\1\0\17\6\1\0\3\6" + "\1\0\1\61\1\6\1\75\6\6\1\0\2\6\13\0" + + "\33\103\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\5\6\1\163\1\0\3\6\1\164\13\6\1\0" + + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\6\6" + "\1\0\1\6\1\165\4\6\1\75\3\6\1\155\4\6" + + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\2\6\1\155\3\6\1\0\17\6\1\0\3\6\1\0" + + "\1\61\3\6\1\166\4\6\1\0\2\6\13\0\6\6" + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + + "\2\6\13\0\5\6\1\167\1\0\4\6\1\170\12\6" + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + + "\6\6\1\0\1\6\1\171\15\6\1\0\3\6\1\0" + "\1\61\10\6\1\0\2\6\13\0\2\6\1\172\3\6" + + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\6\6\1\0\5\6\1\173\11\6\1\0" + + "\3\6\1\0\1\61\1\6\1\72\6\6\1\0\2\6" + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + + "\10\6\1\0\2\6\13\0\6\6\1\0\3\6\1\174" + "\13\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + + "\13\0\2\6\1\175\3\6\1\0\17\6\1\0\3\6" + "\1\0\1\61\10\6\1\0\2\6\13\0\5\6\1\176" + + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\1\6\1\177\4\6\1\0\17\6\1\0" + + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\3\6" + "\1\200\2\6\1\0\17\6\1\0\1\6\1\201\1\6" + + "\1\0\1\61\10\6\1\0\2\6\13\0\1\6\1\202" + "\4\6\1\0\17\6\1\0\3\6\1\0\1\61\10\6" + + "\1\0\2\6\13\0\6\6\1\0\13\6\1\203\3\6" + "\1\0\3\6\1\0\1\61\7\6\1\204\1\0\2\6" + + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\6\6\1\0\1\75\16\6" + + "\1\0\3\6\1\0\1\61\1\6\1\205\6\6\1\0" + "\2\6\13\0\6\6\1\0\17\6\1\0\3\6\1\0" + + "\1\61\7\6\1\206\1\0\2\6\13\0\6\6\1\0" + "\17\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + + "\13\0\1\6\1\154\4\6\1\0\17\6\1\0\3\6" + "\1\0\1\61\1\6\1\75\6\6\1\0\2\6\13\0" + "\6\6\1\0\3\6\1\75\13\6\25\0\1\207\71\0" + "\1\210\62\0\1\211\32\0\1\212\115\0\1\213\53\0" + "\1\214\62\0\1\215\32\0\1\216\115\0\1\217\16\0" + "\1\147\15\0\1\147\3\0\7\147\1\0\2\147\6\0" + "\1\147\22\0\1\150\6\0\1\150\4\0\2\64\17\0" + "\1\64\24\0\1\150\6\0\1\150\50\0\3\6\1\0" - + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\6\6" + "\1\75\10\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\3\6\1\163\2\6\1\0\17\6\1\0" - + "\3\6\1\0\1\61\3\6\1\177\4\6\1\0\2\6" + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\7\6\1\75\1\0\2\6\13\0\6\6\1\0\17\6" - + "\1\0\3\6\1\0\1\61\7\6\1\220\1\0\2\6" + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\3\6\1\75\2\6\1\0" - + "\17\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\6\6\1\0\4\6\1\127\12\6\1\0\3\6" + "\1\0\1\61\10\6\1\0\2\6\13\0\5\6\1\221" - + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\6\6\1\0\15\6\1\222\1\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\6\6" - + "\1\0\14\6\1\223\2\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\1\6\1\224\4\6\1\0" + "\17\6\1\0\3\6\1\0\1\61\1\6\1\225\6\6" - + "\1\0\2\6\13\0\6\6\1\0\17\6\1\0\3\6" + "\1\0\1\61\7\6\1\226\1\0\2\6\13\0\6\6" + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" - + "\2\6\13\0\6\6\1\0\1\6\1\227\15\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\6\6" + "\1\0\7\6\1\230\7\6\1\0\3\6\1\0\1\61" - + "\1\6\1\231\6\6\1\0\2\6\13\0\6\6\1\0" + "\4\6\1\232\12\6\1\0\3\6\1\0\1\61\1\6" + "\1\155\6\6\1\0\2\6\13\0\6\6\1\0\17\6" - + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\1\75\5\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\1\6\1\233\4\6\1\0" - + "\17\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\6\6\1\0\12\6\1\234\4\6\1\0\3\6" + "\1\0\1\61\10\6\1\0\2\6\13\0\6\6\1\0" - + "\12\6\1\235\4\6\1\0\3\6\1\0\1\61\7\6" + "\1\236\1\0\2\6\13\0\6\6\1\0\17\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\6\6" - + "\1\0\3\6\1\237\13\6\1\0\3\6\1\0\1\61" + "\1\6\1\75\6\6\1\0\2\6\13\0\6\6\1\0" + "\17\6\1\0\3\6\1\0\1\61\1\6\1\240\6\6" - + "\1\0\2\6\13\0\6\6\1\0\17\6\36\0\1\241" + "\65\0\1\242\34\0\1\211\65\0\1\243\76\0\1\244" - + "\65\0\1\245\34\0\1\215\65\0\1\246\41\0\3\6" + "\1\0\1\61\10\6\1\0\2\6\13\0\6\6\1\0" + "\5\6\1\247\11\6\1\0\3\6\1\0\1\61\10\6" - + "\1\0\2\6\13\0\1\6\1\75\4\6\1\0\17\6" + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\6\6\1\0\1\6\1\250\15\6\1\0\3\6\1\0" - + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\1\6" + "\1\251\15\6\1\0\3\6\1\0\1\61\7\6\1\252" + "\1\0\2\6\13\0\6\6\1\0\17\6\1\0\3\6" - + "\1\0\1\61\7\6\1\240\1\0\2\6\13\0\6\6" + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\6\6\1\0\3\6\1\75\13\6\1\0" - + "\3\6\1\0\1\61\1\6\1\253\6\6\1\0\2\6" + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\6\6\1\0\4\6\1\254" - + "\12\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\5\6\1\255\1\0\17\6\1\0\3\6\1\0" + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\3\6" - + "\1\221\13\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\6\6\1\0\3\6\1\256\13\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\5\6" - + "\1\257\1\0\17\6\1\0\3\6\1\0\1\61\10\6" + "\1\0\2\6\13\0\6\6\1\0\3\6\1\260\13\6" + "\1\0\3\6\1\0\1\61\3\6\1\221\4\6\1\0" - + "\2\6\13\0\6\6\1\0\17\6\1\0\3\6\1\0" + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\3\6" + "\1\261\13\6\1\0\3\6\1\0\1\61\10\6\1\0" + + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\6\6" + "\1\75\10\6\1\0\3\6\1\0\1\61\10\6\1\0" + + "\2\6\13\0\3\6\1\163\2\6\1\0\17\6\1\0" + "\3\6\1\0\1\61\3\6\1\177\4\6\1\0\2\6" + + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\7\6\1\75\1\0\2\6\13\0\6\6\1\0\17\6" + + "\1\0\3\6\1\0\1\61\7\6\1\220\1\0\2\6" + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + + "\10\6\1\0\2\6\13\0\3\6\1\75\2\6\1\0" + "\17\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + + "\13\0\6\6\1\0\4\6\1\127\12\6\1\0\3\6" + "\1\0\1\61\10\6\1\0\2\6\13\0\5\6\1\221" + + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\6\6\1\0\15\6\1\222\1\6\1\0" + + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\6\6" + "\1\0\14\6\1\223\2\6\1\0\3\6\1\0\1\61" + + "\10\6\1\0\2\6\13\0\1\6\1\224\4\6\1\0" + "\17\6\1\0\3\6\1\0\1\61\1\6\1\225\6\6" + + "\1\0\2\6\13\0\6\6\1\0\17\6\1\0\3\6" + "\1\0\1\61\7\6\1\226\1\0\2\6\13\0\6\6" + + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\2\6\13\0\6\6\1\0\1\6\1\227\15\6\1\0" + + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\6\6" + "\1\0\7\6\1\230\7\6\1\0\3\6\1\0\1\61" + + "\1\6\1\231\6\6\1\0\2\6\13\0\6\6\1\0" + "\4\6\1\232\12\6\1\0\3\6\1\0\1\61\1\6" + + "\1\155\6\6\1\0\2\6\13\0\6\6\1\0\17\6" + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + + "\1\75\5\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\1\6\1\233\4\6\1\0" + + "\17\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\6\6\1\0\12\6\1\234\4\6\1\0\3\6" + + "\1\0\1\61\10\6\1\0\2\6\13\0\6\6\1\0" + "\12\6\1\235\4\6\1\0\3\6\1\0\1\61\7\6" + + "\1\236\1\0\2\6\13\0\6\6\1\0\17\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\6\6" + + "\1\0\3\6\1\237\13\6\1\0\3\6\1\0\1\61" + "\1\6\1\75\6\6\1\0\2\6\13\0\6\6\1\0" + + "\17\6\1\0\3\6\1\0\1\61\1\6\1\240\6\6" + "\1\0\2\6\13\0\6\6\1\0\17\6\36\0\1\241" + + "\65\0\1\242\34\0\1\211\65\0\1\243\76\0\1\244" + "\65\0\1\245\34\0\1\215\65\0\1\246\41\0\3\6" + + "\1\0\1\61\10\6\1\0\2\6\13\0\6\6\1\0" + "\5\6\1\247\11\6\1\0\3\6\1\0\1\61\10\6" + + "\1\0\2\6\13\0\1\6\1\75\4\6\1\0\17\6" + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + + "\6\6\1\0\1\6\1\250\15\6\1\0\3\6\1\0" + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\1\6" + + "\1\251\15\6\1\0\3\6\1\0\1\61\7\6\1\252" + "\1\0\2\6\13\0\6\6\1\0\17\6\1\0\3\6" + + "\1\0\1\61\7\6\1\240\1\0\2\6\13\0\6\6" + "\1\0\17\6\1\0\3\6\1\0\1\61\10\6\1\0" + + "\2\6\13\0\6\6\1\0\3\6\1\75\13\6\1\0" + "\3\6\1\0\1\61\1\6\1\253\6\6\1\0\2\6" + + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\6\6\1\0\4\6\1\254" + + "\12\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + "\13\0\5\6\1\255\1\0\17\6\1\0\3\6\1\0" + + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\3\6" + "\1\221\13\6\1\0\3\6\1\0\1\61\10\6\1\0" + + "\2\6\13\0\6\6\1\0\3\6\1\256\13\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\5\6" + + "\1\257\1\0\17\6\1\0\3\6\1\0\1\61\10\6" + "\1\0\2\6\13\0\6\6\1\0\3\6\1\260\13\6" + + "\1\0\3\6\1\0\1\61\3\6\1\221\4\6\1\0" + "\2\6\13\0\6\6\1\0\17\6\1\0\3\6\1\0" + + "\1\61\10\6\1\0\2\6\13\0\6\6\1\0\3\6" + "\1\261\13\6\1\0\3\6\1\0\1\61\10\6\1\0" + "\1\6\1\75\13\0\6\6\1\0\17\6\37\0\1\211" + "\2\0\1\242\46\0\1\262\33\0\3\243\1\263\11\243" + "\1\263\2\243\2\263\4\0\1\243\1\263\2\0\1\263" + "\6\243\1\263\17\243\37\0\1\215\2\0\1\245\46\0" + "\1\264\33\0\3\246\1\265\11\246\1\265\2\246\2\265" + "\4\0\1\246\1\265\2\0\1\265\6\246\1\265\17\246" - + "\1\0\3\6\1\0\1\61\10\6\1\0\1\6\1\163" + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + "\10\6\1\0\2\6\13\0\6\6\1\0\16\6\1\155" - + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\1\6\1\155\4\6\1\0\17\6\1\0\3\6\1\0" + "\1\61\3\6\1\266\4\6\1\0\2\6\13\0\6\6" - + "\1\0\17\6\1\0\3\6\1\0\1\61\1\6\1\152" + "\6\6\1\0\2\6\13\0\6\6\1\0\17\6\1\0" + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\6\6" - + "\1\0\10\6\1\155\6\6\1\0\3\6\1\0\1\61" + "\3\6\1\165\4\6\1\0\2\6\13\0\6\6\1\0" + "\17\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" - + "\13\0\6\6\1\0\1\6\1\236\15\6\1\0\3\6" + "\1\0\1\61\10\6\1\0\2\6\13\0\6\6\1\0" + "\3\6\1\267\13\6\1\0\3\6\1\0\1\61\10\6" - + "\1\0\2\6\13\0\6\6\1\0\5\6\1\75\11\6" + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\5\6\1\270\1\0\17\6\27\0\1\243\61\0\1\246" - + "\33\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\1\6\1\225\4\6\1\0\17\6\1\0\3\6\1\0" + "\1\61\7\6\1\163\1\0\2\6\13\0\6\6\1\0" - + "\17\6\1\0\3\6\1\0\1\61\10\6\1\0\1\6" + "\1\155\13\0\6\6\1\0\17\6"; - + + "\1\0\3\6\1\0\1\61\10\6\1\0\1\6\1\163" + "\13\0\6\6\1\0\17\6\1\0\3\6\1\0\1\61" + + "\10\6\1\0\2\6\13\0\6\6\1\0\16\6\1\155" + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + + "\1\6\1\155\4\6\1\0\17\6\1\0\3\6\1\0" + "\1\61\3\6\1\266\4\6\1\0\2\6\13\0\6\6" + + "\1\0\17\6\1\0\3\6\1\0\1\61\1\6\1\152" + "\6\6\1\0\2\6\13\0\6\6\1\0\17\6\1\0" + + "\3\6\1\0\1\61\10\6\1\0\2\6\13\0\6\6" + "\1\0\10\6\1\155\6\6\1\0\3\6\1\0\1\61" + + "\3\6\1\165\4\6\1\0\2\6\13\0\6\6\1\0" + "\17\6\1\0\3\6\1\0\1\61\10\6\1\0\2\6" + + "\13\0\6\6\1\0\1\6\1\236\15\6\1\0\3\6" + "\1\0\1\61\10\6\1\0\2\6\13\0\6\6\1\0" + + "\3\6\1\267\13\6\1\0\3\6\1\0\1\61\10\6" + "\1\0\2\6\13\0\6\6\1\0\5\6\1\75\11\6" + + "\1\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\5\6\1\270\1\0\17\6\27\0\1\243\61\0\1\246" + + "\33\0\3\6\1\0\1\61\10\6\1\0\2\6\13\0" + "\1\6\1\225\4\6\1\0\17\6\1\0\3\6\1\0" + + "\1\61\7\6\1\163\1\0\2\6\13\0\6\6\1\0" + "\17\6\1\0\3\6\1\0\1\61\10\6\1\0\1\6" + + "\1\155\13\0\6\6\1\0\17\6"; + private static int[] zzUnpackTrans() { int[] result = new int[8200]; 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 */ @@ -256,7 +285,7 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -268,17 +297,17 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\0\1\1\2\0\1\11\2\1\1\11\7\1\1\11" + "\23\1\1\11\2\1\1\11\5\1\1\11\4\1\1\11" - + "\1\0\1\11\4\1\1\0\4\1\1\11\5\1\2\11" + "\26\1\1\11\1\0\1\11\10\0\2\1\1\0\6\1" + "\3\11\24\1\1\11\10\0\21\1\2\0\1\1\2\0" - + "\14\1\4\0\3\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\0\1\1\2\0\1\11\2\1\1\11\7\1\1\11" + + "\23\1\1\11\2\1\1\11\5\1\1\11\4\1\1\11" + "\1\0\1\11\4\1\1\0\4\1\1\11\5\1\2\11" + + "\26\1\1\11\1\0\1\11\10\0\2\1\1\0\6\1" + "\3\11\24\1\1\11\10\0\21\1\2\0\1\1\2\0" + "\14\1\4\0\3\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[184]; 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 */ @@ -292,7 +321,7 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -300,8 +329,8 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -311,77 +340,67 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public ScalaTokenMaker() {} - + public ScalaTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addHyperlinkToken(int, int, int) */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -389,21 +408,18 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -412,14 +428,14 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case Token.LITERAL_STRING_DOUBLE_QUOTE: - state = MULTILINE_STRING_DOUBLE; - break; - case Token.COMMENT_MULTILINE: - state = MLC; - break; - default: - state = YYINITIAL; + case Token.LITERAL_STRING_DOUBLE_QUOTE: + state = MULTILINE_STRING_DOUBLE; + break; + case Token.COMMENT_MULTILINE: + state = MLC; + break; + default: + state = YYINITIAL; } s = text; start = text.offset; @@ -432,36 +448,34 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -471,34 +485,31 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public ScalaTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public ScalaTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -514,7 +525,7 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -524,69 +535,64 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -597,29 +603,27 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -638,8 +642,7 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -679,183 +682,184 @@ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 6: { - addNullToken(); - return firstToken; - } - case 26: - break; - case 15: { - addToken(Token.LITERAL_CHAR); - } - case 27: - break; - case 21: { - start = zzMarkedPos - 3; - yybegin(MULTILINE_STRING_DOUBLE); - } - case 28: - break; - case 19: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); - } - case 29: - break; - case 18: { - start = zzMarkedPos - 2; - yybegin(MLC); - } - case 30: - break; - case 8: { - addToken(Token.WHITESPACE); - } - case 31: - break; - case 20: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 32: - break; - case 13: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 33: - break; - case 14: { - addToken(Token.RESERVED_WORD); - } - case 34: - break; - case 4: { - addToken(Token.SEPARATOR); - } - case 35: - break; - case 22: { - addToken(Token.LITERAL_BACKQUOTE); - } - case 36: - break; - case 9: { /* Skip escaped chars, handles case: '\"""'. */ - } - case 37: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 38: - break; - case 12: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 39: - break; - case 17: { - start = zzMarkedPos - 2; - yybegin(EOL_COMMENT); - } - case 40: - break; - case 23: { - addToken(start, zzStartRead + 2, Token.LITERAL_STRING_DOUBLE_QUOTE); - yybegin(YYINITIAL); - } - case 41: - break; - case 5: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 42: - break; - case 7: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 43: - break; - case 16: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 44: - break; - case 10: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 45: - break; - case 25: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 46: - break; - case 24: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 47: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 48: - break; - case 1: {} - case 49: - break; - case 11: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 50: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 185: - break; - case MULTILINE_STRING_DOUBLE: { - addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); - return firstToken; - } - case 186: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 187: - break; - case MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - return firstToken; - } - case 188: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 6: { + addNullToken(); + return firstToken; + } + case 26: + break; + case 15: { + addToken(Token.LITERAL_CHAR); + } + case 27: + break; + case 21: { + start = zzMarkedPos - 3; + yybegin(MULTILINE_STRING_DOUBLE); + } + case 28: + break; + case 19: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 29: + break; + case 18: { + start = zzMarkedPos - 2; + yybegin(MLC); + } + case 30: + break; + case 8: { + addToken(Token.WHITESPACE); + } + case 31: + break; + case 20: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 32: + break; + case 13: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 33: + break; + case 14: { + addToken(Token.RESERVED_WORD); + } + case 34: + break; + case 4: { + addToken(Token.SEPARATOR); + } + case 35: + break; + case 22: { + addToken(Token.LITERAL_BACKQUOTE); + } + case 36: + break; + case 9: { /* Skip escaped chars, handles case: '\"""'. */ + } + case 37: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 38: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 39: + break; + case 17: { + start = zzMarkedPos - 2; + yybegin(EOL_COMMENT); + } + case 40: + break; + case 23: { + addToken(start, zzStartRead + 2, Token.LITERAL_STRING_DOUBLE_QUOTE); + yybegin(YYINITIAL); + } + case 41: + break; + case 5: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 42: + break; + case 7: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 43: + break; + case 16: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 44: + break; + case 10: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 45: + break; + case 25: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 46: + break; + case 24: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 47: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 48: + break; + case 1: { + } + case 49: + break; + case 11: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 50: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 185: + break; + case MULTILINE_STRING_DOUBLE: { + addToken(start, zzStartRead - 1, Token.LITERAL_STRING_DOUBLE_QUOTE); + return firstToken; + } + case 186: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 187: + break; + case MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + return firstToken; + } + case 188: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/TclTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/TclTokenMaker.java index 8b0955f..00a3836 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/TclTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/TclTokenMaker.java @@ -22,16 +22,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -41,16 +40,16 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated TclTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -58,7 +57,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class TclTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -79,17 +78,18 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\1\0\1\1\1\2\2\3\1\2\1\1\1\4\1\5" + "\1\6\1\7\1\10\1\2\1\11\1\2\1\10\22\2" - + "\1\1\1\12\1\3\1\13\1\12\1\13\1\12\1\14" + "\1\12\2\2\1\7\1\15\35\2\1\16\5\2\1\16" + "\40\2\1\1\1\13\1\0\2\14\5\2\1\15\25\2" + private static final String ZZ_ACTION_PACKED_0 = "\1\0\1\1\1\2\2\3\1\2\1\1\1\4\1\5" + + "\1\6\1\7\1\10\1\2\1\11\1\2\1\10\22\2" + "\1\1\1\12\1\3\1\13\1\12\1\13\1\12\1\14" + + "\1\12\2\2\1\7\1\15\35\2\1\16\5\2\1\16" + "\40\2\1\1\1\13\1\0\2\14\5\2\1\15\25\2" + "\1\16\30\2\1\16\4\2\1\16\11\2\1\1\5\2" + "\2\16\6\2\1\16\15\2\1\16\3\2\1\16\1\2" + "\1\1\14\2\1\1\6\2"; - + private static int[] zzUnpackAction() { int[] result = new int[241]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -103,7 +103,7 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -138,14 +138,14 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { + "\0\u28d7\0\u290a\0\u293d\0\u0bc1\0\u2970\0\u29a3\0\u29d6\0\u2a09" + "\0\u260d\0\u2a3c\0\u2a6f\0\u2aa2\0\u2ad5\0\u2b08\0\u2b3b\0\u2b6e" + "\0\u2ba1\0\u2bd4\0\u2c07\0\u2c3a\0\u2c6d\0\u2ca0\0\u2cd3\0\u2d06" + "\0\u2d39"; - + private static int[] zzUnpackRowMap() { int[] result = new int[241]; 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 */ @@ -156,32 +156,41 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\2\1\3\1\4\1\5\1\3\1\4\1\6\1\7" + "\1\10\1\2\1\3\1\11\1\12\1\13\4\3\1\14" - + "\1\15\1\16\1\17\2\14\1\20\1\21\1\22\1\23" + "\1\3\1\24\1\25\1\3\1\26\1\27\1\30\1\3" - + "\1\31\1\3\1\32\1\33\1\34\1\3\1\35\1\36" + "\1\37\1\40\1\41\1\42\2\4\1\3\7\2\1\0" + "\3\2\3\0\4\2\7\0\33\2\6\3\1\0\1\2" - + "\1\43\1\3\3\0\4\3\7\0\32\3\2\44\2\4" + "\1\44\1\4\1\44\1\0\3\44\3\0\1\44\1\45" + "\1\46\1\47\1\0\1\50\5\0\2\44\1\47\1\44" - + "\1\46\12\44\1\45\1\44\1\46\5\44\2\4\3\44" + "\1\51\1\52\1\44\1\52\1\44\1\0\3\44\3\0" - + "\1\53\1\45\1\46\1\47\1\0\1\50\5\0\2\44" + "\1\47\1\44\1\46\7\44\1\53\2\44\1\45\1\44" + "\1\46\5\44\2\52\1\44\1\2\6\3\1\0\1\2" + private static final String ZZ_TRANS_PACKED_0 = "\1\2\1\3\1\4\1\5\1\3\1\4\1\6\1\7" + + "\1\10\1\2\1\3\1\11\1\12\1\13\4\3\1\14" + "\1\15\1\16\1\17\2\14\1\20\1\21\1\22\1\23" + + "\1\3\1\24\1\25\1\3\1\26\1\27\1\30\1\3" + "\1\31\1\3\1\32\1\33\1\34\1\3\1\35\1\36" + + "\1\37\1\40\1\41\1\42\2\4\1\3\7\2\1\0" + "\3\2\3\0\4\2\7\0\33\2\6\3\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\32\3\2\44\2\4" + "\1\44\1\4\1\44\1\0\3\44\3\0\1\44\1\45" + + "\1\46\1\47\1\0\1\50\5\0\2\44\1\47\1\44" + "\1\46\12\44\1\45\1\44\1\46\5\44\2\4\3\44" + + "\1\51\1\52\1\44\1\52\1\44\1\0\3\44\3\0" + "\1\53\1\45\1\46\1\47\1\0\1\50\5\0\2\44" + + "\1\47\1\44\1\46\7\44\1\53\2\44\1\45\1\44" + "\1\46\5\44\2\52\1\44\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\1\3\1\54\1\3" + "\1\55\26\3\63\0\13\10\1\0\47\10\14\0\1\12" - + "\46\0\11\13\1\56\3\13\1\57\45\13\2\0\2\50" + "\1\0\1\50\52\0\2\50\27\0\1\14\34\0\1\2" + "\5\3\1\60\1\0\1\2\1\43\1\3\3\0\4\3" - + "\7\0\1\3\1\61\3\3\1\62\1\3\1\63\5\3" + "\1\64\1\65\2\3\1\66\1\3\1\67\6\3\1\2" + "\5\3\1\70\1\0\1\2\1\43\1\3\3\0\4\3" - + "\7\0\1\71\4\3\1\72\2\3\1\73\2\3\1\74" + "\3\3\1\75\6\3\1\74\3\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\3\3\1\76" - + "\1\3\1\77\2\3\1\100\3\3\1\101\2\3\1\102" + "\1\103\11\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\2\3\1\104\5\3\1\105\21\3" - + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\1\106\1\3\1\107\5\3\1\110\21\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\1\111\1\3\1\112\2\3\1\113\2\3\1\114\1\3" + "\1\115\1\116\16\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\1\3\1\117\30\3\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\2\3\1\120\27\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\3\3\1\121\5\3\1\122" - + "\7\3\1\123\10\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\1\124\1\3\1\125\1\3" + "\1\123\3\3\1\126\6\3\1\127\5\3\1\130\4\3" - + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\1\3\1\131\1\132\4\3\1\133\1\134\2\3" + "\1\111\1\3\1\135\10\3\1\136\2\3\1\137\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\1\140\4\3\1\141\2\3\1\142\2\3\1\143\2\3" + "\1\144\1\145\12\3\1\2\6\3\1\0\1\2\1\43" - + "\1\3\3\0\4\3\7\0\5\3\1\146\2\3\1\147" + "\1\150\1\3\1\151\3\3\1\152\12\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\2\3" - + "\1\70\2\3\1\153\11\3\1\154\12\3\1\2\5\3" + "\1\155\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\5\3\1\156\5\3\1\157\16\3\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\10\3\1\65" + "\21\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\6\3\1\160\4\3\1\161\16\3\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\11\3\1\123\1\3\1\162\11\3\1\163\4\3\6\2" + "\1\164\1\0\3\2\3\0\4\2\7\0\32\2\7\44" + + "\46\0\11\13\1\56\3\13\1\57\45\13\2\0\2\50" + "\1\0\1\50\52\0\2\50\27\0\1\14\34\0\1\2" + + "\5\3\1\60\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\1\3\1\61\3\3\1\62\1\3\1\63\5\3" + + "\1\64\1\65\2\3\1\66\1\3\1\67\6\3\1\2" + "\5\3\1\70\1\0\1\2\1\43\1\3\3\0\4\3" + + "\7\0\1\71\4\3\1\72\2\3\1\73\2\3\1\74" + "\3\3\1\75\6\3\1\74\3\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\3\3\1\76" + "\1\3\1\77\2\3\1\100\3\3\1\101\2\3\1\102" + + "\1\103\11\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\2\3\1\104\5\3\1\105\21\3" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\1\106\1\3\1\107\5\3\1\110\21\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\1\111\1\3\1\112\2\3\1\113\2\3\1\114\1\3" + + "\1\115\1\116\16\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\1\3\1\117\30\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\2\3\1\120\27\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\3\3\1\121\5\3\1\122" + "\7\3\1\123\10\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\1\124\1\3\1\125\1\3" + "\1\123\3\3\1\126\6\3\1\127\5\3\1\130\4\3" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\1\3\1\131\1\132\4\3\1\133\1\134\2\3" + + "\1\111\1\3\1\135\10\3\1\136\2\3\1\137\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\1\140\4\3\1\141\2\3\1\142\2\3\1\143\2\3" + "\1\144\1\145\12\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\5\3\1\146\2\3\1\147" + "\1\150\1\3\1\151\3\3\1\152\12\3\1\2\6\3" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\2\3" + "\1\70\2\3\1\153\11\3\1\154\12\3\1\2\5\3" + + "\1\155\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\5\3\1\156\5\3\1\157\16\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\10\3\1\65" + "\21\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\6\3\1\160\4\3\1\161\16\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\11\3\1\123\1\3\1\162\11\3\1\163\4\3\6\2" + "\1\164\1\0\3\2\3\0\4\2\7\0\32\2\7\44" + "\1\0\3\44\3\0\4\44\7\0\34\44\2\165\1\44" + "\1\165\1\44\1\0\3\44\3\0\4\44\1\166\6\0" + "\27\44\2\165\3\44\2\50\1\44\1\50\1\44\1\0" + "\3\44\3\0\2\44\1\46\1\47\7\0\2\44\1\47" + "\1\44\1\46\14\44\1\46\5\44\2\50\3\44\2\51" + "\1\44\1\51\1\44\1\0\3\44\3\0\2\44\1\46" @@ -189,115 +198,162 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { + "\1\52\1\44\1\0\3\44\3\0\1\44\1\167\1\46" + "\1\47\1\0\1\50\5\0\2\44\1\47\1\44\1\46" + "\12\44\1\167\1\44\1\46\5\44\2\52\3\44\4\170" + "\1\44\1\0\3\44\3\0\2\44\2\170\7\0\1\170" + "\1\44\1\170\1\44\1\170\10\44\1\170\3\44\1\170" + "\1\44\1\170\3\44\2\170\1\44\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\4\3\1\171" + "\12\3\1\172\1\173\11\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\12\3\1\174\3\3" - + "\1\175\13\3\13\13\1\0\1\13\1\176\45\13\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\7\3\1\177\22\3\1\2\6\3\1\0\1\2\1\43" - + "\1\3\3\0\4\3\7\0\1\3\1\200\30\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\5\3\1\201\24\3\1\2\6\3\1\0\1\2\1\43" - + "\1\3\3\0\4\3\7\0\1\202\31\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\10\3" + "\1\67\21\3\1\2\6\3\1\0\1\2\1\43\1\3" - + "\3\0\4\3\7\0\13\3\1\203\16\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\7\3" + "\1\204\22\3\1\2\6\3\1\0\1\2\1\43\1\3" - + "\3\0\4\3\7\0\16\3\1\123\13\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\7\3" + "\1\67\22\3\1\2\6\3\1\0\1\2\1\43\1\3" - + "\3\0\4\3\7\0\15\3\1\205\14\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\10\3" + "\1\206\21\3\1\2\6\3\1\0\1\2\1\43\1\3" - + "\3\0\4\3\7\0\26\3\1\123\3\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\4\3" + "\1\123\25\3\1\2\6\3\1\0\1\2\1\43\1\3" - + "\3\0\4\3\7\0\1\207\31\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\7\3\1\210" + "\22\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" - + "\4\3\7\0\5\3\1\211\24\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\21\3\1\123" + "\10\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" - + "\4\3\7\0\1\3\1\212\1\206\10\3\1\213\16\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\16\3\1\214\13\3\1\2\6\3\1\0\1\2" - + "\1\43\1\3\3\0\4\3\7\0\1\215\31\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\16\3\1\216\13\3\1\2\5\3\1\217\1\0\1\2" - + "\1\43\1\3\3\0\4\3\7\0\32\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\4\3" + "\1\220\6\3\1\221\16\3\1\2\6\3\1\0\1\2" - + "\1\43\1\3\3\0\4\3\7\0\1\74\2\3\1\146" + "\3\3\1\222\12\3\1\223\7\3\1\2\5\3\1\157" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\32\3" - + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\3\3\1\224\26\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\14\3\1\213\2\3" - + "\1\215\12\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\1\225\31\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\1\3\1\226" - + "\30\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\2\3\1\227\23\3\1\230\3\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\11\3\1\231\20\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\2\3\1\203\4\3\1\232" + "\22\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" - + "\4\3\7\0\3\3\1\233\12\3\1\234\13\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\7\3\1\123\5\3\1\212\3\3\1\235\10\3\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\1\236\31\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\3\3\1\237\3\3\1\240\22\3" - + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\13\3\1\215\16\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\3\3\1\241\12\3" - + "\1\224\13\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\10\3\1\221\21\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\2\3" - + "\1\242\27\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\17\3\1\243\12\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\2\3" - + "\1\205\1\74\3\3\1\123\7\3\1\244\12\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\5\3\1\245\24\3\1\2\5\3\1\246\1\0\1\2" - + "\1\43\1\3\3\0\4\3\7\0\32\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\1\247" + "\4\3\1\250\24\3\1\2\6\3\1\0\1\2\1\43" - + "\1\3\3\0\4\3\7\0\13\3\1\251\16\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\5\3\1\213\24\3\1\2\6\3\1\0\1\2\1\43" - + "\1\3\3\0\4\3\7\0\1\3\1\61\21\3\1\252" + "\6\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\1\253\1\3\1\254\27\3\1\2\6\3" - + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\22\3" + "\1\255\3\3\1\204\3\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\3\3\1\256\12\3" - + "\1\257\13\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\2\3\1\260\5\3\1\137\21\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" - + "\7\0\2\3\1\261\27\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\1\116\31\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\5\3\1\262\7\3\1\263\14\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\10\3\1\74" + "\21\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" - + "\4\3\7\0\17\3\1\231\12\3\1\2\5\3\1\264" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\10\3" + "\1\211\21\3\1\2\6\3\1\0\1\2\1\43\1\3" - + "\3\0\4\3\7\0\1\265\31\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\10\3\1\266" + "\21\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" - + "\4\3\7\0\7\3\1\267\22\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\2\3\1\270" + "\27\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" - + "\4\3\7\0\3\3\1\74\26\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\1\3\1\271" + "\30\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" - + "\4\3\7\0\16\3\1\272\13\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\3\3\1\273" + "\26\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\4\3\1\171" + "\12\3\1\172\1\173\11\3\1\2\6\3\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\12\3\1\174\3\3" + "\1\175\13\3\13\13\1\0\1\13\1\176\45\13\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\7\3\1\177\22\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\1\3\1\200\30\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\5\3\1\201\24\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\1\202\31\3\1\2\6\3" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\10\3" + "\1\67\21\3\1\2\6\3\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\13\3\1\203\16\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\7\3" + + "\1\204\22\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\16\3\1\123\13\3\1\2\6\3" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\7\3" + "\1\67\22\3\1\2\6\3\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\15\3\1\205\14\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\10\3" + + "\1\206\21\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\26\3\1\123\3\3\1\2\6\3" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\4\3" + "\1\123\25\3\1\2\6\3\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\1\207\31\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\7\3\1\210" + + "\22\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\5\3\1\211\24\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\21\3\1\123" + "\10\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\1\3\1\212\1\206\10\3\1\213\16\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + + "\7\0\16\3\1\214\13\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\1\215\31\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\16\3\1\216\13\3\1\2\5\3\1\217\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\32\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\4\3" + + "\1\220\6\3\1\221\16\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\1\74\2\3\1\146" + + "\3\3\1\222\12\3\1\223\7\3\1\2\5\3\1\157" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\32\3" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\3\3\1\224\26\3\1\2\6\3\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\14\3\1\213\2\3" + "\1\215\12\3\1\2\6\3\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\1\225\31\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\1\3\1\226" + + "\30\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\2\3\1\227\23\3\1\230\3\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\11\3\1\231\20\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\2\3\1\203\4\3\1\232" + "\22\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\3\3\1\233\12\3\1\234\13\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\7\3\1\123\5\3\1\212\3\3\1\235\10\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\1\236\31\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\3\3\1\237\3\3\1\240\22\3" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\13\3\1\215\16\3\1\2\6\3\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\3\3\1\241\12\3" + "\1\224\13\3\1\2\6\3\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\10\3\1\221\21\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\2\3" + + "\1\242\27\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\17\3\1\243\12\3\1\2\6\3" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\2\3" + "\1\205\1\74\3\3\1\123\7\3\1\244\12\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\5\3\1\245\24\3\1\2\5\3\1\246\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\32\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\1\247" + + "\4\3\1\250\24\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\13\3\1\251\16\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\5\3\1\213\24\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\1\3\1\61\21\3\1\252" + "\6\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\1\253\1\3\1\254\27\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\22\3" + + "\1\255\3\3\1\204\3\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\3\3\1\256\12\3" + + "\1\257\13\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\2\3\1\260\5\3\1\137\21\3" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\2\3\1\261\27\3\1\2\6\3\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\1\116\31\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\5\3\1\262\7\3\1\263\14\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\10\3\1\74" + + "\21\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\17\3\1\231\12\3\1\2\5\3\1\264" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\10\3" + "\1\211\21\3\1\2\6\3\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\1\265\31\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\10\3\1\266" + + "\21\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\7\3\1\267\22\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\2\3\1\270" + "\27\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\3\3\1\74\26\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\1\3\1\271" + + "\30\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\16\3\1\272\13\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\3\3\1\273" + "\26\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\13\3\1\151\16\3\2\2\4\274\1\2" + "\1\0\3\2\3\0\2\2\2\274\7\0\1\274\1\2" + "\1\274\1\2\1\274\10\2\1\274\3\2\1\274\1\2" + "\1\274\3\2\2\274\1\2\2\44\2\165\1\44\1\165" + "\1\44\1\0\3\44\3\0\2\44\1\46\1\44\7\0" + "\4\44\1\46\14\44\1\46\5\44\2\165\1\44\2\0" + "\2\165\1\0\1\165\52\0\2\165\1\0\2\44\4\170" + "\1\44\1\0\3\44\3\0\1\44\1\167\2\170\7\0" + "\1\170\1\44\1\170\1\44\1\170\10\44\1\170\1\44" + "\1\167\1\44\1\170\1\44\1\170\3\44\2\170\1\44" - + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\1\275\31\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\2\3\1\276\27\3\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\1\212\31\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\10\3\1\277\21\3\1\2\6\3" - + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\2\3" + "\1\213\27\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\10\3\1\300\21\3\1\2\6\3" - + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\2\3" + "\1\157\27\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\1\301\31\3\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\3\3\1\302" + "\26\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\3\3\1\123\26\3\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\2\3\1\212" + "\27\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\12\3\1\123\17\3\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\15\3\1\123" + "\14\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\15\3\1\204\14\3\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\5\3\1\301" + "\24\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\10\3\1\212\21\3\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\5\3\1\123" + "\24\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\7\3\1\123\22\3\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\2\3\1\303" + "\27\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\17\3\1\123\12\3\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\7\3\1\304" + "\22\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\23\3\1\151\6\3\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\13\3\1\305" + "\16\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\16\3\1\231\13\3\1\2\5\3\1\306" - + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\32\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\2\3\1\307\13\3\1\310\13\3\1\2\6\3" - + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\25\3" + "\1\123\4\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\15\3\1\231\14\3\1\2\6\3" - + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\17\3" + "\1\172\12\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\5\3\1\77\24\3\1\2\6\3" - + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\1\243" + "\31\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\2\3\1\123\27\3\1\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\13\3\1\311" + "\16\3\1\2\5\3\1\312\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\32\3\1\2\6\3\1\0\1\2" - + "\1\43\1\3\3\0\4\3\7\0\16\3\1\122\13\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\10\3\1\123\21\3\1\2\6\3\1\0\1\2" - + "\1\43\1\3\3\0\4\3\7\0\22\3\1\231\7\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\20\3\1\313\11\3\1\2\6\3\1\0\1\2" - + "\1\43\1\3\3\0\4\3\7\0\15\3\1\314\14\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\7\3\1\315\5\3\1\316\1\317\13\3\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\15\3\1\320\14\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\13\3\1\213\16\3\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\2\3\1\321\27\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\13\3\1\322\16\3\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\5\3\1\225\24\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\3\3\1\123\13\3\1\231" - + "\12\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\10\3\1\323\21\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\7\3\1\240" - + "\22\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\2\3\1\215\27\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\3\3\1\236" - + "\26\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\1\3\1\324\30\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\30\3\1\325" - + "\1\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\4\3\1\326\11\3\1\327\13\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\7\3\1\330\22\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\1\331\31\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\3\3" - + "\1\332\26\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\2\3\1\333\6\3\1\316\20\3" + "\1\2\5\3\1\67\1\0\1\2\1\43\1\3\3\0" - + "\4\3\7\0\32\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\16\3\1\314\13\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\23\3\1\123\6\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\23\3\1\334\6\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\7\3\1\311\22\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\1\205\31\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\10\3" - + "\1\213\21\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\7\3\1\335\22\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\21\3" - + "\1\235\10\3\2\2\4\336\1\2\1\0\3\2\3\0" + "\2\2\2\336\7\0\1\336\1\2\1\336\1\2\1\336" - + "\10\2\1\336\3\2\1\336\1\2\1\336\3\2\2\336" + "\2\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\7\3\1\231\22\3\1\2\6\3\1\0\1\2" - + "\1\43\1\3\3\0\4\3\7\0\20\3\1\252\11\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\26\3\1\203\3\3\1\2\6\3\1\0\1\2" - + "\1\43\1\337\3\0\4\3\7\0\32\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\6\3" + "\1\123\23\3\1\2\6\3\1\0\1\2\1\43\1\3" - + "\3\0\4\3\7\0\27\3\1\123\2\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\13\3" + "\1\100\16\3\1\2\6\3\1\0\1\2\1\43\1\3" - + "\3\0\4\3\7\0\5\3\1\340\24\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\10\3" + "\1\341\21\3\1\2\6\3\1\0\1\2\1\43\1\3" - + "\3\0\4\3\7\0\5\3\1\203\24\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\14\3" + "\1\342\15\3\1\2\5\3\1\265\1\0\1\2\1\43" - + "\1\3\3\0\4\3\7\0\32\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\10\3\1\203" + "\21\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" - + "\4\3\7\0\23\3\1\343\6\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\1\67\31\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" - + "\7\0\13\3\1\344\16\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\1\213\31\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\10\3\1\151\21\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\12\3\1\341\17\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\15\3\1\345\14\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\3\3\1\346\26\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\17\3\1\347\12\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\17\3\1\113\12\3\1\2" + "\2\3\1\123\3\3\1\0\1\2\1\43\1\3\3\0" - + "\4\3\7\0\32\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\2\3\1\350\27\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\2\3\1\137\27\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\23\3\1\351\6\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\5\3\1\240\24\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\22\3\1\352\7\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" - + "\1\240\31\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\10\3\1\210\21\3\2\2\4\353" + "\1\2\1\0\3\2\3\0\2\2\2\353\7\0\1\353" - + "\1\2\1\353\1\2\1\353\10\2\1\353\3\2\1\353" + "\1\2\1\353\3\2\2\353\2\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\11\3\1\354\20\3" - + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\10\3\1\301\21\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\1\3\1\123\30\3" - + "\1\2\5\3\1\155\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\32\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\3\3\1\355\26\3\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\7\3\1\232\22\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\22\3\1\123\7\3\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\17\3\1\356\12\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\14\3\1\123\15\3\1\2" - + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\10\3\1\350\21\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\7\3\1\314\22\3\2\2" - + "\4\3\1\2\1\0\3\2\3\0\2\2\2\3\7\0" + "\1\3\1\2\1\3\1\2\1\3\10\2\1\3\3\2" + "\1\3\1\2\1\3\3\2\2\3\2\2\6\3\1\0" - + "\1\2\1\43\1\3\3\0\4\3\7\0\12\3\1\357" + "\17\3\1\2\5\3\1\231\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\32\3\1\2\6\3\1\0\1\2" - + "\1\43\1\3\3\0\4\3\7\0\23\3\1\173\6\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\13\3\1\360\16\3\1\2\6\3\1\0\1\2" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\1\275\31\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\2\3\1\276\27\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\1\212\31\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\10\3\1\277\21\3\1\2\6\3" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\2\3" + "\1\213\27\3\1\2\6\3\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\10\3\1\300\21\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\2\3" + + "\1\157\27\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\1\301\31\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\3\3\1\302" + "\26\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\3\3\1\123\26\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\2\3\1\212" + + "\27\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\12\3\1\123\17\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\15\3\1\123" + "\14\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\15\3\1\204\14\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\5\3\1\301" + + "\24\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\10\3\1\212\21\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\5\3\1\123" + "\24\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\7\3\1\123\22\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\2\3\1\303" + + "\27\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\17\3\1\123\12\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\7\3\1\304" + "\22\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\23\3\1\151\6\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\13\3\1\305" + + "\16\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\16\3\1\231\13\3\1\2\5\3\1\306" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\32\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + + "\7\0\2\3\1\307\13\3\1\310\13\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\25\3" + + "\1\123\4\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\15\3\1\231\14\3\1\2\6\3" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\17\3" + "\1\172\12\3\1\2\6\3\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\5\3\1\77\24\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\1\243" + + "\31\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\2\3\1\123\27\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\13\3\1\311" + "\16\3\1\2\5\3\1\312\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\32\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\16\3\1\122\13\3" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\10\3\1\123\21\3\1\2\6\3\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\22\3\1\231\7\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + + "\7\0\20\3\1\313\11\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\15\3\1\314\14\3" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\7\3\1\315\5\3\1\316\1\317\13\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\15\3\1\320\14\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\13\3\1\213\16\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\2\3\1\321\27\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\13\3\1\322\16\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\5\3\1\225\24\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\3\3\1\123\13\3\1\231" + "\12\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\10\3\1\323\21\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\7\3\1\240" + + "\22\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\2\3\1\215\27\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\3\3\1\236" + "\26\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\1\3\1\324\30\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\30\3\1\325" + + "\1\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\4\3\1\326\11\3\1\327\13\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\7\3\1\330\22\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\1\331\31\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\3\3" + + "\1\332\26\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\2\3\1\333\6\3\1\316\20\3" + + "\1\2\5\3\1\67\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\32\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\16\3\1\314\13\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\23\3\1\123\6\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\23\3\1\334\6\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\7\3\1\311\22\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\1\205\31\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\10\3" + + "\1\213\21\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\7\3\1\335\22\3\1\2\6\3" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\21\3" + "\1\235\10\3\2\2\4\336\1\2\1\0\3\2\3\0" + + "\2\2\2\336\7\0\1\336\1\2\1\336\1\2\1\336" + "\10\2\1\336\3\2\1\336\1\2\1\336\3\2\2\336" + + "\2\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\7\3\1\231\22\3\1\2\6\3\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\20\3\1\252\11\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + + "\7\0\26\3\1\203\3\3\1\2\6\3\1\0\1\2" + "\1\43\1\337\3\0\4\3\7\0\32\3\1\2\6\3" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\6\3" + "\1\123\23\3\1\2\6\3\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\27\3\1\123\2\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\13\3" + + "\1\100\16\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\5\3\1\340\24\3\1\2\6\3" + + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\10\3" + "\1\341\21\3\1\2\6\3\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\5\3\1\203\24\3\1\2\6\3" + "\1\0\1\2\1\43\1\3\3\0\4\3\7\0\14\3" + + "\1\342\15\3\1\2\5\3\1\265\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\32\3\1\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\10\3\1\203" + "\21\3\1\2\6\3\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\23\3\1\343\6\3\1\2\6\3\1\0" + "\1\2\1\43\1\3\3\0\4\3\7\0\1\67\31\3" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\13\3\1\344\16\3\1\2\6\3\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\1\213\31\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\10\3\1\151\21\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\12\3\1\341\17\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\15\3\1\345\14\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\3\3\1\346\26\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\17\3\1\347\12\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\17\3\1\113\12\3\1\2" + + "\2\3\1\123\3\3\1\0\1\2\1\43\1\3\3\0" + "\4\3\7\0\32\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\2\3\1\350\27\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\2\3\1\137\27\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\23\3\1\351\6\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\5\3\1\240\24\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\22\3\1\352\7\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\1\240\31\3\1\2\6\3\1\0\1\2\1\43\1\3" + "\3\0\4\3\7\0\10\3\1\210\21\3\2\2\4\353" + + "\1\2\1\0\3\2\3\0\2\2\2\353\7\0\1\353" + "\1\2\1\353\1\2\1\353\10\2\1\353\3\2\1\353" + + "\1\2\1\353\3\2\2\353\2\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\11\3\1\354\20\3" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\10\3\1\301\21\3\1\2\6\3\1\0\1\2" + + "\1\43\1\3\3\0\4\3\7\0\1\3\1\123\30\3" + "\1\2\5\3\1\155\1\0\1\2\1\43\1\3\3\0" + + "\4\3\7\0\32\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\3\3\1\355\26\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\7\3\1\232\22\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\22\3\1\123\7\3\1\2" + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + + "\17\3\1\356\12\3\1\2\6\3\1\0\1\2\1\43" + "\1\3\3\0\4\3\7\0\14\3\1\123\15\3\1\2" + + "\6\3\1\0\1\2\1\43\1\3\3\0\4\3\7\0" + "\10\3\1\350\21\3\1\2\6\3\1\0\1\2\1\43" + + "\1\3\3\0\4\3\7\0\7\3\1\314\22\3\2\2" + "\4\3\1\2\1\0\3\2\3\0\2\2\2\3\7\0" + + "\1\3\1\2\1\3\1\2\1\3\10\2\1\3\3\2" + "\1\3\1\2\1\3\3\2\2\3\2\2\6\3\1\0" + + "\1\2\1\43\1\3\3\0\4\3\7\0\12\3\1\357" + "\17\3\1\2\5\3\1\231\1\0\1\2\1\43\1\3" + + "\3\0\4\3\7\0\32\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\23\3\1\173\6\3" + + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\13\3\1\360\16\3\1\2\6\3\1\0\1\2" + "\1\43\1\3\3\0\4\3\7\0\3\3\1\361\26\3" + "\1\2\6\3\1\0\1\2\1\43\1\3\3\0\4\3" + "\7\0\4\3\1\326\25\3"; - + private static int[] zzUnpackTrans() { int[] result = new int[11628]; 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 */ @@ -312,7 +368,7 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -324,15 +380,16 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\0\5\1\1\11\1\1\1\11\2\1\1\11\1\1" + "\2\11\37\1\1\11\106\1\1\0\173\1"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\0\5\1\1\11\1\1\1\11\2\1\1\11\1\1" + + "\2\11\37\1\1\11\106\1\1\0\173\1"; + private static int[] zzUnpackAttribute() { int[] result = new int[241]; 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 */ @@ -346,7 +403,7 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -354,8 +411,8 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -365,62 +422,54 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public TclTokenMaker() {} - + public TclTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -428,21 +477,18 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -460,36 +506,34 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -499,34 +543,31 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public TclTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public TclTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -542,7 +583,7 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -552,69 +593,64 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -625,29 +661,27 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -666,8 +700,7 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -707,97 +740,97 @@ public class TclTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 14: { - addToken(Token.RESERVED_WORD); - } - case 15: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 16: - break; - case 13: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 17: - break; - case 11: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 18: - break; - case 4: { - addToken(Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 19: - break; - case 6: { - addToken(Token.WHITESPACE); - } - case 20: - break; - case 10: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 21: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 22: - break; - case 12: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 23: - break; - case 8: { - addToken(Token.OPERATOR); - } - case 24: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 25: - break; - case 7: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 26: - break; - case 5: { - addNullToken(); - return firstToken; - } - case 27: - break; - case 9: { - addToken(Token.SEPARATOR); - } - case 28: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 242: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 14: { + addToken(Token.RESERVED_WORD); + } + case 15: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 16: + break; + case 13: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 17: + break; + case 11: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 18: + break; + case 4: { + addToken(Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 19: + break; + case 6: { + addToken(Token.WHITESPACE); + } + case 20: + break; + case 10: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 21: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 22: + break; + case 12: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 23: + break; + case 8: { + addToken(Token.OPERATOR); + } + case 24: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 25: + break; + case 7: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 26: + break; + case 5: { + addNullToken(); + return firstToken; + } + case 27: + break; + case 9: { + addToken(Token.SEPARATOR); + } + case 28: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case YYINITIAL: { + addNullToken(); + return firstToken; } + case 242: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/TypeScriptTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/TypeScriptTokenMaker.java index ebf0492..8ef1010 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/TypeScriptTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/TypeScriptTokenMaker.java @@ -20,21 +20,20 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; /** * Scanner for TypeScript files. Currently it is a clone of - * {@code JavaScriptTokenMaker}, but it should diverge over time to match - * the added features of TypeScript. + * {@code JavaScriptTokenMaker}, but it should diverge over time to match the + * added features of TypeScript. * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -44,24 +43,23 @@ import org.fife.ui.rsyntaxtextarea.TokenTypes; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated TypeScriptTokenMaker.java file will contain - * two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * two definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell * @version 0.9 */ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -86,9 +84,11 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\75\1\2\1\0\1\1\1\11\22\0\1\75\1\36\1\77" + "\1\12\1\15\1\35\1\40\1\107\2\106\1\17\1\30\1\27\1\24" + "\1\25\1\16\1\5\7\7\2\4\1\41\1\76\1\31\1\32\1\34" - + "\1\37\1\45\1\103\1\6\1\101\1\102\1\23\1\22\2\3\1\112" + "\2\3\1\21\1\3\1\111\5\3\1\104\3\3\1\20\2\3\1\100" - + "\1\13\1\105\1\33\1\14\1\113\1\46\1\47\1\53\1\65\1\54" + "\1\70\1\57\1\61\1\56\1\3\1\64\1\55\1\44\1\60\1\62" - + "\1\66\1\73\1\52\1\50\1\51\1\10\1\71\1\63\1\72\1\67" + "\1\110\1\74\1\43\1\26\1\42\uff81\0"; + + "\1\37\1\45\1\103\1\6\1\101\1\102\1\23\1\22\2\3\1\112" + + "\2\3\1\21\1\3\1\111\5\3\1\104\3\3\1\20\2\3\1\100" + + "\1\13\1\105\1\33\1\14\1\113\1\46\1\47\1\53\1\65\1\54" + + "\1\70\1\57\1\61\1\56\1\3\1\64\1\55\1\44\1\60\1\62" + "\1\66\1\73\1\52\1\50\1\51\1\10\1\71\1\63\1\72\1\67" + + "\1\110\1\74\1\43\1\26\1\42\uff81\0"; /** * Translates characters to character classes */ @@ -97,24 +97,26 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\13\0\2\1\3\0\1\2\1\3\1\4\1\5\2\6" + "\1\5\1\2\3\7\1\5\1\10\1\5\6\7\1\2" - + "\1\5\1\2\20\5\1\11\1\12\2\5\1\13\1\1" + "\1\14\1\15\1\16\1\1\1\17\1\20\1\21\1\1" + "\1\22\5\1\1\23\10\1\1\24\3\1\2\5\1\25" - + "\1\26\1\27\1\30\1\1\1\31\5\1\1\32\2\1" + "\1\33\1\1\1\34\1\35\1\36\2\37\1\40\1\41" + "\1\42\1\43\1\1\1\44\4\1\1\45\1\46\1\47" - + "\1\50\1\1\1\51\1\1\1\52\1\2\1\53\1\6" + "\1\54\1\53\1\54\1\53\1\55\1\53\1\5\2\0" + "\1\56\1\57\2\7\2\0\1\60\1\7\1\5\1\61" + private static final String ZZ_ACTION_PACKED_0 = "\13\0\2\1\3\0\1\2\1\3\1\4\1\5\2\6" + + "\1\5\1\2\3\7\1\5\1\10\1\5\6\7\1\2" + "\1\5\1\2\20\5\1\11\1\12\2\5\1\13\1\1" + + "\1\14\1\15\1\16\1\1\1\17\1\20\1\21\1\1" + "\1\22\5\1\1\23\10\1\1\24\3\1\2\5\1\25" + + "\1\26\1\27\1\30\1\1\1\31\5\1\1\32\2\1" + "\1\33\1\1\1\34\1\35\1\36\2\37\1\40\1\41" + + "\1\42\1\43\1\1\1\44\4\1\1\45\1\46\1\47" + "\1\50\1\1\1\51\1\1\1\52\1\2\1\53\1\6" + + "\1\54\1\53\1\54\1\53\1\55\1\53\1\5\2\0" + "\1\56\1\57\2\7\2\0\1\60\1\7\1\5\1\61" + "\34\5\2\62\7\5\1\62\13\5\1\63\1\64\1\65" + "\1\66\4\0\1\67\2\0\1\70\32\0\1\71\1\26" + "\1\72\1\73\1\27\5\0\1\74\2\0\1\75\1\76" + "\1\2\1\54\1\0\2\55\1\5\1\77\1\100\2\5" + "\1\101\37\5\1\101\26\5\64\0\1\102\2\0\1\103" + "\5\0\1\104\1\2\1\105\6\5\1\106\5\5\1\107" + "\1\5\1\110\25\5\1\0\1\1\1\0\1\111\15\0" + "\1\112\45\0\1\113\4\0\1\114\1\0\1\115\2\0" + "\1\116\1\0\1\117\1\2\5\5\1\62\17\5\1\62" + "\1\5\15\0\1\112\20\0\1\112\20\0\1\2\4\5" + "\1\120\13\5\33\0\10\5\1\112\4\0\1\112\12\0" + "\3\5\6\0\1\5\2\0\1\121\1\0"; - + private static int[] zzUnpackAction() { int[] result = new int[639]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -128,7 +130,7 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -213,14 +215,14 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\0\ua264\0\ua2b0\0\ua2fc\0\ua348\0\ua394\0\ua3e0\0\ua42c\0\ua478" + "\0\ua4c4\0\ua510\0\ua55c\0\ua5a8\0\ua5f4\0\ua640\0\ua68c\0\ua6d8" + "\0\ua724\0\ua770\0\ua7bc\0\ua808\0\ua854\0\u0558\0\ua8a0"; - + private static int[] zzUnpackRowMap() { int[] result = new int[639]; 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 */ @@ -231,60 +233,66 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\21\1\22\1\23\1\24\1\25\1\26\1\24\1\25" + "\1\27\1\30\2\21\2\24\1\31\1\32\4\24\1\33" - + "\1\34\1\35\1\36\1\37\1\40\1\41\1\32\1\42" + "\2\32\1\43\1\44\2\43\1\45\1\46\1\47\1\50" - + "\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60" + "\1\61\1\62\2\24\1\63\1\24\1\64\1\65\1\24" - + "\1\66\1\67\2\24\1\35\1\22\1\36\1\70\1\35" + "\4\24\2\35\1\71\1\24\1\72\1\73\1\74\2\75" - + "\1\76\10\75\1\77\63\75\1\100\14\75\2\101\1\102" + "\10\101\1\103\73\101\1\104\4\101\2\105\1\106\14\105" - + "\1\107\41\105\1\110\1\105\1\111\4\105\1\112\23\105" + "\2\113\1\114\14\113\1\115\11\113\1\116\13\113\1\117" + private static final String ZZ_TRANS_PACKED_0 = "\1\21\1\22\1\23\1\24\1\25\1\26\1\24\1\25" + + "\1\27\1\30\2\21\2\24\1\31\1\32\4\24\1\33" + "\1\34\1\35\1\36\1\37\1\40\1\41\1\32\1\42" + + "\2\32\1\43\1\44\2\43\1\45\1\46\1\47\1\50" + "\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60" + + "\1\61\1\62\2\24\1\63\1\24\1\64\1\65\1\24" + "\1\66\1\67\2\24\1\35\1\22\1\36\1\70\1\35" + + "\4\24\2\35\1\71\1\24\1\72\1\73\1\74\2\75" + "\1\76\10\75\1\77\63\75\1\100\14\75\2\101\1\102" + + "\10\101\1\103\73\101\1\104\4\101\2\105\1\106\14\105" + + "\1\107\41\105\1\110\1\105\1\111\4\105\1\112\23\105" + + "\2\113\1\114\14\113\1\115\11\113\1\116\13\113\1\117" + "\13\113\1\120\1\113\1\121\4\113\1\122\3\113\1\123" + "\17\113\2\124\1\125\56\124\1\126\1\124\1\127\4\124" - + "\1\130\23\124\1\131\1\132\1\133\26\131\1\134\6\131" + "\1\135\34\131\1\22\1\136\15\131\2\137\1\140\21\137" - + "\1\141\34\137\1\142\1\137\1\143\4\137\1\144\23\137" + "\2\145\1\146\34\145\1\147\54\145\2\150\1\151\26\150" + + "\1\130\23\124\1\131\1\132\1\133\26\131\1\134\6\131" + + "\1\135\34\131\1\22\1\136\15\131\2\137\1\140\21\137" + + "\1\141\34\137\1\142\1\137\1\143\4\137\1\144\23\137" + + "\2\145\1\146\34\145\1\147\54\145\2\150\1\151\26\150" + "\1\152\2\150\1\153\43\150\1\154\4\150\1\155\6\150" + "\1\156\1\157\1\0\13\156\1\160\13\156\1\43\1\156" - + "\1\161\40\156\1\22\1\156\1\162\7\156\1\163\4\156" + "\77\164\1\165\14\164\107\166\1\165\4\166\105\167\1\170" - + "\6\167\2\171\1\172\10\171\1\173\1\171\1\174\75\171" + "\1\175\2\176\1\177\12\176\1\200\10\176\1\201\65\176" - + "\1\21\2\0\6\21\1\0\4\21\2\0\4\21\20\0" + "\30\21\5\0\4\21\3\0\3\21\2\0\1\22\73\0" - + "\1\22\132\0\1\21\2\0\6\24\1\0\1\21\1\202" + "\2\24\2\0\4\24\20\0\1\24\1\21\26\24\5\0" - + "\4\24\3\0\3\24\1\0\1\203\2\0\1\203\2\25" + "\1\203\1\25\1\203\1\0\4\203\2\0\1\203\1\204" - + "\1\205\1\206\1\0\1\207\16\0\10\203\1\206\1\204" + "\7\203\1\205\2\203\1\205\3\203\5\0\1\203\1\205" - + "\2\203\3\0\3\203\1\0\1\203\2\0\1\203\1\210" + "\1\211\1\203\1\211\1\203\1\0\4\203\2\0\1\212" - + "\1\204\1\205\1\206\1\0\1\207\16\0\10\203\1\206" + "\1\204\7\203\1\205\2\203\1\205\1\203\1\212\1\203" - + "\5\0\1\203\1\205\2\203\3\0\3\203\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" - + "\20\0\1\24\1\21\12\24\1\213\13\24\5\0\4\24" + "\3\0\3\24\1\0\13\214\1\215\2\214\1\216\1\217" - + "\12\214\1\220\61\214\32\0\1\43\105\0\1\43\5\0" + "\1\43\65\0\2\207\1\0\1\207\134\0\1\43\1\0" - + "\1\221\112\0\1\222\1\43\62\0\1\223\27\0\1\224" + "\1\43\42\0\1\223\50\0\1\43\1\0\1\225\111\0" - + "\1\43\5\0\1\43\105\0\1\43\10\0\1\43\50\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" - + "\4\24\20\0\1\24\1\21\14\24\1\226\11\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\1\227\2\21" - + "\1\227\1\21\1\227\1\0\4\21\2\0\4\227\20\0" + "\1\227\1\21\26\227\5\0\4\227\3\0\3\227\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\1\24\1\230\10\24\1\231" - + "\13\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" - + "\1\24\1\21\4\24\1\232\7\24\1\233\4\24\1\234" + "\4\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" - + "\5\24\1\235\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\24\1\21\3\24\1\236\7\24\1\237\1\24" - + "\1\240\3\24\1\241\4\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\4\24\1\242\6\24" + "\1\243\5\24\1\244\4\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\6\24\1\245\17\24" + + "\1\161\40\156\1\22\1\156\1\162\7\156\1\163\4\156" + + "\77\164\1\165\14\164\107\166\1\165\4\166\105\167\1\170" + + "\6\167\2\171\1\172\10\171\1\173\1\171\1\174\75\171" + + "\1\175\2\176\1\177\12\176\1\200\10\176\1\201\65\176" + "\1\21\2\0\6\21\1\0\4\21\2\0\4\21\20\0" + + "\30\21\5\0\4\21\3\0\3\21\2\0\1\22\73\0" + "\1\22\132\0\1\21\2\0\6\24\1\0\1\21\1\202" + + "\2\24\2\0\4\24\20\0\1\24\1\21\26\24\5\0" + "\4\24\3\0\3\24\1\0\1\203\2\0\1\203\2\25" + + "\1\203\1\25\1\203\1\0\4\203\2\0\1\203\1\204" + "\1\205\1\206\1\0\1\207\16\0\10\203\1\206\1\204" + + "\7\203\1\205\2\203\1\205\3\203\5\0\1\203\1\205" + "\2\203\3\0\3\203\1\0\1\203\2\0\1\203\1\210" + + "\1\211\1\203\1\211\1\203\1\0\4\203\2\0\1\212" + "\1\204\1\205\1\206\1\0\1\207\16\0\10\203\1\206" + + "\1\204\7\203\1\205\2\203\1\205\1\203\1\212\1\203" + "\5\0\1\203\1\205\2\203\3\0\3\203\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\24\1\21\12\24\1\213\13\24\5\0\4\24" + + "\3\0\3\24\1\0\13\214\1\215\2\214\1\216\1\217" + "\12\214\1\220\61\214\32\0\1\43\105\0\1\43\5\0" + + "\1\43\65\0\2\207\1\0\1\207\134\0\1\43\1\0" + "\1\221\112\0\1\222\1\43\62\0\1\223\27\0\1\224" + + "\1\43\42\0\1\223\50\0\1\43\1\0\1\225\111\0" + "\1\43\5\0\1\43\105\0\1\43\10\0\1\43\50\0" + + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\14\24\1\226\11\24\5\0" + + "\4\24\3\0\3\24\1\0\1\21\2\0\1\227\2\21" + "\1\227\1\21\1\227\1\0\4\21\2\0\4\227\20\0" + + "\1\227\1\21\26\227\5\0\4\227\3\0\3\227\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + + "\4\24\20\0\1\24\1\21\1\24\1\230\10\24\1\231" + "\13\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\4\24\1\232\7\24\1\233\4\24\1\234" + + "\4\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\5\24\1\235\1\0\1\21\1\202\2\24\2\0\4\24" + + "\20\0\1\24\1\21\3\24\1\236\7\24\1\237\1\24" + "\1\240\3\24\1\241\4\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\4\24\1\242\6\24" + + "\1\243\5\24\1\244\4\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\6\24\1\245\17\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\1\246\6\24\1\247\3\24\1\250\1\251\11\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" - + "\1\21\1\246\6\24\1\247\3\24\1\250\1\251\11\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\1\252\1\24\1\253\4\24\1\254\2\24\1\255" - + "\10\24\1\256\1\257\1\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\6\24\1\260\5\24" + "\1\261\11\24\5\0\4\24\3\0\3\24\1\0\1\21" - + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\262\1\21\2\24\1\263\7\24\1\264\7\24" - + "\1\265\3\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" - + "\20\0\1\24\1\21\14\24\1\266\11\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\5\24\1\267\1\0" - + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\1\270\5\24\1\271\17\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\10\24\1\272\2\24" - + "\1\273\12\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" - + "\20\0\1\24\1\21\6\24\1\274\5\24\1\275\11\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\5\24" - + "\1\276\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\1\277\3\24\1\300\21\24\5\0\4\24" - + "\3\0\3\24\1\0\1\21\2\0\5\24\1\301\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" - + "\1\302\6\24\1\303\1\304\3\24\1\305\11\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\1\305\13\24\1\306\11\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\1\307\25\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\252\1\24\1\253\4\24\1\254\2\24\1\255" + "\10\24\1\256\1\257\1\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\6\24\1\260\5\24" + + "\1\261\11\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + + "\20\0\1\262\1\21\2\24\1\263\7\24\1\264\7\24" + "\1\265\3\24\5\0\4\24\3\0\3\24\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\24\1\21\14\24\1\266\11\24\5\0\4\24" + + "\3\0\3\24\1\0\1\21\2\0\5\24\1\267\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + + "\1\270\5\24\1\271\17\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\10\24\1\272\2\24" + "\1\273\12\24\5\0\4\24\3\0\3\24\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\24\1\21\6\24\1\274\5\24\1\275\11\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\5\24" + "\1\276\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + + "\1\24\1\21\1\277\3\24\1\300\21\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\5\24\1\301\1\0" + + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\1\302\6\24\1\303\1\304\3\24\1\305\11\24\5\0" + + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + + "\1\305\13\24\1\306\11\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\1\307\25\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\12\24\1\310\13\24\5\0\4\24\3\0\3\24\1\0" + "\2\75\1\0\10\75\1\0\63\75\1\0\14\75\2\311" + "\1\0\5\311\1\312\61\311\1\313\21\311\2\101\1\0" + "\10\101\1\0\73\101\1\0\4\101\2\105\1\0\14\105" + "\1\0\41\105\1\0\1\105\1\0\4\105\1\0\23\105" @@ -313,7 +321,8 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\10\203\1\206\10\203\1\205\2\203\1\205\3\203\5\0" + "\1\203\1\205\2\203\3\0\3\203\1\0\1\203\2\0" + "\1\203\1\210\1\211\1\203\1\211\1\203\1\0\4\203" + "\2\0\1\203\1\u0101\1\205\1\206\1\0\1\207\16\0" + "\10\203\1\206\1\u0101\7\203\1\205\2\203\1\205\3\203" + "\5\0\1\203\1\205\2\203\3\0\3\203\1\0\1\203" - + "\2\0\1\203\4\u0102\1\203\1\0\4\203\2\0\2\203" + "\2\u0102\20\0\2\203\2\u0102\3\203\2\u0102\10\203\1\u0102" + + "\2\0\1\203\4\u0102\1\203\1\0\4\203\2\0\2\203" + + "\2\u0102\20\0\2\203\2\u0102\3\203\2\u0102\10\203\1\u0102" + "\2\203\1\u0102\3\203\5\0\3\u0102\1\203\3\0\3\203" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\6\24\1\u0103\17\24" + "\5\0\4\24\3\0\3\24\1\0\13\214\1\215\2\214" + "\1\u0104\77\214\1\0\111\214\17\0\1\u0105\75\0\1\223" + "\27\0\1\224\43\0\1\223\50\0\1\43\1\0\1\32" @@ -381,163 +390,197 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\26\24" + "\5\0\4\24\3\0\1\24\1\265\1\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\24\1\21\22\24\1\u013e\3\24\5\0\4\24" + "\3\0\3\24\5\0\4\u013f\12\0\2\u013f\22\0\2\u013f" + "\3\0\2\u013f\10\0\1\u013f\2\0\1\u013f\10\0\3\u013f" - + "\14\0\4\u0140\12\0\2\u0140\22\0\2\u0140\3\0\2\u0140" + "\10\0\1\u0140\2\0\1\u0140\10\0\3\u0140\61\0\1\u0141" + + "\14\0\4\u0140\12\0\2\u0140\22\0\2\u0140\3\0\2\u0140" + + "\10\0\1\u0140\2\0\1\u0140\10\0\3\u0140\61\0\1\u0141" + "\125\0\1\u0142\116\0\1\u0143\102\0\1\u0144\36\0\34\322" + "\1\324\57\322\3\0\1\322\2\0\1\322\1\0\1\322" + "\7\0\4\322\10\0\1\324\7\0\1\322\1\0\26\322" + "\5\0\4\322\3\0\3\322\55\0\1\u0145\1\0\1\u0146" - + "\3\0\1\u0147\41\0\1\u0148\36\0\1\u0149\3\0\1\u014a" + "\1\0\1\u014b\120\0\1\u014c\41\0\1\u014d\40\0\1\u014e" - + "\2\0\1\u014f\1\0\1\u0150\116\0\1\u0151\1\u0152\4\0" + "\1\u0153\100\0\1\u0154\105\0\1\u0155\6\0\1\u0156\4\0" - + "\1\u0157\111\0\1\u0158\10\0\1\u0159\1\u015a\75\0\1\u015b" + "\1\0\1\u015c\114\0\1\u015d\1\u015e\110\0\1\u015f\104\0" - + "\1\u0160\123\0\1\u0161\111\0\1\u0162\47\0\1\u0163\35\0" + "\1\u0164\3\0\1\u0165\117\0\1\u0166\103\0\1\u0167\5\0" - + "\1\u0168\110\0\1\u0169\125\0\1\u016a\116\0\1\u016b\102\0" + "\1\u016c\107\0\1\u016d\3\0\1\u016e\107\0\1\u016f\125\0" + + "\3\0\1\u0147\41\0\1\u0148\36\0\1\u0149\3\0\1\u014a" + + "\1\0\1\u014b\120\0\1\u014c\41\0\1\u014d\40\0\1\u014e" + + "\2\0\1\u014f\1\0\1\u0150\116\0\1\u0151\1\u0152\4\0" + + "\1\u0153\100\0\1\u0154\105\0\1\u0155\6\0\1\u0156\4\0" + + "\1\u0157\111\0\1\u0158\10\0\1\u0159\1\u015a\75\0\1\u015b" + + "\1\0\1\u015c\114\0\1\u015d\1\u015e\110\0\1\u015f\104\0" + + "\1\u0160\123\0\1\u0161\111\0\1\u0162\47\0\1\u0163\35\0" + + "\1\u0164\3\0\1\u0165\117\0\1\u0166\103\0\1\u0167\5\0" + + "\1\u0168\110\0\1\u0169\125\0\1\u016a\116\0\1\u016b\102\0" + + "\1\u016c\107\0\1\u016d\3\0\1\u016e\107\0\1\u016f\125\0" + "\1\u0170\116\0\1\u0171\102\0\1\u0172\41\0\6\357\3\0" + "\1\357\3\0\6\357\13\0\1\357\2\0\1\357\1\0" + "\26\357\5\0\4\357\3\0\3\357\4\0\1\u0173\2\0" + "\1\u0173\1\0\1\u0173\3\0\1\u0173\3\0\4\u0173\15\0" - + "\1\u0173\2\0\1\u0173\1\0\26\u0173\5\0\4\u0173\3\0" + "\3\u0173\25\0\1\u0174\53\0\1\u0175\47\0\1\u0176\130\0" - + "\1\u0177\125\0\1\u0178\116\0\1\u0179\102\0\1\u017a\62\0" + "\1\u017b\123\0\1\u017c\57\0\1\21\2\0\1\21\4\u017d" - + "\1\21\1\0\4\21\2\0\2\21\2\u017d\20\0\2\21" + "\2\u017d\3\21\2\u017d\10\21\1\u017d\2\21\1\u017d\3\21" - + "\5\0\3\u017d\1\21\3\0\3\21\1\0\1\203\2\0" + "\1\203\2\377\1\203\1\377\1\203\1\0\4\203\2\0" - + "\2\203\1\205\1\203\20\0\21\203\1\205\2\203\1\205" + "\3\203\5\0\1\203\1\205\2\203\3\0\3\203\5\0" - + "\2\377\1\0\1\377\104\0\1\203\2\0\1\203\4\u0102" + "\1\203\1\0\4\203\2\0\1\203\1\u0101\2\u0102\20\0" - + "\2\203\2\u0102\3\203\2\u0102\1\u0101\7\203\1\u0102\2\203" + "\1\u0102\3\203\5\0\3\u0102\1\203\3\0\3\203\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\2\24\1\253\23\24\5\0" - + "\4\24\3\0\3\24\45\0\1\u0104\11\0\2\u0104\52\0" + "\1\u017e\75\0\1\21\2\0\5\24\1\u012e\1\0\1\21" - + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\26\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\3\24\1\u017f\22\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\1\u0180\25\24\5\0" + + "\1\u0173\2\0\1\u0173\1\0\26\u0173\5\0\4\u0173\3\0" + + "\3\u0173\25\0\1\u0174\53\0\1\u0175\47\0\1\u0176\130\0" + + "\1\u0177\125\0\1\u0178\116\0\1\u0179\102\0\1\u017a\62\0" + + "\1\u017b\123\0\1\u017c\57\0\1\21\2\0\1\21\4\u017d" + "\1\21\1\0\4\21\2\0\2\21\2\u017d\20\0\2\21" + + "\2\u017d\3\21\2\u017d\10\21\1\u017d\2\21\1\u017d\3\21" + "\5\0\3\u017d\1\21\3\0\3\21\1\0\1\203\2\0" + + "\1\203\2\377\1\203\1\377\1\203\1\0\4\203\2\0" + "\2\203\1\205\1\203\20\0\21\203\1\205\2\203\1\205" + + "\3\203\5\0\1\203\1\205\2\203\3\0\3\203\5\0" + "\2\377\1\0\1\377\104\0\1\203\2\0\1\203\4\u0102" + + "\1\203\1\0\4\203\2\0\1\203\1\u0101\2\u0102\20\0" + + "\2\203\2\u0102\3\203\2\u0102\1\u0101\7\203\1\u0102\2\203" + + "\1\u0102\3\203\5\0\3\u0102\1\203\3\0\3\203\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + + "\4\24\20\0\1\24\1\21\2\24\1\253\23\24\5\0" + "\4\24\3\0\3\24\45\0\1\u0104\11\0\2\u0104\52\0" + + "\1\u017e\75\0\1\21\2\0\5\24\1\u012e\1\0\1\21" + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\26\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + + "\1\21\3\24\1\u017f\22\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\1\u0180\25\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\7\24\1\u0181\16\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\6\24\1\u0108\17\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" - + "\7\24\1\u0181\16\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" - + "\4\24\20\0\1\24\1\21\6\24\1\u0108\17\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\6\24\1\305\17\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\3\24\1\u0182\22\24\5\0" + + "\6\24\1\305\17\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + + "\4\24\20\0\1\24\1\21\3\24\1\u0182\22\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\10\24\1\261\15\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\4\24\1\u0183\21\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" - + "\10\24\1\261\15\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" - + "\4\24\20\0\1\24\1\21\4\24\1\u0183\21\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\3\24\1\u0119\22\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\5\24\1\u0184\20\24\5\0" + + "\3\24\1\u0119\22\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + + "\4\24\20\0\1\24\1\21\5\24\1\u0184\20\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\6\24\1\u0185\17\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\12\24\1\u0186\13\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" - + "\6\24\1\u0185\17\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" - + "\4\24\20\0\1\24\1\21\12\24\1\u0186\13\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\14\24\1\u0187\11\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\2\24\1\265\23\24\5\0" - + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" - + "\6\24\1\u0188\17\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\5\24\1\u0189\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\26\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\6\24" + "\1\265\17\24\5\0\4\24\3\0\3\24\1\0\1\21" - + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\24\1\21\5\24\1\u012d\20\24\5\0\4\24" + + "\14\24\1\u0187\11\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + + "\4\24\20\0\1\24\1\21\2\24\1\265\23\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\6\24\1\u0188\17\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\5\24\1\u0189\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\26\24\5\0\4\24" + + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\6\24" + + "\1\265\17\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + + "\20\0\1\24\1\21\5\24\1\u012d\20\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\2\24" + "\1\u0115\23\24\5\0\4\24\3\0\3\24\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\24\1\21\4\24\1\u0108\21\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\2\24" - + "\1\u0115\23\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" - + "\20\0\1\24\1\21\4\24\1\u0108\21\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\2\24" + "\1\260\1\u018a\22\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\13\24\1\u018b\12\24\5\0" - + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" - + "\1\u018c\25\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" - + "\20\0\1\265\1\21\26\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\7\24\1\u018d\16\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\6\24\1\u018e\17\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\14\24\1\u018f\11\24" + + "\1\260\1\u018a\22\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + + "\4\24\20\0\1\24\1\21\13\24\1\u018b\12\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\1\u018c\25\24\5\0\4\24\3\0\3\24\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\265\1\21\26\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\7\24\1\u018d\16\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" - + "\1\21\11\24\1\u0108\14\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\7\24\1\u0190\4\24" + "\1\u018f\11\24\5\0\4\24\3\0\3\24\1\0\1\21" - + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\24\1\21\10\24\1\u0191\15\24\5\0\4\24" - + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\1\u0192" + + "\1\21\6\24\1\u018e\17\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\14\24\1\u018f\11\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\11\24\1\u0108\14\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\7\24\1\u0190\4\24" + + "\1\u018f\11\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + + "\20\0\1\24\1\21\10\24\1\u0191\15\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\1\u0192" + "\25\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\3\24\1\u0193\22\24\5\0\4\24\3\0" + + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" + "\2\24\2\0\4\24\20\0\1\24\1\21\6\24\1\u0194" + + "\17\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + + "\1\24\1\21\14\24\1\265\11\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" + + "\2\24\2\0\4\24\20\0\1\24\1\21\1\24\1\u0195" + "\24\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\7\24\1\265\16\24\5\0\4\24\3\0" + + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" + "\2\24\2\0\4\24\20\0\1\24\1\21\10\24\1\u0196" + + "\15\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + + "\1\24\1\21\13\24\1\265\12\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" + + "\2\24\2\0\4\24\20\0\1\24\1\21\7\24\1\u0118" + "\16\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\5\24\1\u0197\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\24\1\21\26\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\6\24\1\u0198\17\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + + "\1\21\1\u0199\25\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + + "\4\24\20\0\1\24\1\21\1\24\1\u019a\24\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\7\24\1\u0182\16\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\2\24\1\u019b\23\24\5\0" + + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + + "\16\24\1\u019c\7\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + + "\4\24\20\0\1\24\1\21\23\24\1\u019d\2\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\3\24\1\u019e\22\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\5\24\1\u019f\20\24\5\0" + + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + + "\2\24\1\u0112\23\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + + "\4\24\20\0\1\24\1\21\1\u0183\25\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\1\u01a0" + "\25\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\1\u01a1\25\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\17\24\1\265\6\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + + "\1\21\10\24\1\u01a2\15\24\5\0\4\24\3\0\3\24" + "\5\0\4\u01a3\12\0\2\u01a3\22\0\2\u01a3\3\0\2\u01a3" + + "\10\0\1\u01a3\2\0\1\u01a3\10\0\3\u01a3\14\0\4\u01a4" + + "\12\0\2\u01a4\22\0\2\u01a4\3\0\2\u01a4\10\0\1\u01a4" + + "\2\0\1\u01a4\10\0\3\u01a4\76\0\1\u01a5\52\0\1\u01a6" + + "\127\0\1\u01a7\126\0\1\u0143\103\0\1\u01a8\4\0\1\u01a9" + + "\134\0\1\u01aa\106\0\1\u01ab\77\0\1\u01ac\5\0\1\u01ad" + + "\104\0\1\u01ae\116\0\1\u01af\116\0\1\u01b0\107\0\1\u01b1" + + "\105\0\1\u01b2\115\0\1\u01b3\121\0\1\u01b4\117\0\1\u01b5" + + "\105\0\1\u01b6\3\0\1\u01b7\122\0\1\u01b8\114\0\1\u01b9" + + "\73\0\1\u01ba\2\0\1\u01bb\21\0\1\u01bc\75\0\1\u01bd" + + "\104\0\1\u01be\125\0\1\u01bf\5\0\1\u01c0\35\0\1\u01c1" + + "\157\0\1\u01c2\105\0\1\u01c3\2\0\1\u01c4\14\0\1\u01c5" + + "\105\0\1\u01c6\106\0\1\u01c7\4\0\1\u01c8\113\0\1\u01c9" + + "\103\0\1\u01ca\7\0\1\u01cb\115\0\1\u01cc\75\0\1\u01cd" + + "\127\0\1\u01ce\103\0\1\u01cf\15\0\1\u01d0\1\0\1\u01d1" + + "\72\0\1\u01d2\116\0\1\u01d3\117\0\1\u01d4\3\0\1\u01d5" + + "\103\0\1\u01d6\2\0\1\u014f\110\0\1\u01d7\113\0\1\u01d8" + + "\127\0\1\u01d9\52\0\1\u01da\127\0\1\u01db\126\0\1\u016b" + + "\47\0\1\u01dc\161\0\1\u01dd\123\0\1\u01de\52\0\1\u01df" + + "\127\0\1\u01e0\126\0\1\u0171\42\0\6\u0173\3\0\1\u0173" + + "\3\0\6\u0173\13\0\1\u0173\2\0\1\u0173\1\0\26\u0173" + + "\5\0\4\u0173\3\0\3\u0173\25\0\1\u01e1\170\0\1\u01e2" + + "\100\0\1\u01e3\52\0\1\u01e4\127\0\1\u01e5\126\0\1\u0179" + + "\63\0\1\u01e6\67\0\1\21\2\0\1\21\4\u01e7\1\21" + "\1\0\4\21\2\0\2\21\2\u01e7\20\0\2\21\2\u01e7" + + "\3\21\2\u01e7\10\21\1\u01e7\2\21\1\u01e7\3\21\5\0" + "\3\u01e7\1\21\3\0\3\21\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\4\24\1\u01e8\21\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\16\24\1\265\7\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + + "\1\21\6\24\1\u01e9\17\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\10\24\1\u01ea\15\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\3\24\1\u0108\22\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\13\24\1\u01eb\12\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + + "\1\21\2\24\1\u01ec\23\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\15\24\1\u01ed\10\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\14\24\1\u01ee\11\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\4\24\1\u01ef\21\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + + "\1\21\10\24\1\u01f0\15\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\20\24\1\u01f1\5\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\12\24\1\u01f2\13\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\4\24\1\260\21\24" + + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + + "\1\21\6\24\1\u01f3\17\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\12\24\1\u01f4\13\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\26\24\5\0\4\24\3\0\1\24\1\u018d\1\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\1\u01f5\25\24\5\0" + + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + + "\4\24\1\u01f6\21\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + + "\4\24\20\0\1\24\1\21\6\24\1\u011b\17\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\23\24\1\u0118\2\24\5\0\4\24\3\0\3\24\1\0" + + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\11\24\1\u01f7\14\24\5\0" + + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + + "\3\24\1\u0118\22\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\5\24\1\u01f8\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\26\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\7\24" + "\1\u010b\16\24\5\0\4\24\3\0\3\24\1\0\1\21" + + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" + "\20\0\1\24\1\21\6\24\1\u01f9\17\24\5\0\4\24" + + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\1\u01fa" + "\25\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" - + "\1\24\1\21\3\24\1\u0193\22\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" - + "\2\24\2\0\4\24\20\0\1\24\1\21\6\24\1\u0194" + "\17\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" - + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\14\24\1\265\11\24\5\0\4\24\3\0" - + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" + "\2\24\2\0\4\24\20\0\1\24\1\21\1\24\1\u0195" - + "\24\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" - + "\1\24\1\21\7\24\1\265\16\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" - + "\2\24\2\0\4\24\20\0\1\24\1\21\10\24\1\u0196" + "\15\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" - + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\13\24\1\265\12\24\5\0\4\24\3\0" - + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" + "\2\24\2\0\4\24\20\0\1\24\1\21\7\24\1\u0118" - + "\16\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\5\24\1\u0197\1\0\1\21\1\202\2\24\2\0\4\24" - + "\20\0\1\24\1\21\26\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\6\24\1\u0198\17\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\1\u0199\25\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\1\24\1\u019a\24\24\5\0" - + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" - + "\7\24\1\u0182\16\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" - + "\4\24\20\0\1\24\1\21\2\24\1\u019b\23\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\16\24\1\u019c\7\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\23\24\1\u019d\2\24\5\0" - + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" - + "\3\24\1\u019e\22\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" - + "\4\24\20\0\1\24\1\21\5\24\1\u019f\20\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\2\24\1\u0112\23\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\1\u0183\25\24\5\0\4\24" - + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\1\u01a0" - + "\25\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" - + "\1\24\1\21\1\u01a1\25\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\17\24\1\265\6\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\10\24\1\u01a2\15\24\5\0\4\24\3\0\3\24" - + "\5\0\4\u01a3\12\0\2\u01a3\22\0\2\u01a3\3\0\2\u01a3" + "\10\0\1\u01a3\2\0\1\u01a3\10\0\3\u01a3\14\0\4\u01a4" - + "\12\0\2\u01a4\22\0\2\u01a4\3\0\2\u01a4\10\0\1\u01a4" + "\2\0\1\u01a4\10\0\3\u01a4\76\0\1\u01a5\52\0\1\u01a6" - + "\127\0\1\u01a7\126\0\1\u0143\103\0\1\u01a8\4\0\1\u01a9" + "\134\0\1\u01aa\106\0\1\u01ab\77\0\1\u01ac\5\0\1\u01ad" - + "\104\0\1\u01ae\116\0\1\u01af\116\0\1\u01b0\107\0\1\u01b1" + "\105\0\1\u01b2\115\0\1\u01b3\121\0\1\u01b4\117\0\1\u01b5" - + "\105\0\1\u01b6\3\0\1\u01b7\122\0\1\u01b8\114\0\1\u01b9" + "\73\0\1\u01ba\2\0\1\u01bb\21\0\1\u01bc\75\0\1\u01bd" - + "\104\0\1\u01be\125\0\1\u01bf\5\0\1\u01c0\35\0\1\u01c1" + "\157\0\1\u01c2\105\0\1\u01c3\2\0\1\u01c4\14\0\1\u01c5" - + "\105\0\1\u01c6\106\0\1\u01c7\4\0\1\u01c8\113\0\1\u01c9" + "\103\0\1\u01ca\7\0\1\u01cb\115\0\1\u01cc\75\0\1\u01cd" - + "\127\0\1\u01ce\103\0\1\u01cf\15\0\1\u01d0\1\0\1\u01d1" + "\72\0\1\u01d2\116\0\1\u01d3\117\0\1\u01d4\3\0\1\u01d5" - + "\103\0\1\u01d6\2\0\1\u014f\110\0\1\u01d7\113\0\1\u01d8" + "\127\0\1\u01d9\52\0\1\u01da\127\0\1\u01db\126\0\1\u016b" - + "\47\0\1\u01dc\161\0\1\u01dd\123\0\1\u01de\52\0\1\u01df" + "\127\0\1\u01e0\126\0\1\u0171\42\0\6\u0173\3\0\1\u0173" - + "\3\0\6\u0173\13\0\1\u0173\2\0\1\u0173\1\0\26\u0173" + "\5\0\4\u0173\3\0\3\u0173\25\0\1\u01e1\170\0\1\u01e2" - + "\100\0\1\u01e3\52\0\1\u01e4\127\0\1\u01e5\126\0\1\u0179" + "\63\0\1\u01e6\67\0\1\21\2\0\1\21\4\u01e7\1\21" - + "\1\0\4\21\2\0\2\21\2\u01e7\20\0\2\21\2\u01e7" + "\3\21\2\u01e7\10\21\1\u01e7\2\21\1\u01e7\3\21\5\0" - + "\3\u01e7\1\21\3\0\3\21\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" - + "\1\21\4\24\1\u01e8\21\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\16\24\1\265\7\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\6\24\1\u01e9\17\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\10\24\1\u01ea\15\24" + + "\1\24\1\21\1\u0198\25\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\6\24\1\u01fb\17\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\3\24\1\u01fc\22\24\5\0\4\24\3\0\3\24" + + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\7\24\1\u01fd\16\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" - + "\1\21\3\24\1\u0108\22\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\13\24\1\u01eb\12\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\2\24\1\u01ec\23\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\15\24\1\u01ed\10\24" - + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" - + "\1\21\14\24\1\u01ee\11\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\4\24\1\u01ef\21\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\10\24\1\u01f0\15\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\20\24\1\u01f1\5\24" - + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" - + "\1\21\12\24\1\u01f2\13\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\4\24\1\260\21\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\6\24\1\u01f3\17\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\12\24\1\u01f4\13\24" - + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" - + "\1\21\26\24\5\0\4\24\3\0\1\24\1\u018d\1\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\1\u01f5\25\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\4\24\1\u01f6\21\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\6\24\1\u011b\17\24\5\0" - + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" - + "\23\24\1\u0118\2\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" - + "\4\24\20\0\1\24\1\21\11\24\1\u01f7\14\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" - + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\3\24\1\u0118\22\24\5\0\4\24\3\0\3\24\1\0" - + "\1\21\2\0\5\24\1\u01f8\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\26\24\5\0\4\24" - + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\7\24" - + "\1\u010b\16\24\5\0\4\24\3\0\3\24\1\0\1\21" + "\2\0\6\24\1\0\1\21\1\202\2\24\2\0\4\24" - + "\20\0\1\24\1\21\6\24\1\u01f9\17\24\5\0\4\24" + "\3\0\3\24\1\0\1\21\2\0\6\24\1\0\1\21" - + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\1\u01fa" + "\25\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" - + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\1\u0198\25\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\6\24\1\u01fb\17\24" - + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" - + "\1\21\3\24\1\u01fc\22\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" - + "\2\0\4\24\20\0\1\24\1\21\7\24\1\u01fd\16\24" + "\5\0\4\24\3\0\3\24\1\0\1\21\2\0\6\24" - + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\3\24\1\273\22\24\5\0\4\24\3\0\3\24" - + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + "\2\0\4\24\20\0\1\24\1\21\12\24\1\u01fe\13\24" - + "\5\0\4\24\3\0\3\24\42\0\1\u01a7\6\0\1\u0143" + "\46\0\6\u01a6\1\0\1\u01ff\1\0\1\u01ff\2\u01a6\1\u01ff" - + "\4\u01a6\2\u01ff\1\0\2\u01ff\1\0\1\u01ff\2\0\6\u01ff" + "\1\0\1\u01a6\1\u01ff\26\u01a6\2\0\1\u01ff\1\0\1\u01ff" - + "\4\u01a6\3\u01ff\3\u01a6\17\0\1\u0200\144\0\1\u0201\125\0" + "\1\u0202\106\0\1\u01b7\1\0\1\u0203\45\0\1\u0204\164\0" - + "\1\u0205\76\0\1\u0206\120\0\1\u0207\116\0\1\u0208\105\0" + "\1\u01b7\117\0\1\u01b6\105\0\1\u0209\120\0\1\u020a\115\0" - + "\1\u014f\122\0\1\u020b\101\0\1\u01b4\125\0\1\u01b4\105\0" + "\1\u020c\124\0\1\u020d\36\0\1\u020e\113\0\1\u020f\160\0" - + "\1\u0210\106\0\1\u0211\113\0\1\u0212\132\0\1\u0213\70\0" + "\1\u01b4\127\0\1\u0214\77\0\1\u0215\123\0\1\u0216\121\0" - + "\1\u0217\116\0\1\u01b7\102\0\1\u0218\123\0\1\u01b4\111\0" + "\1\u0219\102\0\1\u021a\116\0\1\u021b\106\0\1\u021c\120\0" - + "\1\u021d\124\0\1\u01b4\101\0\1\u01b4\112\0\1\u021e\107\0" + "\1\u021f\122\0\1\u020a\104\0\1\u01c1\136\0\1\u0220\73\0" - + "\1\u0221\14\0\1\u0222\101\0\1\u01b7\115\0\1\u0223\105\0" + "\1\u0224\104\0\1\u01db\6\0\1\u016b\46\0\6\u01da\1\0" - + "\1\u0225\1\0\1\u0225\2\u01da\1\u0225\4\u01da\2\u0225\1\0" + "\2\u0225\1\0\1\u0225\2\0\6\u0225\1\0\1\u01da\1\u0225" - + "\26\u01da\2\0\1\u0225\1\0\1\u0225\4\u01da\3\u0225\3\u01da" + "\17\0\1\u0226\146\0\1\u0227\122\0\1\u0228\74\0\1\u01e0" - + "\6\0\1\u0171\46\0\6\u01df\1\0\1\u0229\1\0\1\u0229" + "\2\u01df\1\u0229\4\u01df\2\u0229\1\0\2\u0229\1\0\1\u0229" - + "\2\0\6\u0229\1\0\1\u01df\1\u0229\26\u01df\2\0\1\u0229" + "\1\0\1\u0229\4\u01df\3\u0229\3\u01df\17\0\1\u022a\177\0" - + "\1\u022b\52\0\1\u01e5\6\0\1\u0179\46\0\6\u01e4\1\0" + "\1\u022c\1\0\1\u022c\2\u01e4\1\u022c\4\u01e4\2\u022c\1\0" - + "\2\u022c\1\0\1\u022c\2\0\6\u022c\1\0\1\u01e4\1\u022c" + "\26\u01e4\2\0\1\u022c\1\0\1\u022c\4\u01e4\3\u022c\3\u01e4" + + "\1\21\3\24\1\273\22\24\5\0\4\24\3\0\3\24" + "\1\0\1\21\2\0\6\24\1\0\1\21\1\202\2\24" + + "\2\0\4\24\20\0\1\24\1\21\12\24\1\u01fe\13\24" + "\5\0\4\24\3\0\3\24\42\0\1\u01a7\6\0\1\u0143" + + "\46\0\6\u01a6\1\0\1\u01ff\1\0\1\u01ff\2\u01a6\1\u01ff" + + "\4\u01a6\2\u01ff\1\0\2\u01ff\1\0\1\u01ff\2\0\6\u01ff" + + "\1\0\1\u01a6\1\u01ff\26\u01a6\2\0\1\u01ff\1\0\1\u01ff" + + "\4\u01a6\3\u01ff\3\u01a6\17\0\1\u0200\144\0\1\u0201\125\0" + + "\1\u0202\106\0\1\u01b7\1\0\1\u0203\45\0\1\u0204\164\0" + + "\1\u0205\76\0\1\u0206\120\0\1\u0207\116\0\1\u0208\105\0" + + "\1\u01b7\117\0\1\u01b6\105\0\1\u0209\120\0\1\u020a\115\0" + + "\1\u014f\122\0\1\u020b\101\0\1\u01b4\125\0\1\u01b4\105\0" + + "\1\u020c\124\0\1\u020d\36\0\1\u020e\113\0\1\u020f\160\0" + + "\1\u0210\106\0\1\u0211\113\0\1\u0212\132\0\1\u0213\70\0" + + "\1\u01b4\127\0\1\u0214\77\0\1\u0215\123\0\1\u0216\121\0" + + "\1\u0217\116\0\1\u01b7\102\0\1\u0218\123\0\1\u01b4\111\0" + + "\1\u0219\102\0\1\u021a\116\0\1\u021b\106\0\1\u021c\120\0" + + "\1\u021d\124\0\1\u01b4\101\0\1\u01b4\112\0\1\u021e\107\0" + + "\1\u021f\122\0\1\u020a\104\0\1\u01c1\136\0\1\u0220\73\0" + + "\1\u0221\14\0\1\u0222\101\0\1\u01b7\115\0\1\u0223\105\0" + + "\1\u0224\104\0\1\u01db\6\0\1\u016b\46\0\6\u01da\1\0" + + "\1\u0225\1\0\1\u0225\2\u01da\1\u0225\4\u01da\2\u0225\1\0" + + "\2\u0225\1\0\1\u0225\2\0\6\u0225\1\0\1\u01da\1\u0225" + + "\26\u01da\2\0\1\u0225\1\0\1\u0225\4\u01da\3\u0225\3\u01da" + + "\17\0\1\u0226\146\0\1\u0227\122\0\1\u0228\74\0\1\u01e0" + + "\6\0\1\u0171\46\0\6\u01df\1\0\1\u0229\1\0\1\u0229" + + "\2\u01df\1\u0229\4\u01df\2\u0229\1\0\2\u0229\1\0\1\u0229" + + "\2\0\6\u0229\1\0\1\u01df\1\u0229\26\u01df\2\0\1\u0229" + + "\1\0\1\u0229\4\u01df\3\u0229\3\u01df\17\0\1\u022a\177\0" + + "\1\u022b\52\0\1\u01e5\6\0\1\u0179\46\0\6\u01e4\1\0" + + "\1\u022c\1\0\1\u022c\2\u01e4\1\u022c\4\u01e4\2\u022c\1\0" + + "\2\u022c\1\0\1\u022c\2\0\6\u022c\1\0\1\u01e4\1\u022c" + + "\26\u01e4\2\0\1\u022c\1\0\1\u022c\4\u01e4\3\u022c\3\u01e4" + "\17\0\1\u022d\75\0\1\21\2\0\1\21\4\u022e\1\21" + "\1\0\4\21\2\0\2\21\2\u022e\20\0\2\21\2\u022e" + "\3\21\2\u022e\10\21\1\u022e\2\21\1\u022e\3\21\5\0" + "\3\u022e\1\21\3\0\3\21\1\0\1\21\2\0\6\24" + "\1\0\1\21\1\202\2\24\2\0\4\24\20\0\1\24" + "\1\21\1\u022f\25\24\5\0\4\24\3\0\3\24\1\0" @@ -567,11 +610,16 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\1\24\1\21\10\24\1\u023c\15\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" + "\2\24\2\0\4\24\20\0\1\24\1\21\7\24\1\u023d" + "\16\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\10\24\1\u023e\15\24\5\0\4\24\3\0" - + "\3\24\17\0\1\u01a6\151\0\1\u023f\121\0\1\u01ce\111\0" + "\1\u01b4\110\0\1\u014f\120\0\1\u021b\105\0\1\u0240\111\0" - + "\1\u0241\111\0\1\u01b7\111\0\1\u0242\123\0\1\u01cf\120\0" + "\1\u01b7\115\0\1\u0243\110\0\1\u0244\103\0\1\u0245\117\0" - + "\1\u0246\104\0\1\u0247\114\0\1\u0248\114\0\1\u0249\114\0" + "\1\u024a\112\0\1\u01b4\130\0\1\u0204\77\0\1\u024b\113\0" - + "\1\u024c\121\0\1\u024d\105\0\1\u014f\107\0\1\u0150\117\0" + "\1\u01b4\107\0\1\u024e\115\0\1\u024f\117\0\1\u0250\47\0" - + "\1\u0251\151\0\1\u0252\121\0\1\u0253\113\0\1\u0254\105\0" + "\1\u0255\123\0\1\u0256\53\0\1\u01da\157\0\1\u0257\115\0" + + "\3\24\17\0\1\u01a6\151\0\1\u023f\121\0\1\u01ce\111\0" + + "\1\u01b4\110\0\1\u014f\120\0\1\u021b\105\0\1\u0240\111\0" + + "\1\u0241\111\0\1\u01b7\111\0\1\u0242\123\0\1\u01cf\120\0" + + "\1\u01b7\115\0\1\u0243\110\0\1\u0244\103\0\1\u0245\117\0" + + "\1\u0246\104\0\1\u0247\114\0\1\u0248\114\0\1\u0249\114\0" + + "\1\u024a\112\0\1\u01b4\130\0\1\u0204\77\0\1\u024b\113\0" + + "\1\u024c\121\0\1\u024d\105\0\1\u014f\107\0\1\u0150\117\0" + + "\1\u01b4\107\0\1\u024e\115\0\1\u024f\117\0\1\u0250\47\0" + + "\1\u0251\151\0\1\u0252\121\0\1\u0253\113\0\1\u0254\105\0" + + "\1\u0255\123\0\1\u0256\53\0\1\u01da\157\0\1\u0257\115\0" + "\1\u0258\45\0\1\u01df\200\0\1\u0259\26\0\1\u01e4\75\0" + "\1\21\2\0\1\21\4\24\1\21\1\0\4\21\2\0" + "\2\21\2\24\20\0\2\21\2\24\3\21\2\24\10\21" + "\1\24\2\21\1\24\3\21\5\0\3\24\1\21\3\0" + "\3\21\1\0\1\21\2\0\6\24\1\0\1\21\1\202" + "\2\24\2\0\4\24\20\0\1\24\1\21\5\24\1\260" @@ -593,9 +641,12 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\21\24\1\265\4\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\3\24\1\u023d\22\24\5\0" + "\4\24\3\0\3\24\53\0\1\u0262\121\0\1\u024c\101\0" - + "\1\u0263\117\0\1\u0264\115\0\1\u0265\117\0\1\u0266\113\0" + "\1\u0267\105\0\1\u01d6\107\0\1\u0268\132\0\1\u0269\74\0" - + "\1\u01c2\3\0\1\u026a\117\0\1\u026b\115\0\1\u021c\104\0" + "\1\u01b7\112\0\1\u014f\120\0\1\u01b4\124\0\1\u026c\100\0" - + "\1\u026d\115\0\1\u0214\107\0\1\u014f\115\0\1\u026e\112\0" + "\1\u026f\112\0\1\u0224\124\0\1\u0203\103\0\1\u0270\41\0" + + "\1\u0263\117\0\1\u0264\115\0\1\u0265\117\0\1\u0266\113\0" + + "\1\u0267\105\0\1\u01d6\107\0\1\u0268\132\0\1\u0269\74\0" + + "\1\u01c2\3\0\1\u026a\117\0\1\u026b\115\0\1\u021c\104\0" + + "\1\u01b7\112\0\1\u014f\120\0\1\u01b4\124\0\1\u026c\100\0" + + "\1\u026d\115\0\1\u0214\107\0\1\u014f\115\0\1\u026e\112\0" + + "\1\u026f\112\0\1\u0224\124\0\1\u0203\103\0\1\u0270\41\0" + "\26\u0258\1\u01b4\65\u0258\104\0\1\u0271\7\0\1\21\2\0" + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\12\24\1\u0272\13\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" + "\2\24\2\0\4\24\20\0\1\24\1\21\12\24\1\260" + "\13\24\5\0\4\24\3\0\3\24\1\0\1\21\2\0" @@ -607,7 +658,8 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\6\24\1\0\1\21\1\202\2\24\2\0\4\24\20\0" + "\1\24\1\21\6\24\1\u013d\17\24\5\0\4\24\3\0" + "\3\24\1\0\1\21\2\0\6\24\1\0\1\21\1\202" + "\2\24\2\0\4\24\20\0\1\24\1\21\12\24\1\265" + "\13\24\5\0\4\24\3\0\3\24\63\0\1\u0265\104\0" + "\1\u0214\127\0\1\u01b4\114\0\1\u01b4\100\0\1\u0264\111\0" - + "\1\u01c8\114\0\1\u0275\47\0\1\u0276\162\0\1\u0277\102\0" + "\1\u01b5\113\0\1\u026e\116\0\1\u0278\113\0\1\u0264\120\0" + + "\1\u01c8\114\0\1\u0275\47\0\1\u0276\162\0\1\u0277\102\0" + + "\1\u01b5\113\0\1\u026e\116\0\1\u0278\113\0\1\u0264\120\0" + "\1\u0279\140\0\1\u027a\10\0\1\21\2\0\6\24\1\0" + "\1\21\1\202\2\24\2\0\4\24\20\0\1\24\1\21" + "\10\24\1\u027b\15\24\5\0\4\24\3\0\3\24\1\0" + "\1\21\2\0\6\24\1\0\1\21\1\202\2\24\2\0" + "\4\24\20\0\1\24\1\21\3\24\1\u0115\22\24\5\0" + "\4\24\3\0\3\24\1\0\1\21\2\0\6\24\1\0" @@ -615,14 +667,14 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { + "\116\0\1\u027c\121\0\1\u0214\106\0\1\u01ce\105\0\1\u027d" + "\145\0\1\u027e\13\0\1\21\2\0\6\24\1\0\1\21" + "\1\202\2\24\2\0\4\24\20\0\1\24\1\21\26\24" + "\5\0\4\24\3\0\1\u0260\2\24\52\0\1\u027f\117\0" + "\1\u0258\106\0\1\u01b4\11\0\1\u021b\31\0"; - + private static int[] zzUnpackTrans() { int[] result = new int[43244]; 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 */ @@ -637,7 +689,7 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -649,20 +701,22 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { * 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\2\1\3\0\2\1\1\11\4\1\1\11\4\1" + "\2\11\4\1\1\11\24\1\2\11\2\1\1\11\1\1" - + "\1\11\1\1\1\11\1\1\1\11\1\1\1\11\1\1" + "\1\11\5\1\1\11\10\1\1\11\5\1\1\11\2\1" + "\1\11\1\1\1\11\5\1\1\11\2\1\1\11\1\1" - + "\3\11\3\1\3\11\1\1\1\11\4\1\1\11\2\1" + "\1\11\1\1\1\11\1\1\1\11\12\1\2\0\1\11" + "\3\1\2\0\1\11\64\1\1\11\2\1\1\11\4\0" - + "\1\11\2\0\1\11\32\0\3\1\2\11\5\0\1\11" + "\2\0\2\11\2\1\1\0\76\1\64\0\1\1\2\0" + "\1\11\5\0\1\11\1\1\1\11\44\1\1\0\1\11" - + "\1\0\1\1\15\0\1\11\45\0\1\1\4\0\1\1" + "\1\0\1\11\2\0\1\1\1\0\1\11\30\1\15\0" + "\1\1\20\0\1\1\20\0\21\1\33\0\11\1\4\0" - + "\1\1\12\0\3\1\6\0\1\1\2\0\1\11\1\0"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\13\0\2\1\3\0\2\1\1\11\4\1\1\11\4\1" + + "\2\11\4\1\1\11\24\1\2\11\2\1\1\11\1\1" + "\1\11\1\1\1\11\1\1\1\11\1\1\1\11\1\1" + + "\1\11\5\1\1\11\10\1\1\11\5\1\1\11\2\1" + "\1\11\1\1\1\11\5\1\1\11\2\1\1\11\1\1" + + "\3\11\3\1\3\11\1\1\1\11\4\1\1\11\2\1" + "\1\11\1\1\1\11\1\1\1\11\12\1\2\0\1\11" + + "\3\1\2\0\1\11\64\1\1\11\2\1\1\11\4\0" + "\1\11\2\0\1\11\32\0\3\1\2\11\5\0\1\11" + + "\2\0\2\11\2\1\1\0\76\1\64\0\1\1\2\0" + "\1\11\5\0\1\11\1\1\1\11\44\1\1\0\1\11" + + "\1\0\1\1\15\0\1\11\45\0\1\1\4\0\1\1" + "\1\0\1\11\2\0\1\1\1\0\1\11\30\1\15\0" + + "\1\1\20\0\1\1\20\0\21\1\33\0\11\1\4\0" + "\1\1\12\0\3\1\6\0\1\1\2\0\1\11\1\0"; + private static int[] zzUnpackAttribute() { int[] result = new int[639]; 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 */ @@ -676,7 +730,7 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -684,8 +738,8 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -695,8 +749,7 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ @@ -719,13 +772,11 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { */ private static final int INTERNAL_IN_JS_STRING_VALID = -11; /** - * Token type specifying we're in an invalid multi-line JS single-quoted - * string. + * Token type specifying we're in an invalid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_INVALID = -12; /** - * Token type specifying we're in a valid multi-line JS single-quoted - * string. + * Token type specifying we're in a valid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_VALID = -13; private static final int INTERNAL_E4X = -14; @@ -770,84 +821,74 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { */ private static final int LANG_INDEX_E4X = 1; private Stack varDepths; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public TypeScriptTokenMaker() { super(); } - + static { e4xSupported = true; } - + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * Returns the closest {@link TokenTypes} "standard" token type for a given * "internal" token type (e.g. one whose value is < 0). @@ -855,23 +896,23 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { @Override public int getClosestStandardTokenTypeForInternalType(int type) { switch (type) { - case INTERNAL_IN_JS_MLC: - return TokenTypes.COMMENT_MULTILINE; - case INTERNAL_IN_JS_COMMENT_DOCUMENTATION: - return TokenTypes.COMMENT_DOCUMENTATION; - case INTERNAL_IN_JS_STRING_INVALID: - case INTERNAL_IN_JS_STRING_VALID: - case INTERNAL_IN_JS_CHAR_INVALID: - case INTERNAL_IN_JS_CHAR_VALID: - return TokenTypes.LITERAL_STRING_DOUBLE_QUOTE; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: - return TokenTypes.LITERAL_BACKQUOTE; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: - return TokenTypes.ERROR_STRING_DOUBLE; + case INTERNAL_IN_JS_MLC: + return TokenTypes.COMMENT_MULTILINE; + case INTERNAL_IN_JS_COMMENT_DOCUMENTATION: + return TokenTypes.COMMENT_DOCUMENTATION; + case INTERNAL_IN_JS_STRING_INVALID: + case INTERNAL_IN_JS_STRING_VALID: + case INTERNAL_IN_JS_CHAR_INVALID: + case INTERNAL_IN_JS_CHAR_VALID: + return TokenTypes.LITERAL_STRING_DOUBLE_QUOTE; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: + return TokenTypes.LITERAL_BACKQUOTE; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: + return TokenTypes.ERROR_STRING_DOUBLE; } return type; } - + /** * {@inheritDoc} */ @@ -879,21 +920,18 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "//", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -906,83 +944,83 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case INTERNAL_IN_JS_MLC: - state = JS_MLC; - break; - case INTERNAL_IN_JS_COMMENT_DOCUMENTATION: - state = JS_DOCCOMMENT; - start = text.offset; - break; - case INTERNAL_IN_JS_STRING_INVALID: - state = JS_STRING; - validJSString = false; - break; - case INTERNAL_IN_JS_STRING_VALID: - state = JS_STRING; - break; - case INTERNAL_IN_JS_CHAR_INVALID: - state = JS_CHAR; - validJSString = false; - break; - case INTERNAL_IN_JS_CHAR_VALID: - state = JS_CHAR; - break; - case INTERNAL_E4X: - state = E4X; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_INTAG: - state = E4X_INTAG; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION: - state = E4X_PI; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_DTD: - state = E4X_DTD; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_DTD_INTERNAL: - state = E4X_DTD; - e4x_inInternalDtd = true; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_ATTR_SINGLE: - state = E4X_INATTR_SINGLE; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_ATTR_DOUBLE: - state = E4X_INATTR_DOUBLE; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_E4X_MARKUP_CDATA: - state = E4X_CDATA; - languageIndex = LANG_INDEX_E4X; - break; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: - state = JS_TEMPLATE_LITERAL; - validJSString = true; - break; - case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: - state = JS_TEMPLATE_LITERAL; - validJSString = false; - break; - default: - if (initialTokenType < -1024) { // INTERNAL_IN_E4X_COMMENT - - // prevState - int main = -(-initialTokenType & 0xffffff00); - switch (main) { - default: // Should never happen - case INTERNAL_IN_E4X_COMMENT: - state = E4X_COMMENT; - break; - } - e4x_prevState = -initialTokenType & 0xff; - languageIndex = LANG_INDEX_E4X; - } else { // Shouldn't happen - state = Token.NULL; + case INTERNAL_IN_JS_MLC: + state = JS_MLC; + break; + case INTERNAL_IN_JS_COMMENT_DOCUMENTATION: + state = JS_DOCCOMMENT; + start = text.offset; + break; + case INTERNAL_IN_JS_STRING_INVALID: + state = JS_STRING; + validJSString = false; + break; + case INTERNAL_IN_JS_STRING_VALID: + state = JS_STRING; + break; + case INTERNAL_IN_JS_CHAR_INVALID: + state = JS_CHAR; + validJSString = false; + break; + case INTERNAL_IN_JS_CHAR_VALID: + state = JS_CHAR; + break; + case INTERNAL_E4X: + state = E4X; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_INTAG: + state = E4X_INTAG; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION: + state = E4X_PI; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_DTD: + state = E4X_DTD; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_DTD_INTERNAL: + state = E4X_DTD; + e4x_inInternalDtd = true; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_ATTR_SINGLE: + state = E4X_INATTR_SINGLE; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_ATTR_DOUBLE: + state = E4X_INATTR_DOUBLE; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_E4X_MARKUP_CDATA: + state = E4X_CDATA; + languageIndex = LANG_INDEX_E4X; + break; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID: + state = JS_TEMPLATE_LITERAL; + validJSString = true; + break; + case INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID: + state = JS_TEMPLATE_LITERAL; + validJSString = false; + break; + default: + if (initialTokenType < -1024) { // INTERNAL_IN_E4X_COMMENT - + // prevState + int main = -(-initialTokenType & 0xffffff00); + switch (main) { + default: // Should never happen + case INTERNAL_IN_E4X_COMMENT: + state = E4X_COMMENT; + break; } + e4x_prevState = -initialTokenType & 0xff; + languageIndex = LANG_INDEX_E4X; + } else { // Shouldn't happen + state = Token.NULL; + } } setLanguageIndex(languageIndex); start = text.offset; @@ -996,7 +1034,7 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { return new TokenImpl(); } } - + /** * Returns whether e4x is being highlighted. * @@ -1006,49 +1044,46 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { public static boolean isE4xSupported() { return e4xSupported; } - + /** - * Sets whether e4x should be highlighted. A repaint should be forced on - * all RSyntaxTextAreas editing JavaScript if this property - * is changed to see the difference. + * Sets whether e4x should be highlighted. A repaint should be forced on all + * RSyntaxTextAreas editing JavaScript if this property is changed + * to see the difference. * - * @param supported - * Whether e4x should be highlighted. + * @param supported Whether e4x should be highlighted. * @see #isE4xSupported() */ public static void setE4xSupported(boolean supported) { e4xSupported = supported; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -1058,34 +1093,31 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public TypeScriptTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public TypeScriptTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -1101,7 +1133,7 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -1111,69 +1143,64 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -1184,29 +1211,27 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -1225,8 +1250,7 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -1266,714 +1290,712 @@ public class TypeScriptTokenMaker extends AbstractJFlexCTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 35: { - start = zzMarkedPos - 1; - yybegin(E4X_INATTR_SINGLE); + case 35: { + start = zzMarkedPos - 1; + yybegin(E4X_INATTR_SINGLE); + } + case 82: + break; + case 34: { + start = zzMarkedPos - 1; + yybegin(E4X_INATTR_DOUBLE); + } + case 83: + break; + case 43: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 84: + break; + case 80: { + addToken(Token.RESERVED_WORD_2); + } + case 85: + break; + case 27: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + addEndToken(e4x_inInternalDtd ? INTERNAL_E4X_DTD_INTERNAL : INTERNAL_E4X_DTD); + return firstToken; + } + case 86: + break; + case 40: { + int type = validJSString ? Token.LITERAL_BACKQUOTE : Token.ERROR_STRING_DOUBLE; + addToken(start, zzStartRead, type); + yybegin(YYINITIAL); + } + case 87: + break; + case 16: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_CHAR); + addEndToken(INTERNAL_IN_JS_CHAR_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_CHAR); + addEndToken(INTERNAL_IN_JS_CHAR_INVALID); } - case 82: - break; - case 34: { - start = zzMarkedPos - 1; - yybegin(E4X_INATTR_DOUBLE); + return firstToken; + } + case 88: + break; + case 3: { + addToken(Token.WHITESPACE); + } + case 89: + break; + case 18: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 90: + break; + case 48: { + int start = zzStartRead; + int operatorLen = yycharat(0) == '+' ? 2 : 1; + int yylen = yylength(); // Cache before first addToken() + // invalidates it + // System.out.println("'" + yytext() + "': " + yylength() + + // ", " + (operatorLen+1)); + addToken(zzStartRead, zzStartRead + operatorLen - 1, Token.OPERATOR); + if (yylen > operatorLen + 1) { + // System.out.println((start+operatorLen) + ", " + + // (zzMarkedPos-2)); + addToken(start + operatorLen, zzMarkedPos - 2, Token.WHITESPACE); } - case 83: - break; - case 43: { - addToken(Token.ERROR_NUMBER_FORMAT); + zzStartRead = zzCurrentPos = zzMarkedPos = zzMarkedPos - 1; + if (isE4xSupported()) { + // Scanning will continue with "<" as markup tag start + yybegin(E4X, LANG_INDEX_E4X); } - case 84: - break; - case 80: { - addToken(Token.RESERVED_WORD_2); + // Found e4x (or syntax error) but option not enabled; + // Scanning will continue at "<" as operator + } + case 91: + break; + case 72: { + addToken(Token.FUNCTION); + } + case 92: + break; + case 56: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_MARKUP); + start = zzMarkedPos; + } + case 93: + break; + case 61: { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + start = zzMarkedPos - 2; + if (varDepths == null) { + varDepths = new Stack(); + } else { + varDepths.clear(); } - case 85: - break; - case 27: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - addEndToken(e4x_inInternalDtd ? INTERNAL_E4X_DTD_INTERNAL : INTERNAL_E4X_DTD); - return firstToken; - } - case 86: - break; - case 40: { - int type = validJSString ? Token.LITERAL_BACKQUOTE : Token.ERROR_STRING_DOUBLE; - addToken(start, zzStartRead, type); - yybegin(YYINITIAL); - } - case 87: - break; - case 16: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_CHAR); - addEndToken(INTERNAL_IN_JS_CHAR_INVALID); + varDepths.push(Boolean.TRUE); + yybegin(JS_TEMPLATE_LITERAL_EXPR); + } + case 94: + break; + case 42: { + if (!varDepths.empty()) { + varDepths.pop(); + if (varDepths.empty()) { + addToken(start, zzStartRead, Token.VARIABLE); + start = zzMarkedPos; + yybegin(JS_TEMPLATE_LITERAL); } - return firstToken; } - case 88: - break; - case 3: { - addToken(Token.WHITESPACE); - } - case 89: - break; - case 18: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 90: - break; - case 48: { - int start = zzStartRead; - int operatorLen = yycharat(0) == '+' ? 2 : 1; - int yylen = yylength(); // Cache before first addToken() - // invalidates it - // System.out.println("'" + yytext() + "': " + yylength() + - // ", " + (operatorLen+1)); - addToken(zzStartRead, zzStartRead + operatorLen - 1, Token.OPERATOR); - if (yylen > operatorLen + 1) { - // System.out.println((start+operatorLen) + ", " + - // (zzMarkedPos-2)); - addToken(start + operatorLen, zzMarkedPos - 2, Token.WHITESPACE); - } - zzStartRead = zzCurrentPos = zzMarkedPos = zzMarkedPos - 1; - if (isE4xSupported()) { - // Scanning will continue with "<" as markup tag start - yybegin(E4X, LANG_INDEX_E4X); - } - // Found e4x (or syntax error) but option not enabled; - // Scanning will continue at "<" as operator - } - case 91: - break; - case 72: { - addToken(Token.FUNCTION); - } - case 92: - break; - case 56: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_MARKUP); - start = zzMarkedPos; - } - case 93: - break; - case 61: { + } + case 95: + break; + case 37: { + if (validJSString) { addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - start = zzMarkedPos - 2; - if (varDepths == null) { - varDepths = new Stack(); - } else { - varDepths.clear(); - } - varDepths.push(Boolean.TRUE); - yybegin(JS_TEMPLATE_LITERAL_EXPR); - } - case 94: - break; - case 42: { - if (!varDepths.empty()) { - varDepths.pop(); - if (varDepths.empty()) { - addToken(start, zzStartRead, Token.VARIABLE); - start = zzMarkedPos; - yybegin(JS_TEMPLATE_LITERAL); - } - } - } - case 95: - break; - case 37: { - if (validJSString) { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 96: - break; - case 39: { /* - * Skip valid '$' that is not part of template - * literal expression start - */ - } - case 97: - break; - case 11: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_TEMPLATE_LITERAL); - } - case 98: - break; - case 51: { /* Skip all escaped chars. */ - } - case 99: - break; - case 12: { + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } - case 100: - break; - case 77: { - start = zzStartRead; - e4x_prevState = zzLexicalState; - yybegin(E4X_COMMENT); - } - case 101: - break; - case 68: { - int temp = zzStartRead; - yybegin(E4X); - addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); - addToken(temp, zzMarkedPos - 1, Token.MARKUP_CDATA_DELIMITER); - } - case 102: - break; - case 62: { - varDepths.push(Boolean.TRUE); - } - case 103: - break; - case 66: { - int count = yylength(); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - (count - 2), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - yybegin(E4X_INTAG); - } - case 104: - break; - case 53: { - /* Invalid latin-1 character \xXX */ validJSString = false; - } - case 105: - break; - case 69: { - addToken(Token.COMMENT_MULTILINE); - } - case 106: - break; - case 59: { - start = zzMarkedPos - 2; - yybegin(E4X_PI); - } - case 107: - break; - case 36: { - yybegin(E4X_INTAG); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 108: - break; - case 14: { - int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; - addToken(start, zzStartRead, type); - yybegin(YYINITIAL); - } - case 109: - break; - case 20: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 110: - break; - case 24: { - yybegin(YYINITIAL, LANG_INDEX_DEFAULT); - addToken(Token.IDENTIFIER); - } - case 111: - break; - case 52: { - /* Invalid Unicode character \\uXXXX */ validJSString = false; - } - case 112: - break; - case 79: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - start = temp; - e4x_prevState = zzLexicalState; - yybegin(E4X_COMMENT); - } - case 113: - break; - case 71: { - if (e4xSupported) { - addToken(Token.RESERVED_WORD); - } else { - addToken(Token.IDENTIFIER); - } - } - case 114: - break; - case 67: { - int temp = zzMarkedPos; - addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); - start = temp; - yybegin(e4x_prevState); - } - case 115: - break; - case 7: { - addToken(Token.OPERATOR); - } - case 116: - break; - case 60: { - yybegin(E4X); - addToken(start, zzStartRead + 1, Token.MARKUP_PROCESSING_INSTRUCTION); - } - case 117: - break; - case 55: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); - } - case 118: - break; - case 19: { - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); - return firstToken; - } - case 119: - break; - case 26: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - addEndToken(INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 120: - break; - case 5: { - addToken(Token.IDENTIFIER); - } - case 121: - break; - case 73: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); - start = zzMarkedPos; - } - case 122: - break; - case 49: { - addToken(isE4xSupported() ? Token.MARKUP_TAG_ATTRIBUTE : Token.ERROR_IDENTIFIER); - } - case 123: - break; - case 76: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 124: - break; - case 64: { - start = zzMarkedPos - 3; - yybegin(JS_DOCCOMMENT); - } - case 125: - break; - case 9: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_STRING); - } - case 126: - break; - case 58: { - start = zzMarkedPos - 2; - e4x_inInternalDtd = false; - yybegin(E4X_DTD); - } - case 127: - break; - case 38: { - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 128: - break; - case 25: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addEndToken(INTERNAL_IN_E4X_COMMENT - e4x_prevState); - return firstToken; - } - case 129: - break; - case 10: { - start = zzMarkedPos - 1; - validJSString = true; - yybegin(JS_CHAR); - } - case 130: - break; - case 29: { - e4x_inInternalDtd = true; - } - case 131: - break; - case 75: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); - start = zzMarkedPos; - } - case 132: - break; - case 47: { - start = zzMarkedPos - 2; - yybegin(JS_MLC); - } - case 133: - break; - case 45: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 134: - break; - case 81: { - addToken(Token.MARKUP_CDATA_DELIMITER); - start = zzMarkedPos; - yybegin(E4X_CDATA); - } - case 135: - break; - case 32: { - addToken(Token.MARKUP_TAG_DELIMITER); /* - * Not valid but - * we'll still - * accept it - */ - } - case 136: - break; - case 2: { - addToken(Token.ERROR_IDENTIFIER); - } - case 137: - break; - case 78: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); - start = zzMarkedPos; - } - case 138: - break; - case 33: { - yybegin(E4X); - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 139: - break; - case 23: { - addToken(Token.MARKUP_ENTITY_REFERENCE); - } - case 140: - break; - case 70: { - addToken(Token.LITERAL_BOOLEAN); - } - case 141: - break; - case 4: { - addNullToken(); - return firstToken; - } - case 142: - break; - case 50: { + return firstToken; + } + case 96: + break; + case 39: { /* + * Skip valid '$' that is not part of template literal expression start + */ + } + case 97: + break; + case 11: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_TEMPLATE_LITERAL); + } + case 98: + break; + case 51: { /* Skip all escaped chars. */ + } + case 99: + break; + case 12: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 100: + break; + case 77: { + start = zzStartRead; + e4x_prevState = zzLexicalState; + yybegin(E4X_COMMENT); + } + case 101: + break; + case 68: { + int temp = zzStartRead; + yybegin(E4X); + addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); + addToken(temp, zzMarkedPos - 1, Token.MARKUP_CDATA_DELIMITER); + } + case 102: + break; + case 62: { + varDepths.push(Boolean.TRUE); + } + case 103: + break; + case 66: { + int count = yylength(); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - (count - 2), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + yybegin(E4X_INTAG); + } + case 104: + break; + case 53: { + /* Invalid latin-1 character \xXX */ validJSString = false; + } + case 105: + break; + case 69: { + addToken(Token.COMMENT_MULTILINE); + } + case 106: + break; + case 59: { + start = zzMarkedPos - 2; + yybegin(E4X_PI); + } + case 107: + break; + case 36: { + yybegin(E4X_INTAG); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 108: + break; + case 14: { + int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; + addToken(start, zzStartRead, type); + yybegin(YYINITIAL); + } + case 109: + break; + case 20: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 110: + break; + case 24: { + yybegin(YYINITIAL, LANG_INDEX_DEFAULT); + addToken(Token.IDENTIFIER); + } + case 111: + break; + case 52: { + /* Invalid Unicode character \\uXXXX */ validJSString = false; + } + case 112: + break; + case 79: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + start = temp; + e4x_prevState = zzLexicalState; + yybegin(E4X_COMMENT); + } + case 113: + break; + case 71: { + if (e4xSupported) { addToken(Token.RESERVED_WORD); + } else { + addToken(Token.IDENTIFIER); } - case 143: - break; - case 54: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 114: + break; + case 67: { + int temp = zzMarkedPos; + addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); + start = temp; + yybegin(e4x_prevState); + } + case 115: + break; + case 7: { + addToken(Token.OPERATOR); + } + case 116: + break; + case 60: { + yybegin(E4X); + addToken(start, zzStartRead + 1, Token.MARKUP_PROCESSING_INSTRUCTION); + } + case 117: + break; + case 55: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_DOCUMENTATION); + } + case 118: + break; + case 19: { + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); + return firstToken; + } + case 119: + break; + case 26: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + addEndToken(INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 120: + break; + case 5: { + addToken(Token.IDENTIFIER); + } + case 121: + break; + case 73: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_MULTILINE); + start = zzMarkedPos; + } + case 122: + break; + case 49: { + addToken(isE4xSupported() ? Token.MARKUP_TAG_ATTRIBUTE : Token.ERROR_IDENTIFIER); + } + case 123: + break; + case 76: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 124: + break; + case 64: { + start = zzMarkedPos - 3; + yybegin(JS_DOCCOMMENT); + } + case 125: + break; + case 9: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_STRING); + } + case 126: + break; + case 58: { + start = zzMarkedPos - 2; + e4x_inInternalDtd = false; + yybegin(E4X_DTD); + } + case 127: + break; + case 38: { + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } - case 144: - break; - case 65: { - addToken(Token.DATA_TYPE); + return firstToken; + } + case 128: + break; + case 25: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addEndToken(INTERNAL_IN_E4X_COMMENT - e4x_prevState); + return firstToken; + } + case 129: + break; + case 10: { + start = zzMarkedPos - 1; + validJSString = true; + yybegin(JS_CHAR); + } + case 130: + break; + case 29: { + e4x_inInternalDtd = true; + } + case 131: + break; + case 75: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_DOCUMENTATION); + start = zzMarkedPos; + } + case 132: + break; + case 47: { + start = zzMarkedPos - 2; + yybegin(JS_MLC); + } + case 133: + break; + case 45: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 134: + break; + case 81: { + addToken(Token.MARKUP_CDATA_DELIMITER); + start = zzMarkedPos; + yybegin(E4X_CDATA); + } + case 135: + break; + case 32: { + addToken(Token.MARKUP_TAG_DELIMITER); /* + * Not valid but we'll still accept it + */ + } + case 136: + break; + case 2: { + addToken(Token.ERROR_IDENTIFIER); + } + case 137: + break; + case 78: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); + start = zzMarkedPos; + } + case 138: + break; + case 33: { + yybegin(E4X); + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 139: + break; + case 23: { + addToken(Token.MARKUP_ENTITY_REFERENCE); + } + case 140: + break; + case 70: { + addToken(Token.LITERAL_BOOLEAN); + } + case 141: + break; + case 4: { + addNullToken(); + return firstToken; + } + case 142: + break; + case 50: { + addToken(Token.RESERVED_WORD); + } + case 143: + break; + case 54: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.COMMENT_MULTILINE); + } + case 144: + break; + case 65: { + addToken(Token.DATA_TYPE); + } + case 145: + break; + case 22: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(E4X_INTAG); + } + case 146: + break; + case 8: { + addToken(Token.SEPARATOR); + } + case 147: + break; + case 31: { + addToken(Token.MARKUP_TAG_ATTRIBUTE); + } + case 148: + break; + case 74: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); + addToken(temp, zzMarkedPos - 1, Token.COMMENT_KEYWORD); + start = zzMarkedPos; + } + case 149: + break; + case 17: { + int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; + addToken(start, zzStartRead, type); + yybegin(YYINITIAL); + } + case 150: + break; + case 46: { + start = zzMarkedPos - 2; + yybegin(JS_EOL_COMMENT); + } + case 151: + break; + case 21: { + addEndToken(INTERNAL_E4X); + return firstToken; + } + case 152: + break; + case 13: { /* Line ending in '\' => continue to next line. */ + if (validJSString) { + addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); + addEndToken(INTERNAL_IN_JS_STRING_VALID); + } else { + addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_STRING_INVALID); } - case 145: - break; - case 22: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(E4X_INTAG); - } - case 146: - break; - case 8: { - addToken(Token.SEPARATOR); - } - case 147: - break; - case 31: { - addToken(Token.MARKUP_TAG_ATTRIBUTE); - } - case 148: - break; - case 74: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_DOCUMENTATION); - addToken(temp, zzMarkedPos - 1, Token.COMMENT_KEYWORD); - start = zzMarkedPos; - } - case 149: - break; - case 17: { - int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; - addToken(start, zzStartRead, type); - yybegin(YYINITIAL); - } - case 150: - break; - case 46: { - start = zzMarkedPos - 2; - yybegin(JS_EOL_COMMENT); - } - case 151: - break; - case 21: { - addEndToken(INTERNAL_E4X); - return firstToken; - } - case 152: - break; - case 13: { /* Line ending in '\' => continue to next line. */ - if (validJSString) { - addToken(start, zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); - addEndToken(INTERNAL_IN_JS_STRING_VALID); - } else { - addToken(start, zzStartRead, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_STRING_INVALID); - } - return firstToken; - } - case 153: - break; - case 44: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 154: - break; - case 57: { - int count = yylength(); - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - (count - 1), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - yybegin(E4X_INTAG); - } - case 155: - break; - case 63: { - boolean highlightedAsRegex = false; - if (firstToken == null) { + return firstToken; + } + case 153: + break; + case 44: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 154: + break; + case 57: { + int count = yylength(); + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - (count - 1), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + yybegin(E4X_INTAG); + } + case 155: + break; + case 63: { + boolean highlightedAsRegex = false; + if (firstToken == null) { + addToken(Token.REGEX); + highlightedAsRegex = true; + } else { + // If this is *likely* to be a regex, based on + // the previous token, highlight it as such. + Token t = firstToken.getLastNonCommentNonWhitespaceToken(); + if (RSyntaxUtilities.regexCanFollowInJavaScript(t)) { addToken(Token.REGEX); highlightedAsRegex = true; - } else { - // If this is *likely* to be a regex, based on - // the previous token, highlight it as such. - Token t = firstToken.getLastNonCommentNonWhitespaceToken(); - if (RSyntaxUtilities.regexCanFollowInJavaScript(t)) { - addToken(Token.REGEX); - highlightedAsRegex = true; + } + } + // If it doesn't *appear* to be a regex, highlight it as + // individual tokens. + if (!highlightedAsRegex) { + int temp = zzStartRead + 1; + addToken(zzStartRead, zzStartRead, Token.OPERATOR); + zzStartRead = zzCurrentPos = zzMarkedPos = temp; + } + } + case 156: + break; + case 28: { + if (!e4x_inInternalDtd) { + yybegin(E4X); + addToken(start, zzStartRead, Token.MARKUP_DTD); + } + } + case 157: + break; + case 6: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 158: + break; + case 30: { + e4x_inInternalDtd = false; + } + case 159: + break; + case 15: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 160: + break; + case 41: { // TODO: This isn't right. The expression and its + // depth should continue to the next line. + addToken(start, zzStartRead - 1, Token.VARIABLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + return firstToken; + } + case 161: + break; + case 1: { + } + case 162: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case JS_STRING: { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 640: + break; + case E4X: { + addEndToken(INTERNAL_E4X); + return firstToken; + } + case 641: + break; + case E4X_INTAG: { + addToken(start, zzStartRead - 1, INTERNAL_E4X_INTAG); + return firstToken; + } + case 642: + break; + case E4X_PI: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + addEndToken(INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 643: + break; + case JS_MLC: { + addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); + addEndToken(INTERNAL_IN_JS_MLC); + return firstToken; + } + case 644: + break; + case JS_CHAR: { + addToken(start, zzStartRead - 1, Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 645: + break; + case JS_EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 646: + break; + case E4X_COMMENT: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addEndToken(INTERNAL_IN_E4X_COMMENT - e4x_prevState); + return firstToken; + } + case 647: + break; + case JS_DOCCOMMENT: { + yybegin(YYINITIAL); + addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); + addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); + return firstToken; + } + case 648: + break; + case E4X_DTD: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + addEndToken(e4x_inInternalDtd ? INTERNAL_E4X_DTD_INTERNAL : INTERNAL_E4X_DTD); + return firstToken; + } + case 649: + break; + case JS_TEMPLATE_LITERAL: { + if (validJSString) { + addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); + } else { + addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); } + return firstToken; } - // If it doesn't *appear* to be a regex, highlight it as - // individual tokens. - if (!highlightedAsRegex) { - int temp = zzStartRead + 1; - addToken(zzStartRead, zzStartRead, Token.OPERATOR); - zzStartRead = zzCurrentPos = zzMarkedPos = temp; + case 650: + break; + case E4X_INATTR_SINGLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_E4X_ATTR_SINGLE); + return firstToken; } - } - case 156: - break; - case 28: { - if (!e4x_inInternalDtd) { - yybegin(E4X); - addToken(start, zzStartRead, Token.MARKUP_DTD); + case 651: + break; + case E4X_INATTR_DOUBLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_E4X_ATTR_DOUBLE); + return firstToken; } - } - case 157: - break; - case 6: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 158: - break; - case 30: { - e4x_inInternalDtd = false; - } - case 159: - break; - case 15: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 160: - break; - case 41: { // TODO: This isn't right. The expression and its - // depth should continue to the next line. - addToken(start, zzStartRead - 1, Token.VARIABLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - return firstToken; - } - case 161: - break; - case 1: {} - case 162: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case JS_STRING: { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 640: - break; - case E4X: { - addEndToken(INTERNAL_E4X); - return firstToken; - } - case 641: - break; - case E4X_INTAG: { - addToken(start, zzStartRead - 1, INTERNAL_E4X_INTAG); - return firstToken; - } - case 642: - break; - case E4X_PI: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - addEndToken(INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 643: - break; - case JS_MLC: { - addToken(start, zzStartRead - 1, Token.COMMENT_MULTILINE); - addEndToken(INTERNAL_IN_JS_MLC); - return firstToken; - } - case 644: - break; - case JS_CHAR: { - addToken(start, zzStartRead - 1, Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 645: - break; - case JS_EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 646: - break; - case E4X_COMMENT: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addEndToken(INTERNAL_IN_E4X_COMMENT - e4x_prevState); - return firstToken; - } - case 647: - break; - case JS_DOCCOMMENT: { - yybegin(YYINITIAL); - addToken(start, zzEndRead, Token.COMMENT_DOCUMENTATION); - addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); - return firstToken; - } - case 648: - break; - case E4X_DTD: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - addEndToken(e4x_inInternalDtd ? INTERNAL_E4X_DTD_INTERNAL : INTERNAL_E4X_DTD); - return firstToken; - } - case 649: - break; - case JS_TEMPLATE_LITERAL: { - if (validJSString) { - addToken(start, zzStartRead - 1, Token.LITERAL_BACKQUOTE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_VALID); - } else { - addToken(start, zzStartRead - 1, Token.ERROR_STRING_DOUBLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - } - return firstToken; - } - case 650: - break; - case E4X_INATTR_SINGLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_E4X_ATTR_SINGLE); - return firstToken; - } - case 651: - break; - case E4X_INATTR_DOUBLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_E4X_ATTR_DOUBLE); - return firstToken; - } - case 652: - break; - case JS_TEMPLATE_LITERAL_EXPR: { - // TODO: This isn't right. The expression and - // its depth should continue to the next line. - addToken(start, zzStartRead - 1, Token.VARIABLE); - addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); - return firstToken; - } - case 653: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 654: - break; - case E4X_CDATA: { - addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); - addEndToken(INTERNAL_E4X_MARKUP_CDATA); - return firstToken; - } - case 655: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 652: + break; + case JS_TEMPLATE_LITERAL_EXPR: { + // TODO: This isn't right. The expression and + // its depth should continue to the next line. + addToken(start, zzStartRead - 1, Token.VARIABLE); + addEndToken(INTERNAL_IN_JS_TEMPLATE_LITERAL_INVALID); + return firstToken; } + case 653: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 654: + break; + case E4X_CDATA: { + addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); + addEndToken(INTERNAL_E4X_MARKUP_CDATA); + return firstToken; + } + case 655: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/UnixShellTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/UnixShellTokenMaker.java index 35b91a7..9915ac9 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/UnixShellTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/UnixShellTokenMaker.java @@ -14,14 +14,14 @@ import org.fife.ui.rsyntaxtextarea.Token; import org.fife.ui.rsyntaxtextarea.TokenMap; /** - * A token maker that turns text into a linked list of Tokens - * for syntax highlighting UNIX shell scripts. + * A token maker that turns text into a linked list of Tokens for + * syntax highlighting UNIX shell scripts. * * @author Robert Futrell * @version 0.1 */ public class UnixShellTokenMaker extends AbstractTokenMaker { - + protected final String operators = "=|><&"; protected final String separators = "()[]"; protected final String separators2 = ".,;"; // Characters you don't want @@ -33,58 +33,53 @@ public class UnixShellTokenMaker extends AbstractTokenMaker { // e.g., "$_". private int currentTokenStart; private int currentTokenType; - + /** * Constructor. */ public UnixShellTokenMaker() { super(); // Initializes tokensToHighlight. } - + /** - * Checks the token to give it the exact ID it deserves before - * being passed up to the super method. + * Checks the token to give it the exact ID it deserves before being passed up + * to the super method. * - * @param segment - * Segment to get text from. - * @param start - * Start offset in segment of token. - * @param end - * End offset in segment of token. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which the token occurs. + * @param segment Segment to get text from. + * @param start Start offset in segment of token. + * @param end End offset in segment of token. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which the token occurs. */ @Override public void addToken(Segment segment, int start, int end, int tokenType, int startOffset) { switch (tokenType) { - // Since reserved words, functions, and data types are all passed - // into here - // as "identifiers," we have to see what the token really is... - case Token.IDENTIFIER: - int value = wordsToHighlight.get(segment, start, end); - if (value != -1) - tokenType = value; - break; - case Token.WHITESPACE: - case Token.SEPARATOR: - case Token.OPERATOR: - case Token.LITERAL_NUMBER_DECIMAL_INT: - case Token.LITERAL_STRING_DOUBLE_QUOTE: - case Token.LITERAL_CHAR: - case Token.LITERAL_BACKQUOTE: - case Token.COMMENT_EOL: - case Token.PREPROCESSOR: - case Token.VARIABLE: - break; - default: - tokenType = Token.IDENTIFIER; - break; + // Since reserved words, functions, and data types are all passed + // into here + // as "identifiers," we have to see what the token really is... + case Token.IDENTIFIER: + int value = wordsToHighlight.get(segment, start, end); + if (value != -1) + tokenType = value; + break; + case Token.WHITESPACE: + case Token.SEPARATOR: + case Token.OPERATOR: + case Token.LITERAL_NUMBER_DECIMAL_INT: + case Token.LITERAL_STRING_DOUBLE_QUOTE: + case Token.LITERAL_CHAR: + case Token.LITERAL_BACKQUOTE: + case Token.COMMENT_EOL: + case Token.PREPROCESSOR: + case Token.VARIABLE: + break; + default: + tokenType = Token.IDENTIFIER; + break; } super.addToken(segment, start, end, tokenType, startOffset); } - + /** * {@inheritDoc} */ @@ -92,26 +87,24 @@ public class UnixShellTokenMaker extends AbstractTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** - * Returns whether tokens of the specified type should have "mark - * occurrences" enabled for the current programming language. + * Returns whether tokens of the specified type should have "mark occurrences" + * enabled for the current programming language. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.IDENTIFIER || type == Token.VARIABLE; } - + /** * Returns the words to highlight for UNIX shell scripts. * - * @return A TokenMap containing the words to highlight for - * UNIX shell scripts. + * @return A TokenMap containing the words to highlight for UNIX + * shell scripts. * @see org.fife.ui.rsyntaxtextarea.AbstractTokenMaker#getWordsToHighlight */ @Override @@ -391,16 +384,13 @@ public class UnixShellTokenMaker extends AbstractTokenMaker { tokenMap.put("zcat", function); return tokenMap; } - + /** * Returns a list of tokens representing the given text. * - * @param text - * The text to break into tokens. - * @param startTokenType - * The token with which to start tokenizing. - * @param startOffset - * The offset at which the line of tokens begins. + * @param text The text to break into tokens. + * @param startTokenType The token with which to start tokenizing. + * @param startOffset The offset at which the line of tokens begins. * @return A linked list of tokens representing text. */ @Override @@ -423,625 +413,642 @@ public class UnixShellTokenMaker extends AbstractTokenMaker { for (int i = offset; i < end; i++) { char c = array[i]; switch (currentTokenType) { - case Token.NULL: - currentTokenStart = i; // Starting a new token here. - switch (c) { - case ' ': - case '\t': - currentTokenType = Token.WHITESPACE; - break; - case '`': - if (backslash) { // Escaped back quote => call '`' - // an identifier.. - addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); - backslash = false; - } else { - currentTokenType = Token.LITERAL_BACKQUOTE; - } - break; - case '"': - if (backslash) { // Escaped double quote => call '"' - // an identifier.. - addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); - backslash = false; - } else { - currentTokenType = Token.LITERAL_STRING_DOUBLE_QUOTE; - } - break; - case '\'': - if (backslash) { // Escaped single quote => call - // '\'' an identifier. - addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); - backslash = false; - } else { - currentTokenType = Token.LITERAL_CHAR; - } - break; - case '\\': - addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - backslash = !backslash; - break; - case '$': - if (backslash) { // Escaped dollar sign => call '$' - // an identifier.. - addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); - backslash = false; - } else { - currentTokenType = Token.VARIABLE; - } - break; - case '#': - backslash = false; - currentTokenType = Token.COMMENT_EOL; - break; - default: - if (RSyntaxUtilities.isDigit(c)) { - currentTokenType = Token.LITERAL_NUMBER_DECIMAL_INT; - break; - } else if (RSyntaxUtilities.isLetter(c) || c == '/' || c == '_') { - currentTokenType = Token.IDENTIFIER; - break; - } - int indexOf = operators.indexOf(c, 0); - if (indexOf > -1) { - addToken(text, currentTokenStart, i, Token.OPERATOR, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - break; - } - indexOf = separators.indexOf(c, 0); - if (indexOf > -1) { - addToken(text, currentTokenStart, i, Token.SEPARATOR, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - break; - } - indexOf = separators2.indexOf(c, 0); - if (indexOf > -1) { - addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - break; - } else { - currentTokenType = Token.IDENTIFIER; - break; - } - } // End of switch (c). + case Token.NULL: + currentTokenStart = i; // Starting a new token here. + switch (c) { + case ' ': + case '\t': + currentTokenType = Token.WHITESPACE; break; - case Token.WHITESPACE: - switch (c) { - case ' ': - case '\t': - break; // Still whitespace. - case '\\': - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); - currentTokenType = Token.NULL; - backslash = true; // Previous char whitespace => - // this must be first backslash. - break; - case '`': // Don't need to worry about backslashes as - // previous char is space. - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.LITERAL_BACKQUOTE; - backslash = false; - break; - case '"': // Don't need to worry about backslashes as - // previous char is space. - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.LITERAL_STRING_DOUBLE_QUOTE; - backslash = false; - break; - case '\'': // Don't need to worry about backslashes as - // previous char is space. - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.LITERAL_CHAR; - backslash = false; - break; - case '$': // Don't need to worry about backslashes as - // previous char is space. - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.VARIABLE; - backslash = false; - break; - case '#': - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.COMMENT_EOL; - break; - default: // Add the whitespace token and start anew. - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - currentTokenStart = i; - if (RSyntaxUtilities.isDigit(c)) { - currentTokenType = Token.LITERAL_NUMBER_DECIMAL_INT; - break; - } else if (RSyntaxUtilities.isLetter(c) || c == '/' || c == '_') { - currentTokenType = Token.IDENTIFIER; - break; - } - int indexOf = operators.indexOf(c, 0); - if (indexOf > -1) { - addToken(text, i, i, Token.OPERATOR, newStartOffset + i); - currentTokenType = Token.NULL; - break; - } - indexOf = separators.indexOf(c, 0); - if (indexOf > -1) { - addToken(text, i, i, Token.SEPARATOR, newStartOffset + i); - currentTokenType = Token.NULL; - break; - } - indexOf = separators2.indexOf(c, 0); - if (indexOf > -1) { - addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); - currentTokenType = Token.NULL; - break; - } else { - currentTokenType = Token.IDENTIFIER; - } - } // End of switch (c). - break; - default: // Should never happen - case Token.IDENTIFIER: - switch (c) { - case ' ': - case '\t': - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.WHITESPACE; - break; - case '/': // Special-case to colorize commands like - // "echo" in "/bin/echo" - addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenStart = i + 1; - currentTokenType = Token.NULL; - break; - case '`': // Don't need to worry about backslashes as - // previous char is space. - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.LITERAL_BACKQUOTE; - backslash = false; - break; - case '"': // Don't need to worry about backslashes as - // previous char is non-backslash. - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.LITERAL_STRING_DOUBLE_QUOTE; - backslash = false; - break; - case '\'': // Don't need to worry about backslashes as - // previous char is non-backslash. - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.LITERAL_CHAR; - backslash = false; - break; - case '\\': - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); - currentTokenType = Token.NULL; - backslash = true; - break; - case '$': // Don't need to worry about backslashes as - // previous char is non-backslash. - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.VARIABLE; - backslash = false; - break; - case '=': // Special case here; when you have - // "identifier=" in shell, - // "identifier" is a variable. - addToken(text, currentTokenStart, i - 1, Token.VARIABLE, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.OPERATOR, newStartOffset + i); - currentTokenType = Token.NULL; - break; - default: - if (RSyntaxUtilities.isLetterOrDigit(c) || c == '/' || c == '_') { - break; // Still an identifier of some type. - } - int indexOf = operators.indexOf(c); - if (indexOf > -1) { - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.OPERATOR, newStartOffset + i); - currentTokenType = Token.NULL; - break; - } - indexOf = separators.indexOf(c, 0); - if (indexOf > -1) { - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.SEPARATOR, newStartOffset + i); - currentTokenType = Token.NULL; - break; - } - indexOf = separators2.indexOf(c, 0); - if (indexOf > -1) { - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); - currentTokenType = Token.NULL; - break; - } - // Otherwise, we're still an identifier (?). - } // End of switch (c). - break; - case Token.LITERAL_NUMBER_DECIMAL_INT: - switch (c) { - case ' ': - case '\t': - addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.WHITESPACE; - break; - case '`': // Don't need to worry about backslashes as - // previous char is space. - addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.LITERAL_BACKQUOTE; - backslash = false; - break; - case '"': // Don't need to worry about backslashes as - // previous char is non-backslash. - addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.LITERAL_STRING_DOUBLE_QUOTE; - backslash = false; - break; - case '\'': // Don't need to worry about backslashes as - // previous char is non-backslash. - addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.LITERAL_CHAR; - backslash = false; - break; - case '$': // Don't need to worry about backslashes as - // previous char is non-backslash. - addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.VARIABLE; - backslash = false; - break; - case '\\': - addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); - currentTokenType = Token.NULL; - backslash = true; - break; - default: - if (RSyntaxUtilities.isDigit(c)) { - break; // Still a literal number. - } - int indexOf = operators.indexOf(c); - if (indexOf > -1) { - addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, - newStartOffset + currentTokenStart); - addToken(text, i, i, Token.OPERATOR, newStartOffset + i); - currentTokenType = Token.NULL; - break; - } - indexOf = separators.indexOf(c); - if (indexOf > -1) { - addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, - newStartOffset + currentTokenStart); - addToken(text, i, i, Token.SEPARATOR, newStartOffset + i); - currentTokenType = Token.NULL; - break; - } - indexOf = separators2.indexOf(c); - if (indexOf > -1) { - addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, - newStartOffset + currentTokenStart); - addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); - currentTokenType = Token.NULL; - break; - } - // Otherwise, remember this was a number and start - // over. - addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, newStartOffset + currentTokenStart); - i--; - currentTokenType = Token.NULL; - } // End of switch (c). - break; - case Token.VARIABLE: - // Note that we first arrive here AFTER the '$' character. - // First check if the variable name is enclosed in '{' and - // '}' characters. - if (c == '{') { - while (++i < end) { - if (array[i] == '}') { - addToken(text, currentTokenStart, i, Token.VARIABLE, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - break; - } - } // End of while (++i call '`' + // an identifier.. + addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); + backslash = false; + } else { + currentTokenType = Token.LITERAL_BACKQUOTE; } - // This only happens if we never found the end of the - // variable in the loop above. - if (i == end) { - addToken(text, currentTokenStart, i - 1, Token.VARIABLE, newStartOffset + currentTokenStart); + break; + case '"': + if (backslash) { // Escaped double quote => call '"' + // an identifier.. + addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); + backslash = false; + } else { + currentTokenType = Token.LITERAL_STRING_DOUBLE_QUOTE; + } + break; + case '\'': + if (backslash) { // Escaped single quote => call + // '\'' an identifier. + addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); + backslash = false; + } else { + currentTokenType = Token.LITERAL_CHAR; + } + break; + case '\\': + addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + backslash = !backslash; + break; + case '$': + if (backslash) { // Escaped dollar sign => call '$' + // an identifier.. + addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); + backslash = false; + } else { + currentTokenType = Token.VARIABLE; + } + break; + case '#': + backslash = false; + currentTokenType = Token.COMMENT_EOL; + break; + default: + if (RSyntaxUtilities.isDigit(c)) { + currentTokenType = Token.LITERAL_NUMBER_DECIMAL_INT; + break; + } else if (RSyntaxUtilities.isLetter(c) || c == '/' || c == '_') { + currentTokenType = Token.IDENTIFIER; + break; + } + int indexOf = operators.indexOf(c, 0); + if (indexOf > -1) { + addToken(text, currentTokenStart, i, Token.OPERATOR, newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + break; + } + indexOf = separators.indexOf(c, 0); + if (indexOf > -1) { + addToken(text, currentTokenStart, i, Token.SEPARATOR, newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + break; + } + indexOf = separators2.indexOf(c, 0); + if (indexOf > -1) { + addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + break; + } else { + currentTokenType = Token.IDENTIFIER; + break; + } + } // End of switch (c). + break; + case Token.WHITESPACE: + switch (c) { + case ' ': + case '\t': + break; // Still whitespace. + case '\\': + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); + currentTokenType = Token.NULL; + backslash = true; // Previous char whitespace => + // this must be first backslash. + break; + case '`': // Don't need to worry about backslashes as + // previous char is space. + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.LITERAL_BACKQUOTE; + backslash = false; + break; + case '"': // Don't need to worry about backslashes as + // previous char is space. + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.LITERAL_STRING_DOUBLE_QUOTE; + backslash = false; + break; + case '\'': // Don't need to worry about backslashes as + // previous char is space. + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.LITERAL_CHAR; + backslash = false; + break; + case '$': // Don't need to worry about backslashes as + // previous char is space. + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.VARIABLE; + backslash = false; + break; + case '#': + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.COMMENT_EOL; + break; + default: // Add the whitespace token and start anew. + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + currentTokenStart = i; + if (RSyntaxUtilities.isDigit(c)) { + currentTokenType = Token.LITERAL_NUMBER_DECIMAL_INT; + break; + } else if (RSyntaxUtilities.isLetter(c) || c == '/' || c == '_') { + currentTokenType = Token.IDENTIFIER; + break; + } + int indexOf = operators.indexOf(c, 0); + if (indexOf > -1) { + addToken(text, i, i, Token.OPERATOR, newStartOffset + i); + currentTokenType = Token.NULL; + break; + } + indexOf = separators.indexOf(c, 0); + if (indexOf > -1) { + addToken(text, i, i, Token.SEPARATOR, newStartOffset + i); + currentTokenType = Token.NULL; + break; + } + indexOf = separators2.indexOf(c, 0); + if (indexOf > -1) { + addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); + currentTokenType = Token.NULL; + break; + } else { + currentTokenType = Token.IDENTIFIER; + } + } // End of switch (c). + break; + default: // Should never happen + case Token.IDENTIFIER: + switch (c) { + case ' ': + case '\t': + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.WHITESPACE; + break; + case '/': // Special-case to colorize commands like + // "echo" in "/bin/echo" + addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenStart = i + 1; + currentTokenType = Token.NULL; + break; + case '`': // Don't need to worry about backslashes as + // previous char is space. + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.LITERAL_BACKQUOTE; + backslash = false; + break; + case '"': // Don't need to worry about backslashes as + // previous char is non-backslash. + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.LITERAL_STRING_DOUBLE_QUOTE; + backslash = false; + break; + case '\'': // Don't need to worry about backslashes as + // previous char is non-backslash. + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.LITERAL_CHAR; + backslash = false; + break; + case '\\': + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); + currentTokenType = Token.NULL; + backslash = true; + break; + case '$': // Don't need to worry about backslashes as + // previous char is non-backslash. + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.VARIABLE; + backslash = false; + break; + case '=': // Special case here; when you have + // "identifier=" in shell, + // "identifier" is a variable. + addToken(text, currentTokenStart, i - 1, Token.VARIABLE, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.OPERATOR, newStartOffset + i); + currentTokenType = Token.NULL; + break; + default: + if (RSyntaxUtilities.isLetterOrDigit(c) || c == '/' || c == '_') { + break; // Still an identifier of some type. + } + int indexOf = operators.indexOf(c); + if (indexOf > -1) { + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.OPERATOR, newStartOffset + i); + currentTokenType = Token.NULL; + break; + } + indexOf = separators.indexOf(c, 0); + if (indexOf > -1) { + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.SEPARATOR, newStartOffset + i); + currentTokenType = Token.NULL; + break; + } + indexOf = separators2.indexOf(c, 0); + if (indexOf > -1) { + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); + currentTokenType = Token.NULL; + break; + } + // Otherwise, we're still an identifier (?). + } // End of switch (c). + break; + case Token.LITERAL_NUMBER_DECIMAL_INT: + switch (c) { + case ' ': + case '\t': + addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, + newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.WHITESPACE; + break; + case '`': // Don't need to worry about backslashes as + // previous char is space. + addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, + newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.LITERAL_BACKQUOTE; + backslash = false; + break; + case '"': // Don't need to worry about backslashes as + // previous char is non-backslash. + addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, + newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.LITERAL_STRING_DOUBLE_QUOTE; + backslash = false; + break; + case '\'': // Don't need to worry about backslashes as + // previous char is non-backslash. + addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, + newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.LITERAL_CHAR; + backslash = false; + break; + case '$': // Don't need to worry about backslashes as + // previous char is non-backslash. + addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, + newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.VARIABLE; + backslash = false; + break; + case '\\': + addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, + newStartOffset + currentTokenStart); + addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); + currentTokenType = Token.NULL; + backslash = true; + break; + default: + if (RSyntaxUtilities.isDigit(c)) { + break; // Still a literal number. + } + int indexOf = operators.indexOf(c); + if (indexOf > -1) { + addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, + newStartOffset + currentTokenStart); + addToken(text, i, i, Token.OPERATOR, newStartOffset + i); + currentTokenType = Token.NULL; + break; + } + indexOf = separators.indexOf(c); + if (indexOf > -1) { + addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, + newStartOffset + currentTokenStart); + addToken(text, i, i, Token.SEPARATOR, newStartOffset + i); + currentTokenType = Token.NULL; + break; + } + indexOf = separators2.indexOf(c); + if (indexOf > -1) { + addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, + newStartOffset + currentTokenStart); + addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); + currentTokenType = Token.NULL; + break; + } + // Otherwise, remember this was a number and start + // over. + addToken(text, currentTokenStart, i - 1, Token.LITERAL_NUMBER_DECIMAL_INT, + newStartOffset + currentTokenStart); + i--; + currentTokenType = Token.NULL; + } // End of switch (c). + break; + case Token.VARIABLE: + // Note that we first arrive here AFTER the '$' character. + // First check if the variable name is enclosed in '{' and + // '}' characters. + if (c == '{') { + while (++i < end) { + if (array[i] == '}') { + addToken(text, currentTokenStart, i, Token.VARIABLE, newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + break; + } + } // End of while (++iJFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -39,24 +38,23 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated VisualBasicTokenMaker.java file will contain - * two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * two definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell * @version 1.0 */ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -69,7 +67,8 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { + "\1\6\1\1\1\37\1\16\1\13\2\36\1\41\1\27\1\37\1\27" + "\1\30\1\44\1\3\11\3\1\47\1\37\1\42\1\40\1\43\1\37" + "\1\6\1\35\1\54\1\4\1\15\1\26\1\34\1\57\1\25\1\21" + "\1\60\1\63\1\22\1\61\1\52\1\53\1\46\1\1\1\14\1\24" + "\1\31\1\17\1\56\1\50\1\62\1\55\1\1\1\37\1\7\1\37" + "\1\45\1\2\1\0\1\35\1\54\1\4\1\51\1\26\1\33\1\57" - + "\1\65\1\20\1\60\1\63\1\22\1\61\1\52\1\53\1\46\1\1" + "\1\32\1\23\1\31\1\17\1\56\1\66\1\62\1\55\1\1\3\5" + "\1\37\uff81\0"; + + "\1\65\1\20\1\60\1\63\1\22\1\61\1\52\1\53\1\46\1\1" + "\1\32\1\23\1\31\1\17\1\56\1\66\1\62\1\55\1\1\3\5" + + "\1\37\uff81\0"; /** * Translates characters to character classes */ @@ -78,19 +77,21 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\2\0\1\1\1\2\1\3\2\2\1\4\1\5\1\6" + "\1\7\1\10\2\2\1\4\6\2\1\4\4\2\1\11" - + "\1\4\13\2\1\12\1\13\6\12\1\14\1\3\2\14" + "\1\15\13\2\1\16\5\2\1\17\1\0\3\2\3\17" + "\47\2\1\17\14\2\1\12\2\0\3\12\2\0\1\15" - + "\1\0\1\15\1\14\24\2\1\17\7\2\1\20\24\2" + "\1\17\2\2\1\17\11\2\1\17\13\2\1\17\12\2" + "\1\17\3\2\1\17\2\2\1\12\2\0\3\12\2\0" - + "\2\2\1\21\14\2\1\20\1\14\16\2\1\22\17\2" + "\1\17\17\2\1\12\1\0\2\12\1\23\1\0\52\2" + "\1\0\1\12\1\0\1\2\1\24\21\2\1\17\6\2" + private static final String ZZ_ACTION_PACKED_0 = "\2\0\1\1\1\2\1\3\2\2\1\4\1\5\1\6" + + "\1\7\1\10\2\2\1\4\6\2\1\4\4\2\1\11" + "\1\4\13\2\1\12\1\13\6\12\1\14\1\3\2\14" + + "\1\15\13\2\1\16\5\2\1\17\1\0\3\2\3\17" + "\47\2\1\17\14\2\1\12\2\0\3\12\2\0\1\15" + + "\1\0\1\15\1\14\24\2\1\17\7\2\1\20\24\2" + "\1\17\2\2\1\17\11\2\1\17\13\2\1\17\12\2" + + "\1\17\3\2\1\17\2\2\1\12\2\0\3\12\2\0" + "\2\2\1\21\14\2\1\20\1\14\16\2\1\22\17\2" + + "\1\17\17\2\1\12\1\0\2\12\1\23\1\0\52\2" + "\1\0\1\12\1\0\1\2\1\24\21\2\1\17\6\2" + "\1\17\14\2\1\0\10\2\1\0\3\2\1\0\2\2" + "\6\0\1\17"; - + private static int[] zzUnpackAction() { int[] result = new int[417]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -104,7 +105,7 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -161,14 +162,14 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { + "\0\u50c8\0\u50ff\0\u5136\0\u516d\0\u51a4\0\u51db\0\u5212\0\u5249" + "\0\u5280\0\u52b7\0\u52ee\0\u5325\0\u535c\0\u5393\0\u53ca\0\u5401" + "\0\u5438\0\u546f\0\u54a6\0\u54dd\0\u5514\0\u554b\0\u5582\0\u55b9" + "\0\u014a"; - + private static int[] zzUnpackRowMap() { int[] result = new int[417]; 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 */ @@ -179,307 +180,441 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\1\3\2\4\1\5\1\6\1\7\1\3\1\10\1\11" + "\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\21" - + "\1\22\2\23\1\24\1\25\1\26\1\27\1\30\1\15" + "\2\31\1\32\1\33\1\7\1\34\1\26\1\35\1\36" - + "\2\26\1\37\1\7\1\40\1\16\1\41\1\42\1\43" + "\1\4\1\44\1\45\1\4\1\46\1\47\1\4\1\12" - + "\1\24\1\40\10\50\1\51\14\50\1\52\5\50\1\53" + "\1\54\13\50\1\55\14\50\1\56\1\57\5\3\1\0" - + "\2\3\4\0\2\3\1\0\10\3\2\0\5\3\10\0" + "\1\3\1\0\14\3\1\0\3\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" - + "\1\0\14\4\1\0\2\4\3\60\1\5\1\60\1\0" + "\2\60\4\0\3\61\1\62\1\60\1\61\2\60\1\61" + "\1\60\1\63\1\0\1\64\3\60\1\61\1\60\10\0" - + "\1\60\1\0\14\60\1\0\2\60\1\3\3\4\1\65" + "\1\0\2\3\4\0\1\4\1\66\1\0\1\67\2\70" + "\1\71\2\72\1\73\1\4\2\0\1\74\3\4\1\75" - + "\10\0\1\4\1\0\1\4\1\66\1\4\1\76\1\77" + "\7\4\1\0\1\73\1\4\67\0\5\3\1\0\2\3" + "\4\0\2\3\1\0\10\3\2\0\5\3\2\0\1\34" - + "\5\0\1\3\1\0\14\3\1\0\2\3\11\0\1\12" + "\52\0\1\12\2\0\12\13\1\100\54\13\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\7\4\1\101\2\0" - + "\4\4\1\102\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\1\4" + "\2\103\4\4\1\104\2\0\4\4\1\105\10\0\1\4" - + "\1\0\3\4\1\106\10\4\1\0\2\4\25\0\1\107" + "\12\0\1\34\24\0\1\107\1\0\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\1\4\2\110\1\111\2\112" - + "\2\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\4\4\2\113\2\4\2\0\2\4\2\114\1\4\10\0" - + "\1\4\1\0\2\4\1\115\6\4\1\116\2\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\1\4\2\117\4\4\1\120\2\0\5\4\10\0\1\4" - + "\1\0\3\4\1\121\10\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\122\2\123\3\4" + "\1\124\1\125\2\0\1\126\4\4\10\0\1\4\1\0" - + "\4\4\1\127\1\130\6\4\1\0\1\124\1\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\4\4\1\131\10\0\1\4\1\0\14\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\1\132\1\4\1\0" + "\3\4\1\133\4\4\2\0\1\4\1\132\2\4\1\134" + "\10\0\1\4\1\0\2\4\1\135\3\4\1\136\3\4" - + "\1\137\1\4\1\0\2\4\40\0\1\34\31\0\1\64" + "\63\0\1\3\4\4\1\0\2\3\4\0\1\140\1\4" + "\1\0\6\4\1\141\1\4\2\0\1\4\1\140\3\4" - + "\10\0\1\4\1\0\3\4\1\114\1\4\1\142\6\4" + "\1\0\1\141\1\4\1\3\4\4\1\0\2\3\4\0" + "\1\143\1\4\1\0\1\144\2\145\5\4\2\0\1\4" - + "\1\143\2\4\1\146\10\0\1\4\1\0\3\4\1\147" + "\10\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\1\4\1\150\1\0\3\4\1\151\2\114\2\4\2\0" - + "\5\4\10\0\1\4\1\0\1\4\1\150\1\152\11\4" + "\1\0\2\4\42\0\1\26\67\0\1\26\23\0\1\3" + "\4\4\1\0\2\3\4\0\1\153\1\4\1\0\1\154" - + "\7\4\2\0\1\4\1\153\2\4\1\155\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\156\1\4\1\0\1\4\2\157\3\4\1\160" - + "\1\161\2\0\1\4\1\156\3\4\10\0\1\4\1\0" + "\14\4\1\0\1\160\1\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\7\4\1\162\2\0\4\4\1\163" - + "\10\0\1\4\1\0\3\4\1\164\10\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\1\165\1\4\1\0" + "\1\120\7\4\2\0\1\4\1\165\2\114\1\4\10\0" - + "\1\166\1\0\2\4\1\114\1\4\1\167\1\4\1\170" + "\5\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" - + "\3\4\1\171\1\4\1\172\6\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\4\4\1\173\10\0\1\4\1\0\14\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + "\1\174\3\4\1\175\2\0\5\4\10\0\1\4\1\0" + "\3\4\1\176\10\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\2\4\1\0\1\177\6\4\1\114\2\0" + "\5\4\10\0\1\4\1\0\3\4\1\200\1\4\1\201" + "\6\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" - + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\3\4\1\147\10\4\1\0\2\4\10\50\1\0\22\50" + "\1\0\31\50\2\0\10\50\1\0\20\50\1\202\1\50" - + "\1\0\31\50\22\0\2\203\7\0\1\204\35\0\10\50" + "\1\0\7\50\2\205\7\50\1\206\1\50\1\0\31\50" - + "\2\0\10\50\1\0\22\50\1\0\14\50\1\207\14\50" + "\1\0\1\210\31\0\1\211\105\0\1\210\15\0\1\210" - + "\5\60\1\0\2\60\4\0\2\60\1\0\10\60\2\0" + "\5\60\10\0\1\60\1\0\14\60\1\0\7\60\1\0" + "\2\60\4\0\2\60\1\0\1\60\5\61\2\60\2\0" + private static final String ZZ_TRANS_PACKED_0 = "\1\3\2\4\1\5\1\6\1\7\1\3\1\10\1\11" + + "\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\21" + "\1\22\2\23\1\24\1\25\1\26\1\27\1\30\1\15" + + "\2\31\1\32\1\33\1\7\1\34\1\26\1\35\1\36" + "\2\26\1\37\1\7\1\40\1\16\1\41\1\42\1\43" + + "\1\4\1\44\1\45\1\4\1\46\1\47\1\4\1\12" + "\1\24\1\40\10\50\1\51\14\50\1\52\5\50\1\53" + + "\1\54\13\50\1\55\14\50\1\56\1\57\5\3\1\0" + "\2\3\4\0\2\3\1\0\10\3\2\0\5\3\10\0" + + "\1\3\1\0\14\3\1\0\3\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + + "\1\0\14\4\1\0\2\4\3\60\1\5\1\60\1\0" + "\2\60\4\0\3\61\1\62\1\60\1\61\2\60\1\61" + + "\1\60\1\63\1\0\1\64\3\60\1\61\1\60\10\0" + "\1\60\1\0\14\60\1\0\2\60\1\3\3\4\1\65" + + "\1\0\2\3\4\0\1\4\1\66\1\0\1\67\2\70" + "\1\71\2\72\1\73\1\4\2\0\1\74\3\4\1\75" + + "\10\0\1\4\1\0\1\4\1\66\1\4\1\76\1\77" + "\7\4\1\0\1\73\1\4\67\0\5\3\1\0\2\3" + + "\4\0\2\3\1\0\10\3\2\0\5\3\2\0\1\34" + "\5\0\1\3\1\0\14\3\1\0\2\3\11\0\1\12" + + "\52\0\1\12\2\0\12\13\1\100\54\13\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\7\4\1\101\2\0" + + "\4\4\1\102\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\1\4" + + "\2\103\4\4\1\104\2\0\4\4\1\105\10\0\1\4" + "\1\0\3\4\1\106\10\4\1\0\2\4\25\0\1\107" + + "\12\0\1\34\24\0\1\107\1\0\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\1\4\2\110\1\111\2\112" + + "\2\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\4\4\2\113\2\4\2\0\2\4\2\114\1\4\10\0" + "\1\4\1\0\2\4\1\115\6\4\1\116\2\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\1\4\2\117\4\4\1\120\2\0\5\4\10\0\1\4" + + "\1\0\3\4\1\121\10\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\122\2\123\3\4" + + "\1\124\1\125\2\0\1\126\4\4\10\0\1\4\1\0" + "\4\4\1\127\1\130\6\4\1\0\1\124\1\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\4\4\1\131\10\0\1\4\1\0\14\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\1\132\1\4\1\0" + "\3\4\1\133\4\4\2\0\1\4\1\132\2\4\1\134" + + "\10\0\1\4\1\0\2\4\1\135\3\4\1\136\3\4" + "\1\137\1\4\1\0\2\4\40\0\1\34\31\0\1\64" + + "\63\0\1\3\4\4\1\0\2\3\4\0\1\140\1\4" + "\1\0\6\4\1\141\1\4\2\0\1\4\1\140\3\4" + + "\10\0\1\4\1\0\3\4\1\114\1\4\1\142\6\4" + "\1\0\1\141\1\4\1\3\4\4\1\0\2\3\4\0" + + "\1\143\1\4\1\0\1\144\2\145\5\4\2\0\1\4" + "\1\143\2\4\1\146\10\0\1\4\1\0\3\4\1\147" + + "\10\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\1\4\1\150\1\0\3\4\1\151\2\114\2\4\2\0" + + "\5\4\10\0\1\4\1\0\1\4\1\150\1\152\11\4" + "\1\0\2\4\42\0\1\26\67\0\1\26\23\0\1\3" + + "\4\4\1\0\2\3\4\0\1\153\1\4\1\0\1\154" + "\7\4\2\0\1\4\1\153\2\4\1\155\10\0\1\4" + + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\156\1\4\1\0\1\4\2\157\3\4\1\160" + + "\1\161\2\0\1\4\1\156\3\4\10\0\1\4\1\0" + "\14\4\1\0\1\160\1\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\7\4\1\162\2\0\4\4\1\163" + "\10\0\1\4\1\0\3\4\1\164\10\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\1\165\1\4\1\0" + "\1\120\7\4\2\0\1\4\1\165\2\114\1\4\10\0" + + "\1\166\1\0\2\4\1\114\1\4\1\167\1\4\1\170" + "\5\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\3\4\1\171\1\4\1\172\6\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\4\4\1\173\10\0\1\4\1\0\14\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + "\1\174\3\4\1\175\2\0\5\4\10\0\1\4\1\0" + + "\3\4\1\176\10\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\1\177\6\4\1\114\2\0" + + "\5\4\10\0\1\4\1\0\3\4\1\200\1\4\1\201" + "\6\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\3\4\1\147\10\4\1\0\2\4\10\50\1\0\22\50" + + "\1\0\31\50\2\0\10\50\1\0\20\50\1\202\1\50" + "\1\0\31\50\22\0\2\203\7\0\1\204\35\0\10\50" + + "\1\0\7\50\2\205\7\50\1\206\1\50\1\0\31\50" + "\2\0\10\50\1\0\22\50\1\0\14\50\1\207\14\50" + + "\1\0\1\210\31\0\1\211\105\0\1\210\15\0\1\210" + "\5\60\1\0\2\60\4\0\2\60\1\0\10\60\2\0" + + "\5\60\10\0\1\60\1\0\14\60\1\0\7\60\1\0" + "\2\60\4\0\2\60\1\0\1\60\5\61\2\60\2\0" + "\5\60\10\0\1\60\1\0\14\60\1\0\5\60\1\212" + "\1\60\1\0\2\60\4\0\2\60\1\0\10\60\1\213" + "\1\0\5\60\10\0\1\60\1\0\14\60\1\0\5\60" + "\1\64\1\60\1\0\2\60\4\0\3\214\1\215\1\60" - + "\1\214\2\60\1\214\1\60\1\63\2\0\3\60\1\214" + "\1\60\10\0\1\60\1\0\14\60\1\0\2\60\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\6\4\1\216" - + "\1\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\1\216\1\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\217\2\0\4\4\1\220\10\0\1\4" - + "\1\0\4\4\1\221\7\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\4\2\70\1\222" + "\2\223\2\4\2\0\5\4\10\0\1\4\1\0\14\4" - + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\2\4" + "\1\120\11\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\10\4\2\0\4\4\1\224\10\0" + "\1\4\1\0\2\4\1\225\11\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\6\4\1\226" - + "\1\4\2\0\1\147\4\4\10\0\1\4\1\0\2\4" + "\1\225\1\4\1\227\7\4\1\0\1\226\1\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" - + "\4\4\1\230\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\5\4\1\231\6\4" - + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\3\4\1\221\2\232\2\4\2\0\1\134\4\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\2\4\1\233\1\4\1\234\7\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\3\4" + "\1\235\1\4\1\220\6\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\1\4\1\236\1\0\4\4\2\237" - + "\2\4\2\0\1\240\3\4\1\241\10\0\1\4\1\0" + "\1\4\1\236\7\4\1\242\2\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\1\4\2\243" - + "\5\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\1\244\1\4" + "\1\0\10\4\2\0\1\4\1\244\3\4\10\0\1\4" - + "\1\0\11\4\1\114\2\4\1\0\2\4\1\3\3\4" + "\1\245\1\0\2\3\4\0\2\4\1\0\3\4\1\246" + "\4\4\2\0\2\4\2\247\1\4\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\1\250\4\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\1\251\7\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\3\0\2\252\10\0" + "\1\252\10\0\1\252\4\0\3\252\13\0\1\252\2\0" - + "\1\252\12\0\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\2\4" + "\1\253\11\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\3\4\1\254\10\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\4\2\222\3\4" - + "\1\255\1\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\1\255\1\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" - + "\2\4\1\256\11\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\6\4\1\257\1\4\2\0" + "\1\260\4\4\10\0\1\4\1\0\14\4\1\0\1\257" - + "\1\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\261\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" - + "\10\4\2\0\5\4\10\0\1\4\1\0\4\4\1\114" + "\6\4\1\232\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\1\114\4\4\10\0" - + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\2\4\1\262\1\263\10\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\4\4\1\114\7\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\2\4" + "\1\264\11\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\4\4\1\265\10\0" - + "\1\4\1\0\3\4\1\266\10\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\3\4\1\267" + "\4\4\2\0\1\114\4\4\10\0\1\4\1\0\14\4" - + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\270" + "\1\4\1\0\7\4\1\263\2\0\1\4\1\270\2\4" + "\1\271\10\0\1\4\1\0\3\4\1\263\10\4\1\0" - + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\5\4\1\105" + "\6\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" - + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\2\4\1\272\11\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" - + "\1\4\1\0\2\4\1\273\11\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\1\47\1\4\1\0\10\4" + "\2\0\1\4\1\47\2\4\1\274\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\4\4\2\275\2\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\3\4\1\276" - + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\1\4\1\277\1\0\1\300\7\4" - + "\2\0\5\4\10\0\1\4\1\0\1\4\1\277\12\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\70\2\0\5\4\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\1\4\2\120\5\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\2\4\1\0\1\301\7\4\2\0\5\4" + "\10\0\1\4\1\0\5\4\1\302\6\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\1\303\1\4\1\0" - + "\7\4\1\304\2\0\1\4\1\303\3\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\305" - + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\1\4\2\306\5\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\2\4\1\307\11\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" - + "\2\0\5\4\10\0\1\4\1\0\2\4\1\310\11\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\3\4\1\311\4\4\2\0\5\4\10\0\1\4" - + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\114\1\4\1\0\10\4\2\0\1\4\1\114" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\1\4\1\312\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\1\4\1\312\12\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\1\4\2\313\5\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\4\1\314\1\0\10\4\2\0\5\4\10\0" - + "\1\4\1\0\1\4\1\314\12\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\1\4\2\315" + "\5\4\2\0\5\4\10\0\1\4\1\0\3\4\1\316" - + "\10\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\4\4\1\317\7\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\1\320\1\4\1\0\10\4\2\0\1\4" + "\1\320\3\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\1\4" - + "\2\321\5\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\4" + "\1\322\1\0\10\4\2\0\1\323\4\4\10\0\1\4" - + "\1\0\1\4\1\322\12\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\4\2\324\4\4" + "\1\304\2\0\5\4\10\0\1\4\1\0\14\4\1\0" - + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\2\4\1\325" + "\11\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" - + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\1\114\11\4\1\120\1\4\1\0\1\4\1\114\1\3" + "\4\4\1\0\2\3\4\0\1\326\1\4\1\0\10\4" - + "\2\0\1\4\1\326\3\4\10\0\1\4\1\0\11\4" + "\1\327\2\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\1\330\4\4\10\0" - + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\7\4\1\331\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\7\4\1\332\2\0" + "\1\333\4\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" - + "\2\0\5\4\10\0\1\4\1\0\10\4\1\334\3\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\335\2\0\5\4\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\3\4\1\336\10\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\1\337\1\4\1\0\10\4\2\0\1\250" + "\1\337\3\4\10\0\1\4\1\0\6\4\1\340\5\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\341" - + "\1\4\1\0\10\4\2\0\1\4\1\341\3\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" - + "\1\4\1\0\3\4\1\342\10\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\1\343\4\4\10\0\1\4\1\0\14\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\4\4" + "\2\344\2\4\2\0\1\345\4\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" - + "\2\4\1\0\4\4\2\346\2\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\1\4\1\347\1\0\10\4\2\0\5\4" - + "\10\0\1\4\1\0\1\4\1\347\12\4\1\0\2\4" + "\1\3\3\4\1\350\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\4\4\1\351" - + "\7\4\1\0\2\4\10\50\1\0\20\50\1\352\1\50" + "\1\0\31\50\24\0\1\353\112\0\1\354\20\0\10\50" - + "\1\0\11\50\1\355\10\50\1\0\31\50\2\0\10\50" + "\1\0\22\50\1\0\12\50\1\356\16\50\2\0\10\50" - + "\1\0\22\50\1\0\14\50\1\357\14\50\1\0\1\360" + "\50\0\1\360\15\0\1\360\31\0\1\361\35\0\3\60" - + "\1\212\1\60\1\0\2\60\4\0\3\214\1\215\1\60" + "\1\214\2\60\1\214\2\60\2\0\3\60\1\214\1\60" - + "\10\0\1\60\1\0\14\60\1\0\2\60\3\0\1\212" + "\63\0\5\60\1\0\2\60\4\0\2\60\1\0\1\60" - + "\5\214\2\60\2\0\5\60\10\0\1\60\1\0\14\60" + "\1\0\2\60\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\4\4\1\147\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\3\4\1\114\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\10\4\2\0\1\232\4\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\3\4\1\114\4\4\2\0" - + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\5\4\10\0\1\4\1\0\2\4\1\225\11\4\1\0" - + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\6\4\1\226\1\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\1\226\1\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\4\4\2\362\2\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" - + "\10\0\1\4\1\0\7\4\1\114\4\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\3\4\1\363\10\4" - + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\5\4" + "\1\220\6\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\1\364\1\4\1\0\10\4\2\0\1\4\1\364" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" - + "\5\4\10\0\1\232\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\7\4\1\114" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\4\4" + "\2\120\2\4\2\0\1\365\4\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" - + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\10\4\1\114\3\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" - + "\1\4\1\0\3\4\1\221\10\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\1\4\2\300" + "\5\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" - + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\1\366\7\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\1\367\7\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\1\4\1\370\1\0\10\4\2\0\5\4\10\0\1\4" - + "\1\0\1\4\1\370\12\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\3\4\1\371\10\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\4\4" + "\2\372\2\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\7\4\1\373\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\1\4\2\374\1\375\4\4\2\0\5\4" - + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\7\4\1\376\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\4\4\1\377\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" - + "\1\364\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\4\4\1\u0100" + + "\1\214\2\60\1\214\1\60\1\63\2\0\3\60\1\214" + "\1\60\10\0\1\60\1\0\14\60\1\0\2\60\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\6\4\1\216" + "\1\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\1\216\1\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\217\2\0\4\4\1\220\10\0\1\4" + + "\1\0\4\4\1\221\7\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\4\2\70\1\222" + + "\2\223\2\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\2\4" + "\1\120\11\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\4\4\1\224\10\0" + "\1\4\1\0\2\4\1\225\11\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\6\4\1\226" + "\1\4\2\0\1\147\4\4\10\0\1\4\1\0\2\4" + + "\1\225\1\4\1\227\7\4\1\0\1\226\1\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\4\4\1\230\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + + "\2\0\5\4\10\0\1\4\1\0\5\4\1\231\6\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\3\4\1\221\2\232\2\4\2\0\1\134\4\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\2\4\1\233\1\4\1\234\7\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\3\4" + + "\1\235\1\4\1\220\6\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\1\4\1\236\1\0\4\4\2\237" + + "\2\4\2\0\1\240\3\4\1\241\10\0\1\4\1\0" + "\1\4\1\236\7\4\1\242\2\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\1\4\2\243" + "\5\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\1\244\1\4" + "\1\0\10\4\2\0\1\4\1\244\3\4\10\0\1\4" + + "\1\0\11\4\1\114\2\4\1\0\2\4\1\3\3\4" + "\1\245\1\0\2\3\4\0\2\4\1\0\3\4\1\246" + + "\4\4\2\0\2\4\2\247\1\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\10\4\2\0\1\250\4\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\1\251\7\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\3\0\2\252\10\0" + + "\1\252\10\0\1\252\4\0\3\252\13\0\1\252\2\0" + "\1\252\12\0\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\2\4" + "\1\253\11\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\3\4\1\254\10\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\1\4\2\222\3\4" + "\1\255\1\4\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\1\255\1\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + + "\2\4\1\256\11\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\6\4\1\257\1\4\2\0" + + "\1\260\4\4\10\0\1\4\1\0\14\4\1\0\1\257" + "\1\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\10\4\2\0\5\4\10\0\1\261\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\10\4\2\0\5\4\10\0\1\4\1\0\4\4\1\114" + "\6\4\1\232\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\1\114\4\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\2\4\1\262\1\263\10\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\4\4\1\114\7\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\2\4" + + "\1\264\11\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\4\4\1\265\10\0" + + "\1\4\1\0\3\4\1\266\10\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\3\4\1\267" + + "\4\4\2\0\1\114\4\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\270" + + "\1\4\1\0\7\4\1\263\2\0\1\4\1\270\2\4" + "\1\271\10\0\1\4\1\0\3\4\1\263\10\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\5\4\1\105" + + "\6\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + + "\2\4\1\272\11\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + + "\1\4\1\0\2\4\1\273\11\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\1\47\1\4\1\0\10\4" + + "\2\0\1\4\1\47\2\4\1\274\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\4\4\2\275\2\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\3\4\1\276" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\1\4\1\277\1\0\1\300\7\4" + "\2\0\5\4\10\0\1\4\1\0\1\4\1\277\12\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\70\2\0\5\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\1\4\2\120\5\4\2\0\5\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\1\301\7\4\2\0\5\4" + + "\10\0\1\4\1\0\5\4\1\302\6\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\1\303\1\4\1\0" + + "\7\4\1\304\2\0\1\4\1\303\3\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\305" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\1\4\2\306\5\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\2\4\1\307\11\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\2\4\1\310\11\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\3\4\1\311\4\4\2\0\5\4\10\0\1\4" + + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\114\1\4\1\0\10\4\2\0\1\4\1\114" + + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\1\4\1\312\1\0\10\4" + + "\2\0\5\4\10\0\1\4\1\0\1\4\1\312\12\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\1\4\2\313\5\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\1\4\1\314\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\1\4\1\314\12\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\1\4\2\315" + "\5\4\2\0\5\4\10\0\1\4\1\0\3\4\1\316" + + "\10\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + + "\4\4\1\317\7\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\1\320\1\4\1\0\10\4\2\0\1\4" + + "\1\320\3\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\1\4" + + "\2\321\5\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\4" + + "\1\322\1\0\10\4\2\0\1\323\4\4\10\0\1\4" + "\1\0\1\4\1\322\12\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\1\4\2\324\4\4" + "\1\304\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\2\4\1\325" + + "\11\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + + "\1\114\11\4\1\120\1\4\1\0\1\4\1\114\1\3" + "\4\4\1\0\2\3\4\0\1\326\1\4\1\0\10\4" + + "\2\0\1\4\1\326\3\4\10\0\1\4\1\0\11\4" + "\1\327\2\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\1\330\4\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\7\4\1\331\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\7\4\1\332\2\0" + "\1\333\4\4\10\0\1\4\1\0\14\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\10\4\1\334\3\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\335\2\0\5\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + + "\3\4\1\336\10\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\1\337\1\4\1\0\10\4\2\0\1\250" + + "\1\337\3\4\10\0\1\4\1\0\6\4\1\340\5\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\341" + + "\1\4\1\0\10\4\2\0\1\4\1\341\3\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\3\4\1\342\10\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\1\343\4\4\10\0\1\4\1\0\14\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\4\4" + "\2\344\2\4\2\0\1\345\4\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\4\4\2\346\2\4\2\0\5\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\1\4\1\347\1\0\10\4\2\0\5\4" + + "\10\0\1\4\1\0\1\4\1\347\12\4\1\0\2\4" + "\1\3\3\4\1\350\1\0\2\3\4\0\2\4\1\0" + + "\10\4\2\0\5\4\10\0\1\4\1\0\4\4\1\351" + "\7\4\1\0\2\4\10\50\1\0\20\50\1\352\1\50" + + "\1\0\31\50\24\0\1\353\112\0\1\354\20\0\10\50" + "\1\0\11\50\1\355\10\50\1\0\31\50\2\0\10\50" + + "\1\0\22\50\1\0\12\50\1\356\16\50\2\0\10\50" + "\1\0\22\50\1\0\14\50\1\357\14\50\1\0\1\360" + + "\50\0\1\360\15\0\1\360\31\0\1\361\35\0\3\60" + "\1\212\1\60\1\0\2\60\4\0\3\214\1\215\1\60" + + "\1\214\2\60\1\214\2\60\2\0\3\60\1\214\1\60" + "\10\0\1\60\1\0\14\60\1\0\2\60\3\0\1\212" + + "\63\0\5\60\1\0\2\60\4\0\2\60\1\0\1\60" + "\5\214\2\60\2\0\5\60\10\0\1\60\1\0\14\60" + + "\1\0\2\60\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\4\4\1\147\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\3\4\1\114\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\1\232\4\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\3\4\1\114\4\4\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\5\4\10\0\1\4\1\0\2\4\1\225\11\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\6\4\1\226\1\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\1\226\1\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\4\4\2\362\2\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\7\4\1\114\4\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\3\4\1\363\10\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\5\4" + + "\1\220\6\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\364\1\4\1\0\10\4\2\0\1\4\1\364" + + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\5\4\10\0\1\232\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\7\4\1\114" + + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\4\4" + + "\2\120\2\4\2\0\1\365\4\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\10\4\1\114\3\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\3\4\1\221\10\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\1\4\2\300" + "\5\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\1\366\7\4\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\1\367\7\4\2\0\5\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\1\4\1\370\1\0\10\4\2\0\5\4\10\0\1\4" + + "\1\0\1\4\1\370\12\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + + "\10\0\1\4\1\0\3\4\1\371\10\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\4\4" + + "\2\372\2\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\7\4\1\373\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\1\4\2\374\1\375\4\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\7\4\1\376\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\4\4\1\377\10\0\1\4\1\0\14\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\364\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\4\4\1\u0100" + "\7\4\1\0\2\4\3\60\2\252\1\0\2\60\4\0" + "\1\u0101\1\252\1\u0101\1\u0102\1\60\1\u0101\2\60\1\u0101" - + "\1\60\1\252\2\0\2\60\3\252\10\0\1\60\1\0" + "\1\60\1\252\2\60\1\252\7\60\1\0\2\60\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" - + "\1\u0103\4\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\2\4\1\262\11\4" - + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\3\4" + "\1\266\10\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\3\4\1\120\10\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\7\4\1\u0104\2\0" - + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\7\4\1\u0105" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + "\1\u0106\4\4\2\0\5\4\10\0\1\4\1\0\3\4" + "\1\u0107\10\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\7\4\1\364\4\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" - + "\10\0\1\114\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\7\4\1\u0100\4\4\1\0\2\4" + + "\1\60\1\252\2\0\2\60\3\252\10\0\1\60\1\0" + "\1\60\1\252\2\60\1\252\7\60\1\0\2\60\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\1\u0103\4\4\10\0\1\4\1\0\14\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\2\4\1\262\11\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\3\4" + + "\1\266\10\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + + "\1\0\3\4\1\120\10\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\7\4\1\u0104\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\7\4\1\u0105" + + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + + "\1\u0106\4\4\2\0\5\4\10\0\1\4\1\0\3\4" + "\1\u0107\10\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\7\4\1\364\4\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\114\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\7\4\1\u0100\4\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\1\u0108\1\u0109\1\0" + "\10\4\2\0\1\4\1\u0108\3\4\10\0\1\4\1\0" - + "\1\4\1\u0109\12\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\1\u010a\1\4\1\0\10\4\2\0\1\4" + "\1\u010a\3\4\10\0\1\4\1\0\14\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\u010b\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" - + "\1\u010c\2\254\5\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\1\u010d\4\4\10\0\1\4" - + "\1\0\14\4\1\0\2\4\1\3\3\4\1\u010e\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\1\4\1\u010f\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\1\4\1\u010f\12\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\4\4" - + "\2\232\2\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\277\2\0\5\4\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\6\4\1\114\1\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\1\114\1\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\1\4\2\u0110\5\4" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" - + "\2\0\5\4\10\0\1\4\1\0\11\4\1\114\2\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\u0111\2\0\5\4\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\3\4\1\u0112\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\3\4\1\u0113\10\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" - + "\10\0\1\4\1\0\2\4\1\114\11\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\u0114\2\0\5\4\10\0\1\4\1\0\14\4\1\0" - + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\7\4\1\161\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\3\4\1\u0115\1\0\2\3\4\0" - + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\4\4\1\u0116\10\0\1\4" - + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\4\4\2\301\2\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\1\u0117\1\4\1\0\6\4\1\u0118" + "\1\4\2\0\1\4\1\u0117\3\4\10\0\1\4\1\0" + "\14\4\1\0\1\u0118\1\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\10\4\2\0\4\4\1\362\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\4\4\1\u0119" - + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\6\4\1\u011a\5\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\1\u011b\4\4\10\0\1\u011c\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" - + "\3\4\1\u010d\4\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\1\u011d\3\4\1\u011e\10\0" - + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\1\u011f\4\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\7\4\1\u0120\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\6\4\1\u0121" - + "\1\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\1\u0121\1\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\3\4\1\232\4\4\2\0\5\4\10\0\1\4" - + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\4\1\114\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\1\4\1\114\12\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\1\u0122\1\4\1\0\10\4" + "\2\0\1\4\1\u0122\3\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\7\4\1\u0123\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\1\4\2\u0124\3\4\1\u0125\1\4\2\0" - + "\5\4\10\0\1\4\1\0\3\4\1\u0126\10\4\1\0" + "\1\u0125\1\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\3\4\1\274\4\4\2\0\5\4\10\0\1\4" - + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\u0127\1\4\1\0\10\4\2\0\1\4\1\u0127" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\2\4\1\0\1\4\2\u0128" + "\5\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" - + "\7\4\1\u0129\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\u012a" + "\1\4\1\0\10\4\2\0\1\4\1\u012a\3\4\10\0" - + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\3\4\1\u012b\4\4\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\2\4\1\0\7\4\1\u0110" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" - + "\2\0\4\4\1\221\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\1\4\2\u012c\5\4\2\0\5\4\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\4\4\1\340\7\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\2\4\1\0\10\4\2\0\1\74\4\4" + "\10\0\1\4\1\0\12\4\1\u012d\1\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\1\122" - + "\7\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\3\4\1\114" - + "\10\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\1\u012e\4\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\1\u012f\7\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\3\4\1\u0130\4\4\2\0" - + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\4\4\1\274\10\0\1\4\1\0\14\4\1\0\2\4" - + "\10\50\1\0\22\50\1\0\12\50\1\u0131\16\50\30\0" + "\1\354\107\0\1\u0132\17\0\10\50\1\0\15\50\1\356" - + "\4\50\1\0\31\50\2\0\10\50\1\0\22\50\1\0" + "\13\50\1\u0133\15\50\2\0\10\50\1\0\17\50\1\u0134" - + "\2\50\1\0\31\50\32\0\1\u0135\104\0\1\u0136\20\0" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\4\4" - + "\2\114\2\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\120" + "\1\4\1\0\10\4\2\0\1\4\1\120\3\4\10\0" - + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\1\4\2\u0137\5\4\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\5\4\10\0\1\4\1\0\11\4\1\232\2\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\1\u0138\1\4" - + "\1\0\10\4\2\0\1\4\1\u0138\3\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" - + "\1\0\3\4\1\u0139\10\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\6\4\1\u013a\5\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\u013b\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\3\4\1\u013c\1\0\2\3\4\0\2\4" - + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\11\4" - + "\1\u013d\2\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\4\4\1\u013e\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\7\4\1\u011a\4\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\1\u013f\7\4" - + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + "\1\250\4\4\2\0\5\4\10\0\1\4\1\0\14\4" - + "\1\0\2\4\5\60\1\0\2\60\4\0\2\60\1\0" + "\1\60\5\u0101\2\60\2\0\5\60\10\0\1\60\1\0" + "\14\60\1\0\2\60\1\3\4\4\1\0\2\3\4\0" - + "\2\4\1\0\7\4\1\u0140\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\u0141\1\4\1\0\10\4\2\0\1\4\1\u0141" - + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\1\u0142\1\4\1\0\10\4" + "\2\0\1\4\1\u0142\3\4\10\0\1\4\1\0\7\4" - + "\1\u0143\4\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\7\4\1\u0144\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\1\u0145\1\4\1\0\10\4\2\0\1\4" + "\1\u0145\3\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" - + "\1\325\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\3\4\1\u0146" - + "\10\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\1\364\4\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\3\4\1\120\1\0" - + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\3\4\1\u0147" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" - + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\4\2\217\5\4" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" - + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + "\1\u0148\4\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\3\4\1\u0149\4\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\2\4\2\114\1\4" - + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\4\4" + "\1\u014a\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\5\4\10\0\1\4\1\0\1\114\13\4\1\0\1\4" + "\1\114\1\3\4\4\1\0\2\3\4\0\2\4\1\0" - + "\10\4\2\0\5\4\10\0\1\4\1\0\3\4\1\u0110" + "\10\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\1\u014b\4\4\10\0\1\4" - + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\3\4\1\u014c\4\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\7\4\1\u014d\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" - + "\4\4\1\u014e\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + "\1\u014f\4\4\2\0\5\4\10\0\1\4\1\0\14\4" - + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\4\4\1\220\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" - + "\2\4\1\0\7\4\1\u0150\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\7\4\1\u0151\2\0\5\4\10\0" - + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\1\4\2\340\5\4\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\5\4\10\0\1\4\1\0\11\4\1\u0152\2\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" - + "\7\4\1\370\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\2\4" - + "\1\u0125\11\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\7\4\1\u0153\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\3\4\1\u0154\10\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\4\4\2\u0155" - + "\2\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\2\4\1\u0156" - + "\11\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\1\4\2\222\5\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\6\4\1\u0157\5\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" - + "\4\4\1\u0158\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\3\4\1\u0159\10\4" - + "\1\0\2\4\1\3\3\4\1\u010a\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" - + "\1\u015a\1\4\1\0\3\4\1\u015b\4\4\2\0\1\4" + "\1\u015a\3\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" - + "\1\u015c\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\4\4\1\70\10\0\1\4\1\0\14\4" - + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\11\4" + "\1\u015d\2\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\1\4\2\u015e\5\4\2\0\5\4" + "\10\0\1\4\1\0\3\4\1\u015f\10\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" - + "\1\u0160\4\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\4\4\1\224\10\0\1\4\1\0" - + "\14\4\1\0\2\4\10\50\1\0\12\50\2\356\6\50" + "\1\0\13\50\1\u0133\15\50\46\0\1\u0161\22\0\10\50" - + "\1\0\22\50\1\0\10\50\1\u0162\20\50\2\0\1\50" + "\4\u0134\1\50\1\u0134\1\50\1\0\2\50\20\u0134\1\u0135" - + "\6\u0134\2\50\1\u0134\1\50\16\u0134\1\50\2\u0135\1\0" + "\1\u0135\1\u0163\2\u0135\1\0\1\u0163\4\0\1\u0163\2\u0135" - + "\1\u0163\10\u0135\2\u0163\5\u0135\4\u0163\2\0\1\u0135\1\0" + "\1\u0135\1\u0163\14\u0135\1\0\2\u0135\23\0\2\354\22\0" - + "\1\u0132\17\0\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\2\4" + "\1\u0164\11\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\2\4\1\u0165\11\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" - + "\10\0\1\4\1\0\2\4\1\u014c\11\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\u0166\2\0\5\4\10\0\1\4\1\0\14\4\1\0" - + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\7\4\1\u0167\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\10\4\2\0\1\u0168\4\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\4\4\1\u0169\10\0\1\4" - + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\232\1\4\1\0\10\4\2\0\1\4\1\232" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\2\4\1\0\3\4\1\120" + "\4\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" - + "\10\4\2\0\5\4\10\0\1\4\1\0\7\4\1\u0143" + "\4\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\1\4\2\u0145\5\4\2\0\5\4\10\0" - + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\2\4\2\u016a" + "\1\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\2\4\1\0\7\4\1\230" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" - + "\2\0\5\4\10\0\1\4\1\0\11\4\1\u016b\2\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\1\362\4\4\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\1\362\13\4\1\0\1\4\1\362\1\3\4\4\1\0" - + "\2\3\4\0\2\4\1\0\10\4\2\0\1\u016c\4\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" - + "\10\0\1\4\1\0\3\4\1\u016d\10\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\362\2\0\5\4\10\0\1\4\1\0\14\4\1\0" - + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\4\4\2\120\2\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" - + "\2\4\1\0\1\4\2\u016e\5\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\3\4\1\u016f\4\4\2\0" - + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\4\4\2\u0170" + "\2\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" - + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\2\4\1\u0171" + "\11\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" - + "\2\4\1\0\4\4\2\345\2\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\3\4\1\u0172" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" - + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\1\u0173\1\4\1\0\10\4\2\0" + "\1\4\1\u0173\3\4\10\0\1\4\1\0\14\4\1\0" - + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\4\4\1\u0174\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\6\4" + "\1\u016b\5\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" - + "\1\0\1\u0125\13\4\1\0\1\4\1\u0125\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\u016a\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\6\4\1\u0175\1\4" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\1\u0175" + "\1\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" - + "\7\4\1\u0176\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\1\47\4\4\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\2\4\1\u0177\11\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\2\4\1\0\1\4\2\u0178\5\4\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" - + "\5\4\10\0\1\4\1\0\3\4\1\u0179\10\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\4\4\1\u017a\10\0\1\4\1\0\14\4" - + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\3\4\1\u017b\4\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\2\4\1\u017c\11\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" - + "\10\0\1\4\1\0\6\4\1\u017d\5\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\u017e\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\1\4\1\u0109\12\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\1\u010a\1\4\1\0\10\4\2\0\1\4" + + "\1\u010a\3\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + + "\1\u010b\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\1\u010c\2\254\5\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\10\4\2\0\1\u010d\4\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\3\4\1\u010e\1\0" + + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\1\4\1\u010f\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\1\4\1\u010f\12\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\4\4" + "\2\232\2\4\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\277\2\0\5\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\6\4\1\114\1\4\2\0\5\4\10\0" + + "\1\4\1\0\14\4\1\0\1\114\1\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\4\2\u0110\5\4" + + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + + "\2\0\5\4\10\0\1\4\1\0\11\4\1\114\2\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\7\4\1\u0111\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\3\4\1\u0112\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\3\4\1\u0113\10\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\2\4\1\114\11\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\u0114\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\7\4\1\161\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\3\4\1\u0115\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\4\4\1\u0116\10\0\1\4" + + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\4\4\2\301\2\4\2\0\5\4" + + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\1\u0117\1\4\1\0\6\4\1\u0118" + + "\1\4\2\0\1\4\1\u0117\3\4\10\0\1\4\1\0" + "\14\4\1\0\1\u0118\1\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\4\4\1\362\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\10\4\2\0\4\4\1\u0119" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\6\4\1\u011a\5\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\1\u011b\4\4\10\0\1\u011c\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\3\4\1\u010d\4\4\2\0\5\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\1\u011d\3\4\1\u011e\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\1\u011f\4\4" + + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\7\4\1\u0120\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\6\4\1\u0121" + + "\1\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\1\u0121\1\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\3\4\1\232\4\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\1\4\1\114\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\1\4\1\114\12\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\1\u0122\1\4\1\0\10\4" + "\2\0\1\4\1\u0122\3\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\u0123\2\0\5\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\1\4\2\u0124\3\4\1\u0125\1\4\2\0" + + "\5\4\10\0\1\4\1\0\3\4\1\u0126\10\4\1\0" + "\1\u0125\1\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\3\4\1\274\4\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\1\u0127\1\4\1\0\10\4\2\0\1\4\1\u0127" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\1\4\2\u0128" + "\5\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\7\4\1\u0129\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\u012a" + "\1\4\1\0\10\4\2\0\1\4\1\u012a\3\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\3\4\1\u012b\4\4\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\7\4\1\u0110" + + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + + "\2\0\4\4\1\221\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\1\4\2\u012c\5\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\4\4\1\340\7\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\10\4\2\0\1\74\4\4" + "\10\0\1\4\1\0\12\4\1\u012d\1\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\1\122" + "\7\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\3\4\1\114" + + "\10\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\1\u012e\4\4\10\0\1\4" + + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\1\u012f\7\4\2\0\5\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\3\4\1\u0130\4\4\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\4\4\1\274\10\0\1\4\1\0\14\4\1\0\2\4" + "\10\50\1\0\22\50\1\0\12\50\1\u0131\16\50\30\0" + + "\1\354\107\0\1\u0132\17\0\10\50\1\0\15\50\1\356" + "\4\50\1\0\31\50\2\0\10\50\1\0\22\50\1\0" + + "\13\50\1\u0133\15\50\2\0\10\50\1\0\17\50\1\u0134" + "\2\50\1\0\31\50\32\0\1\u0135\104\0\1\u0136\20\0" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\4\4" + "\2\114\2\4\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\120" + "\1\4\1\0\10\4\2\0\1\4\1\120\3\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\1\4\2\u0137\5\4\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\5\4\10\0\1\4\1\0\11\4\1\232\2\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\1\u0138\1\4" + + "\1\0\10\4\2\0\1\4\1\u0138\3\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\3\4\1\u0139\10\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\6\4\1\u013a\5\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\u013b\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\3\4\1\u013c\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\11\4" + + "\1\u013d\2\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\4\4\1\u013e\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + + "\1\4\1\0\7\4\1\u011a\4\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\1\u013f\7\4" + + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + + "\1\250\4\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\5\60\1\0\2\60\4\0\2\60\1\0" + + "\1\60\5\u0101\2\60\2\0\5\60\10\0\1\60\1\0" + "\14\60\1\0\2\60\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\7\4\1\u0140\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\1\u0141\1\4\1\0\10\4\2\0\1\4\1\u0141" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\1\u0142\1\4\1\0\10\4" + "\2\0\1\4\1\u0142\3\4\10\0\1\4\1\0\7\4" + + "\1\u0143\4\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\7\4\1\u0144\2\0\5\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\1\u0145\1\4\1\0\10\4\2\0\1\4" + + "\1\u0145\3\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + + "\1\325\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\10\4\2\0\5\4\10\0\1\4\1\0\3\4\1\u0146" + "\10\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\10\4\2\0\1\364\4\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\3\4\1\120\1\0" + + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\3\4\1\u0147" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\1\4\2\217\5\4" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + "\1\u0148\4\4\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\3\4\1\u0149\4\4\2\0\5\4\10\0\1\4" + + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\2\4\2\114\1\4" + + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\4\4" + + "\1\u014a\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\5\4\10\0\1\4\1\0\1\114\13\4\1\0\1\4" + "\1\114\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\10\4\2\0\5\4\10\0\1\4\1\0\3\4\1\u0110" + "\10\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\10\4\2\0\1\u014b\4\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\3\4\1\u014c\4\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\7\4\1\u014d\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\4\4\1\u014e\10\0\1\4\1\0\14\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + "\1\u014f\4\4\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\4\4\1\220\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\7\4\1\u0150\2\0\5\4\10\0\1\4" + + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\7\4\1\u0151\2\0\5\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\1\4\2\340\5\4\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\5\4\10\0\1\4\1\0\11\4\1\u0152\2\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\7\4\1\370\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\2\4" + "\1\u0125\11\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\7\4\1\u0153\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + "\1\4\1\0\3\4\1\u0154\10\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\4\4\2\u0155" + "\2\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\2\4\1\u0156" + + "\11\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\1\4\2\222\5\4\2\0\5\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\5\4\10\0" + + "\1\4\1\0\6\4\1\u0157\5\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\4\4\1\u0158\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + + "\2\0\5\4\10\0\1\4\1\0\3\4\1\u0159\10\4" + "\1\0\2\4\1\3\3\4\1\u010a\1\0\2\3\4\0" + + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\1\u015a\1\4\1\0\3\4\1\u015b\4\4\2\0\1\4" + "\1\u015a\3\4\10\0\1\4\1\0\14\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\u015c\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\4\4\1\70\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\11\4" + + "\1\u015d\2\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\1\4\2\u015e\5\4\2\0\5\4" + + "\10\0\1\4\1\0\3\4\1\u015f\10\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\3\4" + + "\1\u0160\4\4\2\0\5\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\10\4\2\0\4\4\1\224\10\0\1\4\1\0" + "\14\4\1\0\2\4\10\50\1\0\12\50\2\356\6\50" + + "\1\0\13\50\1\u0133\15\50\46\0\1\u0161\22\0\10\50" + "\1\0\22\50\1\0\10\50\1\u0162\20\50\2\0\1\50" + + "\4\u0134\1\50\1\u0134\1\50\1\0\2\50\20\u0134\1\u0135" + + "\6\u0134\2\50\1\u0134\1\50\16\u0134\1\50\2\u0135\1\0" + + "\1\u0135\1\u0163\2\u0135\1\0\1\u0163\4\0\1\u0163\2\u0135" + + "\1\u0163\10\u0135\2\u0163\5\u0135\4\u0163\2\0\1\u0135\1\0" + + "\1\u0135\1\u0163\14\u0135\1\0\2\u0135\23\0\2\354\22\0" + "\1\u0132\17\0\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\2\4" + "\1\u0164\11\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\2\4\1\u0165\11\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\2\4\1\u014c\11\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\u0166\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\7\4\1\u0167\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\1\u0168\4\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\4\4\1\u0169\10\0\1\4" + + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\232\1\4\1\0\10\4\2\0\1\4\1\232" + + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\3\4\1\120" + + "\4\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\10\4\2\0\5\4\10\0\1\4\1\0\7\4\1\u0143" + "\4\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\1\4\2\u0145\5\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\10\4\2\0\2\4\2\u016a" + "\1\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\7\4\1\230" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\11\4\1\u016b\2\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\1\362\4\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + + "\1\362\13\4\1\0\1\4\1\362\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\1\u016c\4\4" + + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + + "\10\0\1\4\1\0\3\4\1\u016d\10\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + + "\1\362\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\4\4\2\120\2\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\1\4\2\u016e\5\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\3\4\1\u016f\4\4\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\2\4\1\0\4\4\2\u0170" + "\2\4\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\2\4\1\u0171" + + "\11\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\4\4\2\345\2\4\2\0\5\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\3\4\1\u0172" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\1\u0173\1\4\1\0\10\4\2\0" + + "\1\4\1\u0173\3\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\10\4\2\0\4\4\1\u0174\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\6\4" + "\1\u016b\5\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\1\u0125\13\4\1\0\1\4\1\u0125\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\u016a\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\6\4\1\u0175\1\4" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\1\u0175" + + "\1\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\7\4\1\u0176\2\0\5\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\1\47\4\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + + "\2\4\1\u0177\11\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\1\4\2\u0178\5\4\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\5\4\10\0\1\4\1\0\3\4\1\u0179\10\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\10\4\2\0\4\4\1\u017a\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\3\4\1\u017b\4\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\10\4\2\0\5\4\10\0\1\4" + "\1\0\2\4\1\u017c\11\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\6\4\1\u017d\5\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\7\4" + "\1\u017e\2\0\5\4\10\0\1\4\1\0\14\4\1\0" + "\2\4\44\0\1\u0135\22\0\10\50\1\0\22\50\1\0" + "\10\50\1\u0134\20\50\2\0\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\1\232\7\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\6\4\1\u0118\1\4\2\0" - + "\5\4\10\0\1\4\1\0\14\4\1\0\1\u0118\1\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\6\4\1\136\5\4" - + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\3\4\1\364\4\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\2\4\1\0\10\4\2\0\4\4\1\u017f\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\7\4\1\u0180\2\0\5\4" - + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\u013e\7\4\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\3\4\1\u0181\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" - + "\2\0\5\4\10\0\1\4\1\0\3\4\1\304\10\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\5\4" - + "\1\114\6\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\4\4\2\u0114\2\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\1\4\1\u0182\1\0\10\4\2\0" + "\5\4\10\0\1\4\1\0\1\4\1\u0182\12\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" - + "\10\4\2\0\1\u0108\4\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\1\u016f\4\4\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\1\u0183\1\4\1\0\10\4\2\0\1\4\1\u0183\3\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\7\4\1\u0184\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\1\u0185\1\4\1\0\10\4" - + "\2\0\1\4\1\u0185\3\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\4" + "\1\u0186\1\0\10\4\2\0\5\4\10\0\1\4\1\0" - + "\1\4\1\u0186\12\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\4\4\1\u0187" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\2\4\1\364\11\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" - + "\2\0\5\4\10\0\1\4\1\0\2\4\1\u0188\11\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\6\4\1\u0189\1\4\2\0\5\4\10\0\1\4" - + "\1\0\14\4\1\0\1\u0189\1\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\7\4\1\u018a\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\u018b\2\4\1\3\3\4" + "\1\232\1\0\2\3\4\0\2\4\1\0\10\4\2\0" - + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + "\5\4\10\0\1\4\1\0\2\4\1\u0145\11\4\1\0" - + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\5\4\10\0\1\4\1\0\13\4\1\114" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\3\4\1\u018c\4\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\u018d\1\4\1\0\10\4\2\0\1\4\1\u018d" - + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\1\u018e\1\4\1\0\10\4" + "\2\0\1\4\1\u018e\3\4\10\0\1\4\1\0\14\4" - + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\u018f" + "\1\4\1\0\10\4\2\0\1\4\1\u018f\3\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" - + "\2\3\4\0\2\4\1\0\7\4\1\362\2\0\4\4" + "\1\u0190\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\1\4\1\362\1\0\10\4" - + "\2\0\5\4\10\0\1\4\1\0\1\4\1\362\12\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\4\4\1\u0191\10\0\1\4\1\0" - + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\7\4\1\u0192\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" - + "\4\0\1\u0193\1\4\1\0\10\4\2\0\1\4\1\u0193" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\23\0" + "\2\u0194\42\0\1\3\4\4\1\0\2\3\4\0\2\4" - + "\1\0\7\4\1\147\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\4\4\1\u016f\10\0\1\4" - + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\1\4\2\u0195\5\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" - + "\1\0\2\3\4\0\2\4\1\0\1\4\2\u0196\5\4" + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" - + "\2\0\5\4\10\0\1\4\1\0\4\4\1\324\7\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\11\4" - + "\1\327\2\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\1\137\1\4\1\0\10\4\2\0\1\4\1\137" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" - + "\4\4\1\0\2\3\4\0\1\u0197\1\4\1\0\10\4" + "\2\0\1\4\1\u0197\3\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\31\0\1\u0198\35\0\1\3\4\4\1\0" - + "\2\3\4\0\2\4\1\0\10\4\2\0\1\u0199\4\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\1\4\1\u0199\1\0\10\4\2\0" - + "\5\4\10\0\1\4\1\0\1\4\1\u0199\12\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\1\4\2\u019a\5\4\2\0\5\4\10\0\1\4\1\0" - + "\14\4\1\0\2\4\35\0\1\u019b\31\0\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\4\4" + "\1\u0190\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + + "\4\0\2\4\1\0\1\232\7\4\2\0\5\4\10\0" + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\6\4\1\u0118\1\4\2\0" + "\5\4\10\0\1\4\1\0\14\4\1\0\1\u0118\1\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\6\4\1\136\5\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\3\4\1\364\4\4\2\0\5\4\10\0\1\4" + + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\10\4\2\0\4\4\1\u017f\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\7\4\1\u0180\2\0\5\4" + + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\u013e\7\4\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\3\4\1\u0181\1\0\2\3\4\0\2\4\1\0\10\4" + + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + + "\2\0\5\4\10\0\1\4\1\0\3\4\1\304\10\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\5\4" + "\1\114\6\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\2\4\1\0\4\4\2\u0114\2\4\2\0\5\4" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\1\4\1\u0182\1\0\10\4\2\0" + "\5\4\10\0\1\4\1\0\1\4\1\u0182\12\4\1\0" + + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + "\10\4\2\0\1\u0108\4\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\10\4\2\0\1\u016f\4\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\1\u0183\1\4\1\0\10\4\2\0\1\4\1\u0183\3\4" + + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\7\4\1\u0184\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\1\u0185\1\4\1\0\10\4" + + "\2\0\1\4\1\u0185\3\4\10\0\1\4\1\0\14\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\4" + + "\1\u0186\1\0\10\4\2\0\5\4\10\0\1\4\1\0" + "\1\4\1\u0186\12\4\1\0\2\4\1\3\4\4\1\0" + + "\2\3\4\0\2\4\1\0\10\4\2\0\4\4\1\u0187" + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + "\10\0\1\4\1\0\2\4\1\364\11\4\1\0\2\4" + + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\2\4\1\u0188\11\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\6\4\1\u0189\1\4\2\0\5\4\10\0\1\4" + + "\1\0\14\4\1\0\1\u0189\1\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\7\4\1\u018a\2\0\5\4" + + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\5\4" + + "\10\0\1\4\1\0\14\4\1\u018b\2\4\1\3\3\4" + "\1\232\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\5\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\2\4\1\0\10\4\2\0" + + "\5\4\10\0\1\4\1\0\2\4\1\u0145\11\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\10\4\2\0\5\4\10\0\1\4\1\0\13\4\1\114" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\3\4\1\u018c\4\4\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\1\u018d\1\4\1\0\10\4\2\0\1\4\1\u018d" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\1\u018e\1\4\1\0\10\4" + "\2\0\1\4\1\u018e\3\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\1\u018f" + "\1\4\1\0\10\4\2\0\1\4\1\u018f\3\4\10\0" + + "\1\4\1\0\14\4\1\0\2\4\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\7\4\1\362\2\0\4\4" + + "\1\u0190\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\1\4\1\362\1\0\10\4" + + "\2\0\5\4\10\0\1\4\1\0\1\4\1\362\12\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\10\4\2\0\4\4\1\u0191\10\0\1\4\1\0" + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + + "\2\4\1\0\7\4\1\u0192\2\0\5\4\10\0\1\4" + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\1\u0193\1\4\1\0\10\4\2\0\1\4\1\u0193" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\23\0" + + "\2\u0194\42\0\1\3\4\4\1\0\2\3\4\0\2\4" + "\1\0\7\4\1\147\2\0\5\4\10\0\1\4\1\0" + + "\14\4\1\0\2\4\1\3\4\4\1\0\2\3\4\0" + "\2\4\1\0\10\4\2\0\4\4\1\u016f\10\0\1\4" + + "\1\0\14\4\1\0\2\4\1\3\4\4\1\0\2\3" + "\4\0\2\4\1\0\1\4\2\u0195\5\4\2\0\5\4" + + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\2\4\1\0\1\4\2\u0196\5\4" + + "\2\0\5\4\10\0\1\4\1\0\14\4\1\0\2\4" + "\1\3\4\4\1\0\2\3\4\0\2\4\1\0\10\4" + + "\2\0\5\4\10\0\1\4\1\0\4\4\1\324\7\4" + "\1\0\2\4\1\3\4\4\1\0\2\3\4\0\2\4" + + "\1\0\10\4\2\0\5\4\10\0\1\4\1\0\11\4" + "\1\327\2\4\1\0\2\4\1\3\4\4\1\0\2\3" + + "\4\0\1\137\1\4\1\0\10\4\2\0\1\4\1\137" + "\3\4\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + + "\4\4\1\0\2\3\4\0\1\u0197\1\4\1\0\10\4" + "\2\0\1\4\1\u0197\3\4\10\0\1\4\1\0\14\4" + + "\1\0\2\4\31\0\1\u0198\35\0\1\3\4\4\1\0" + "\2\3\4\0\2\4\1\0\10\4\2\0\1\u0199\4\4" + + "\10\0\1\4\1\0\14\4\1\0\2\4\1\3\4\4" + "\1\0\2\3\4\0\1\4\1\u0199\1\0\10\4\2\0" + + "\5\4\10\0\1\4\1\0\1\4\1\u0199\12\4\1\0" + "\2\4\1\3\4\4\1\0\2\3\4\0\2\4\1\0" + + "\1\4\2\u019a\5\4\2\0\5\4\10\0\1\4\1\0" + "\14\4\1\0\2\4\35\0\1\u019b\31\0\1\3\4\4" + + "\1\0\2\3\4\0\2\4\1\0\10\4\2\0\4\4" + "\1\u0190\10\0\1\4\1\0\14\4\1\0\2\4\1\3" + "\4\4\1\0\2\3\4\0\1\4\1\232\1\0\10\4" + "\2\0\5\4\10\0\1\4\1\0\1\4\1\232\12\4" + "\1\0\2\4\31\0\1\u019c\63\0\1\u019d\121\0\1\u019e" + "\33\0\1\u019f\112\0\1\u01a0\45\0\1\u01a1\35\0"; - + private static int[] zzUnpackTrans() { int[] result = new int[22000]; 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 */ @@ -494,7 +629,7 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -506,17 +641,17 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\4\1\1\11\1\1\1\11\2\1\1\11\16\1" + "\2\11\14\1\1\11\26\1\1\11\6\1\1\0\73\1" - + "\2\0\3\1\2\0\1\1\1\0\137\1\2\0\3\1" + "\2\0\100\1\1\0\3\1\1\0\52\1\1\0\1\1" + "\1\0\47\1\1\0\10\1\1\0\3\1\1\0\2\1" - + "\6\0\1\11"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\4\1\1\11\1\1\1\11\2\1\1\11\16\1" + + "\2\11\14\1\1\11\26\1\1\11\6\1\1\0\73\1" + "\2\0\3\1\2\0\1\1\1\0\137\1\2\0\3\1" + + "\2\0\100\1\1\0\3\1\1\0\52\1\1\0\1\1" + "\1\0\47\1\1\0\10\1\1\0\3\1\1\0\2\1" + "\6\0\1\11"; + private static int[] zzUnpackAttribute() { int[] result = new int[417]; 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 */ @@ -530,7 +665,7 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -538,8 +673,8 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -549,77 +684,67 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public VisualBasicTokenMaker() {} - + public VisualBasicTokenMaker() { + } + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addHyperlinkToken(int, int, int) */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, false); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. - * @param hyperlink - * Whether this token is a hyperlink. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. + * @param hyperlink Whether this token is a hyperlink. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset, boolean hyperlink) { super.addToken(array, start, end, tokenType, startOffset, hyperlink); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -627,21 +752,18 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "'", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -659,36 +781,34 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -698,34 +818,31 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public VisualBasicTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public VisualBasicTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -741,7 +858,7 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -751,69 +868,64 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -824,29 +936,27 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -865,8 +975,7 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -906,136 +1015,137 @@ public class VisualBasicTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 5: { - addNullToken(); - return firstToken; - } - case 21: - break; - case 6: { - addToken(Token.WHITESPACE); - } - case 22: - break; - case 16: { - addToken(Token.LITERAL_NUMBER_HEXADECIMAL); - } - case 23: - break; - case 13: { - addToken(Token.LITERAL_NUMBER_FLOAT); - } - case 24: - break; - case 15: { - addToken(Token.RESERVED_WORD); - } - case 25: - break; - case 9: { - addToken(Token.SEPARATOR); - } - case 26: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 27: - break; - case 11: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 28: - break; - case 7: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 29: - break; - case 1: { - addToken(Token.ERROR_IDENTIFIER); - } - case 30: - break; - case 17: { - addToken(Token.DATA_TYPE); - } - case 31: - break; - case 18: { - addToken(Token.LITERAL_BOOLEAN); - } - case 32: - break; - case 14: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 33: - break; - case 19: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); - start = zzMarkedPos; - } - case 34: - break; - case 20: { - addToken(Token.RESERVED_WORD_2); - } - case 35: - break; - case 12: { - addToken(Token.ERROR_NUMBER_FORMAT); - } - case 36: - break; - case 8: { - start = zzMarkedPos - 1; - yybegin(EOL_COMMENT); - } - case 37: - break; - case 3: { - addToken(Token.LITERAL_NUMBER_DECIMAL_INT); - } - case 38: - break; - case 4: { - addToken(Token.OPERATOR); - } - case 39: - break; - case 10: {} - case 40: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case EOL_COMMENT: { - addToken(start, zzStartRead - 1, Token.COMMENT_EOL); - addNullToken(); - return firstToken; - } - case 418: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 419: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 5: { + addNullToken(); + return firstToken; + } + case 21: + break; + case 6: { + addToken(Token.WHITESPACE); + } + case 22: + break; + case 16: { + addToken(Token.LITERAL_NUMBER_HEXADECIMAL); + } + case 23: + break; + case 13: { + addToken(Token.LITERAL_NUMBER_FLOAT); + } + case 24: + break; + case 15: { + addToken(Token.RESERVED_WORD); + } + case 25: + break; + case 9: { + addToken(Token.SEPARATOR); + } + case 26: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 27: + break; + case 11: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; + } + case 28: + break; + case 7: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 29: + break; + case 1: { + addToken(Token.ERROR_IDENTIFIER); + } + case 30: + break; + case 17: { + addToken(Token.DATA_TYPE); + } + case 31: + break; + case 18: { + addToken(Token.LITERAL_BOOLEAN); + } + case 32: + break; + case 14: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 33: + break; + case 19: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.COMMENT_EOL); + start = zzMarkedPos; + } + case 34: + break; + case 20: { + addToken(Token.RESERVED_WORD_2); + } + case 35: + break; + case 12: { + addToken(Token.ERROR_NUMBER_FORMAT); + } + case 36: + break; + case 8: { + start = zzMarkedPos - 1; + yybegin(EOL_COMMENT); + } + case 37: + break; + case 3: { + addToken(Token.LITERAL_NUMBER_DECIMAL_INT); + } + case 38: + break; + case 4: { + addToken(Token.OPERATOR); + } + case 39: + break; + case 10: { + } + case 40: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case EOL_COMMENT: { + addToken(start, zzStartRead - 1, Token.COMMENT_EOL); + addNullToken(); + return firstToken; } + case 418: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 419: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/WindowsBatchTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/WindowsBatchTokenMaker.java index 78c401c..0e93bc0 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/WindowsBatchTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/WindowsBatchTokenMaker.java @@ -14,57 +14,51 @@ import org.fife.ui.rsyntaxtextarea.Token; import org.fife.ui.rsyntaxtextarea.TokenMap; /** - * A token maker that turns text into a linked list of - * Tokens for syntax highlighting Microsoft - * Windows batch files. + * A token maker that turns text into a linked list of Tokens for + * syntax highlighting Microsoft Windows batch files. * * @author Robert Futrell * @version 0.1 */ public class WindowsBatchTokenMaker extends AbstractTokenMaker { - + protected final String operators = "@:*<>=?"; private int currentTokenStart; private int currentTokenType; private VariableType varType; - + /** * Constructor. */ public WindowsBatchTokenMaker() { super(); // Initializes tokensToHighlight. } - + /** - * Checks the token to give it the exact ID it deserves before - * being passed up to the super method. + * Checks the token to give it the exact ID it deserves before being passed up + * to the super method. * - * @param segment - * Segment to get text from. - * @param start - * Start offset in segment of token. - * @param end - * End offset in segment of token. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which the token occurs. + * @param segment Segment to get text from. + * @param start Start offset in segment of token. + * @param end End offset in segment of token. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which the token occurs. */ @Override public void addToken(Segment segment, int start, int end, int tokenType, int startOffset) { switch (tokenType) { - // Since reserved words, functions, and data types are all passed - // into here as "identifiers," we have to see what the token - // really is... - case Token.IDENTIFIER: - int value = wordsToHighlight.get(segment, start, end); - if (value != -1) - tokenType = value; - break; + // Since reserved words, functions, and data types are all passed + // into here as "identifiers," we have to see what the token + // really is... + case Token.IDENTIFIER: + int value = wordsToHighlight.get(segment, start, end); + if (value != -1) + tokenType = value; + break; } super.addToken(segment, start, end, tokenType, startOffset); } - + /** * {@inheritDoc} */ @@ -72,26 +66,24 @@ public class WindowsBatchTokenMaker extends AbstractTokenMaker { public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "rem ", null }; } - + /** - * Returns whether tokens of the specified type should have "mark - * occurrences" enabled for the current programming language. + * Returns whether tokens of the specified type should have "mark occurrences" + * enabled for the current programming language. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.IDENTIFIER || type == Token.VARIABLE; } - + /** * Returns the words to highlight for Windows batch files. * - * @return A TokenMap containing the words to highlight for - * Windows batch files. + * @return A TokenMap containing the words to highlight for Windows + * batch files. * @see org.fife.ui.rsyntaxtextarea.AbstractTokenMaker#getWordsToHighlight */ @Override @@ -226,16 +218,13 @@ public class WindowsBatchTokenMaker extends AbstractTokenMaker { tokenMap.put("xcopy", reservedWord); return tokenMap; } - + /** * Returns a list of tokens representing the given text. * - * @param text - * The text to break into tokens. - * @param startTokenType - * The token with which to start tokenizing. - * @param startOffset - * The offset at which the line of tokens begins. + * @param text The text to break into tokens. + * @param startTokenType The token with which to start tokenizing. + * @param startOffset The offset at which the line of tokens begins. * @return A linked list of tokens representing text. */ @Override @@ -258,307 +247,316 @@ public class WindowsBatchTokenMaker extends AbstractTokenMaker { for (int i = offset; i < end; i++) { char c = array[i]; switch (currentTokenType) { - case Token.NULL: - currentTokenStart = i; // Starting a new token here. - switch (c) { - case ' ': - case '\t': - currentTokenType = Token.WHITESPACE; - break; - case '"': - currentTokenType = Token.ERROR_STRING_DOUBLE; - break; - case '%': - currentTokenType = Token.VARIABLE; - break; - // The "separators". - case '(': - case ')': - addToken(text, currentTokenStart, i, Token.SEPARATOR, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - break; - // The "separators2". - case ',': - case ';': - addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - break; - // Newer version of EOL comments, or a label - case ':': - // If this will be the first token added, it is - // a new-style comment or a label - if (firstToken == null) { - if (i < end - 1 && array[i + 1] == ':') { // new-style - // comment - currentTokenType = Token.COMMENT_EOL; - } else { // Label - currentTokenType = Token.PREPROCESSOR; - } - } else { // Just a colon - currentTokenType = Token.IDENTIFIER; - } - break; - default: - // Just to speed things up a tad, as this will - // usually be the case (if spaces above failed). - if (RSyntaxUtilities.isLetterOrDigit(c) || c == '\\') { - currentTokenType = Token.IDENTIFIER; - break; - } - int indexOf = operators.indexOf(c, 0); - if (indexOf > -1) { - addToken(text, currentTokenStart, i, Token.OPERATOR, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - break; - } else { - currentTokenType = Token.IDENTIFIER; - break; - } - } // End of switch (c). + case Token.NULL: + currentTokenStart = i; // Starting a new token here. + switch (c) { + case ' ': + case '\t': + currentTokenType = Token.WHITESPACE; break; - case Token.WHITESPACE: - switch (c) { - case ' ': - case '\t': - break; // Still whitespace. - case '"': - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.ERROR_STRING_DOUBLE; - break; - case '%': - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.VARIABLE; - break; - // The "separators". - case '(': - case ')': - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.SEPARATOR, newStartOffset + i); - currentTokenType = Token.NULL; - break; - // The "separators2". - case ',': - case ';': - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); - currentTokenType = Token.NULL; - break; - // Newer version of EOL comments, or a label - case ':': - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - currentTokenStart = i; - // If the previous (whitespace) token was the first - // token - // added, this is a new-style comment or a label - if (firstToken.getNextToken() == null) { - if (i < end - 1 && array[i + 1] == ':') { // new-style - // comment - currentTokenType = Token.COMMENT_EOL; - } else { // Label - currentTokenType = Token.PREPROCESSOR; - } - } else { // Just a colon - currentTokenType = Token.IDENTIFIER; - } - break; - default: // Add the whitespace token and start anew. - addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); - currentTokenStart = i; - // Just to speed things up a tad, as this will - // usually be the case (if spaces above failed). - if (RSyntaxUtilities.isLetterOrDigit(c) || c == '\\') { - currentTokenType = Token.IDENTIFIER; - break; - } - int indexOf = operators.indexOf(c, 0); - if (indexOf > -1) { - addToken(text, currentTokenStart, i, Token.OPERATOR, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - break; - } else { - currentTokenType = Token.IDENTIFIER; - } - } // End of switch (c). + case '"': + currentTokenType = Token.ERROR_STRING_DOUBLE; break; - default: // Should never happen - case Token.IDENTIFIER: - switch (c) { - case ' ': - case '\t': - // Check for REM comments. - if (i - currentTokenStart == 3 && (array[i - 3] == 'r' || array[i - 3] == 'R') - && (array[i - 2] == 'e' || array[i - 2] == 'E') && (array[i - 1] == 'm' || array[i - 1] == 'M')) { - currentTokenType = Token.COMMENT_EOL; - break; - } - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.WHITESPACE; - break; - case '"': - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.ERROR_STRING_DOUBLE; - break; - case '%': - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - currentTokenStart = i; - currentTokenType = Token.VARIABLE; - break; - // Should be part of identifiers, but not at end of - // "REM". - case '\\': - // Check for REM comments. - if (i - currentTokenStart == 3 && (array[i - 3] == 'r' || array[i - 3] == 'R') - && (array[i - 2] == 'e' || array[i - 2] == 'E') && (array[i - 1] == 'm' || array[i - 1] == 'M')) { - currentTokenType = Token.COMMENT_EOL; - } - break; - case '.': - case '_': - break; // Characters good for identifiers. - // The "separators". - case '(': - case ')': - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.SEPARATOR, newStartOffset + i); - currentTokenType = Token.NULL; - break; - // The "separators2". - case ',': - case ';': - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); - currentTokenType = Token.NULL; - break; - default: - // Just to speed things up a tad, as this will - // usually be the case. - if (RSyntaxUtilities.isLetterOrDigit(c) || c == '\\') { - break; - } - int indexOf = operators.indexOf(c); - if (indexOf > -1) { - addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); - addToken(text, i, i, Token.OPERATOR, newStartOffset + i); - currentTokenType = Token.NULL; - break; - } - // Otherwise, fall through and assume we're still - // okay as an IDENTIFIER... - } // End of switch (c). + case '%': + currentTokenType = Token.VARIABLE; break; - case Token.COMMENT_EOL: - i = end - 1; - addToken(text, currentTokenStart, i, Token.COMMENT_EOL, newStartOffset + currentTokenStart); - // We need to set token type to null so at the bottom we - // don't add one more token. + // The "separators". + case '(': + case ')': + addToken(text, currentTokenStart, i, Token.SEPARATOR, newStartOffset + currentTokenStart); currentTokenType = Token.NULL; break; - case Token.PREPROCESSOR: // Used for labels - i = end - 1; - addToken(text, currentTokenStart, i, Token.PREPROCESSOR, newStartOffset + currentTokenStart); - // We need to set token type to null so at the bottom we - // don't add one more token. + // The "separators2". + case ',': + case ';': + addToken(text, currentTokenStart, i, Token.IDENTIFIER, newStartOffset + currentTokenStart); currentTokenType = Token.NULL; break; - case Token.ERROR_STRING_DOUBLE: - if (c == '"') { - addToken(text, currentTokenStart, i, Token.LITERAL_STRING_DOUBLE_QUOTE, newStartOffset + currentTokenStart); - currentTokenStart = i + 1; - currentTokenType = Token.NULL; - } - // Otherwise, we're still an unclosed string... - break; - case Token.VARIABLE: - if (i == currentTokenStart + 1) { // first character after - // '%'. - varType = VariableType.NORMAL_VAR; - switch (c) { - case '{': - varType = VariableType.BRACKET_VAR; - break; - case '~': - varType = VariableType.TILDE_VAR; - break; - case '%': - varType = VariableType.DOUBLE_PERCENT_VAR; - break; - default: - if (RSyntaxUtilities.isLetter(c) || c == '_' || c == ' ') { // No - // tab, - // just - // space; - // spaces - // are - // okay - // in - // variable - // names. - break; - } else if (RSyntaxUtilities.isDigit(c)) { // Single-digit - // command-line - // argument - // ("%1"). - addToken(text, currentTokenStart, i, Token.VARIABLE, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - break; - } else { // Anything else, ???. - addToken(text, currentTokenStart, i - 1, Token.VARIABLE, newStartOffset + currentTokenStart); // ??? - i--; - currentTokenType = Token.NULL; - break; - } - } // End of switch (c). - } else { // Character other than first after the '%'. - switch (varType) { - case BRACKET_VAR: - if (c == '}') { - addToken(text, currentTokenStart, i, Token.VARIABLE, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - } - break; - case TILDE_VAR: - if (!RSyntaxUtilities.isLetterOrDigit(c)) { - addToken(text, currentTokenStart, i - 1, Token.VARIABLE, newStartOffset + currentTokenStart); - i--; - currentTokenType = Token.NULL; - } - break; - case DOUBLE_PERCENT_VAR: - // Can be terminated with "%%", or (essentially) - // a space. - // substring chars are valid - if (c == '%') { - if (i < end - 1 && array[i + 1] == '%') { - i++; - addToken(text, currentTokenStart, i, Token.VARIABLE, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - } - } else if (!RSyntaxUtilities.isLetterOrDigit(c) && c != ':' && c != '~' && c != ',' && c != '-') { - addToken(text, currentTokenStart, i - 1, Token.VARIABLE, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - i--; - } - break; - default: - if (c == '%') { - addToken(text, currentTokenStart, i, Token.VARIABLE, newStartOffset + currentTokenStart); - currentTokenType = Token.NULL; - } - break; + // Newer version of EOL comments, or a label + case ':': + // If this will be the first token added, it is + // a new-style comment or a label + if (firstToken == null) { + if (i < end - 1 && array[i + 1] == ':') { // new-style + // comment + currentTokenType = Token.COMMENT_EOL; + } else { // Label + currentTokenType = Token.PREPROCESSOR; } + } else { // Just a colon + currentTokenType = Token.IDENTIFIER; } break; + default: + // Just to speed things up a tad, as this will + // usually be the case (if spaces above failed). + if (RSyntaxUtilities.isLetterOrDigit(c) || c == '\\') { + currentTokenType = Token.IDENTIFIER; + break; + } + int indexOf = operators.indexOf(c, 0); + if (indexOf > -1) { + addToken(text, currentTokenStart, i, Token.OPERATOR, newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + break; + } else { + currentTokenType = Token.IDENTIFIER; + break; + } + } // End of switch (c). + break; + case Token.WHITESPACE: + switch (c) { + case ' ': + case '\t': + break; // Still whitespace. + case '"': + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.ERROR_STRING_DOUBLE; + break; + case '%': + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.VARIABLE; + break; + // The "separators". + case '(': + case ')': + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.SEPARATOR, newStartOffset + i); + currentTokenType = Token.NULL; + break; + // The "separators2". + case ',': + case ';': + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); + currentTokenType = Token.NULL; + break; + // Newer version of EOL comments, or a label + case ':': + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + currentTokenStart = i; + // If the previous (whitespace) token was the first + // token + // added, this is a new-style comment or a label + if (firstToken.getNextToken() == null) { + if (i < end - 1 && array[i + 1] == ':') { // new-style + // comment + currentTokenType = Token.COMMENT_EOL; + } else { // Label + currentTokenType = Token.PREPROCESSOR; + } + } else { // Just a colon + currentTokenType = Token.IDENTIFIER; + } + break; + default: // Add the whitespace token and start anew. + addToken(text, currentTokenStart, i - 1, Token.WHITESPACE, newStartOffset + currentTokenStart); + currentTokenStart = i; + // Just to speed things up a tad, as this will + // usually be the case (if spaces above failed). + if (RSyntaxUtilities.isLetterOrDigit(c) || c == '\\') { + currentTokenType = Token.IDENTIFIER; + break; + } + int indexOf = operators.indexOf(c, 0); + if (indexOf > -1) { + addToken(text, currentTokenStart, i, Token.OPERATOR, newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + break; + } else { + currentTokenType = Token.IDENTIFIER; + } + } // End of switch (c). + break; + default: // Should never happen + case Token.IDENTIFIER: + switch (c) { + case ' ': + case '\t': + // Check for REM comments. + if (i - currentTokenStart == 3 && (array[i - 3] == 'r' || array[i - 3] == 'R') + && (array[i - 2] == 'e' || array[i - 2] == 'E') + && (array[i - 1] == 'm' || array[i - 1] == 'M')) { + currentTokenType = Token.COMMENT_EOL; + break; + } + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.WHITESPACE; + break; + case '"': + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.ERROR_STRING_DOUBLE; + break; + case '%': + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + currentTokenStart = i; + currentTokenType = Token.VARIABLE; + break; + // Should be part of identifiers, but not at end of + // "REM". + case '\\': + // Check for REM comments. + if (i - currentTokenStart == 3 && (array[i - 3] == 'r' || array[i - 3] == 'R') + && (array[i - 2] == 'e' || array[i - 2] == 'E') + && (array[i - 1] == 'm' || array[i - 1] == 'M')) { + currentTokenType = Token.COMMENT_EOL; + } + break; + case '.': + case '_': + break; // Characters good for identifiers. + // The "separators". + case '(': + case ')': + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.SEPARATOR, newStartOffset + i); + currentTokenType = Token.NULL; + break; + // The "separators2". + case ',': + case ';': + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.IDENTIFIER, newStartOffset + i); + currentTokenType = Token.NULL; + break; + default: + // Just to speed things up a tad, as this will + // usually be the case. + if (RSyntaxUtilities.isLetterOrDigit(c) || c == '\\') { + break; + } + int indexOf = operators.indexOf(c); + if (indexOf > -1) { + addToken(text, currentTokenStart, i - 1, Token.IDENTIFIER, newStartOffset + currentTokenStart); + addToken(text, i, i, Token.OPERATOR, newStartOffset + i); + currentTokenType = Token.NULL; + break; + } + // Otherwise, fall through and assume we're still + // okay as an IDENTIFIER... + } // End of switch (c). + break; + case Token.COMMENT_EOL: + i = end - 1; + addToken(text, currentTokenStart, i, Token.COMMENT_EOL, newStartOffset + currentTokenStart); + // We need to set token type to null so at the bottom we + // don't add one more token. + currentTokenType = Token.NULL; + break; + case Token.PREPROCESSOR: // Used for labels + i = end - 1; + addToken(text, currentTokenStart, i, Token.PREPROCESSOR, newStartOffset + currentTokenStart); + // We need to set token type to null so at the bottom we + // don't add one more token. + currentTokenType = Token.NULL; + break; + case Token.ERROR_STRING_DOUBLE: + if (c == '"') { + addToken(text, currentTokenStart, i, Token.LITERAL_STRING_DOUBLE_QUOTE, + newStartOffset + currentTokenStart); + currentTokenStart = i + 1; + currentTokenType = Token.NULL; + } + // Otherwise, we're still an unclosed string... + break; + case Token.VARIABLE: + if (i == currentTokenStart + 1) { // first character after + // '%'. + varType = VariableType.NORMAL_VAR; + switch (c) { + case '{': + varType = VariableType.BRACKET_VAR; + break; + case '~': + varType = VariableType.TILDE_VAR; + break; + case '%': + varType = VariableType.DOUBLE_PERCENT_VAR; + break; + default: + if (RSyntaxUtilities.isLetter(c) || c == '_' || c == ' ') { // No + // tab, + // just + // space; + // spaces + // are + // okay + // in + // variable + // names. + break; + } else if (RSyntaxUtilities.isDigit(c)) { // Single-digit + // command-line + // argument + // ("%1"). + addToken(text, currentTokenStart, i, Token.VARIABLE, newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + break; + } else { // Anything else, ???. + addToken(text, currentTokenStart, i - 1, Token.VARIABLE, + newStartOffset + currentTokenStart); // ??? + i--; + currentTokenType = Token.NULL; + break; + } + } // End of switch (c). + } else { // Character other than first after the '%'. + switch (varType) { + case BRACKET_VAR: + if (c == '}') { + addToken(text, currentTokenStart, i, Token.VARIABLE, newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + } + break; + case TILDE_VAR: + if (!RSyntaxUtilities.isLetterOrDigit(c)) { + addToken(text, currentTokenStart, i - 1, Token.VARIABLE, + newStartOffset + currentTokenStart); + i--; + currentTokenType = Token.NULL; + } + break; + case DOUBLE_PERCENT_VAR: + // Can be terminated with "%%", or (essentially) + // a space. + // substring chars are valid + if (c == '%') { + if (i < end - 1 && array[i + 1] == '%') { + i++; + addToken(text, currentTokenStart, i, Token.VARIABLE, + newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + } + } else if (!RSyntaxUtilities.isLetterOrDigit(c) && c != ':' && c != '~' && c != ',' + && c != '-') { + addToken(text, currentTokenStart, i - 1, Token.VARIABLE, + newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + i--; + } + break; + default: + if (c == '%') { + addToken(text, currentTokenStart, i, Token.VARIABLE, newStartOffset + currentTokenStart); + currentTokenType = Token.NULL; + } + break; + } + } + break; } // End of switch (currentTokenType). } // End of for (int i=offset; iJFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -40,16 +39,16 @@ import org.fife.ui.rsyntaxtextarea.XmlOccurrenceMarker; * If you wish to regenerate this file yourself, keep in mind the following: *

        *
      • The generated XMLTokenMaker.java file will contain two - * definitions of both zzRefill and yyreset. - * You should hand-delete the second of each definition (the ones - * generated by the lexer), as these generated methods modify the input - * buffer, which we'll never have to do.
      • - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway.
      • + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway.
      • *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance.
      • + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -57,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.XmlOccurrenceMarker; * */ public class XMLTokenMaker extends AbstractMarkupTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -84,17 +83,18 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\5\0\2\1\1\0\2\2\1\3\1\4\1\5\1\6" + "\2\1\1\7\4\1\1\10\2\1\1\11\1\1\1\12" - + "\1\13\1\14\2\15\1\16\1\17\1\20\1\21\1\22" + "\1\1\1\23\3\1\1\24\1\25\1\4\1\26\1\6" + "\5\0\1\27\4\0\1\30\1\31\5\0\1\32\1\33" + private static final String ZZ_ACTION_PACKED_0 = "\5\0\2\1\1\0\2\2\1\3\1\4\1\5\1\6" + + "\2\1\1\7\4\1\1\10\2\1\1\11\1\1\1\12" + "\1\13\1\14\2\15\1\16\1\17\1\20\1\21\1\22" + + "\1\1\1\23\3\1\1\24\1\25\1\4\1\26\1\6" + "\5\0\1\27\4\0\1\30\1\31\5\0\1\32\1\33" + "\3\0\1\34\1\35\6\0\1\36"; - + private static int[] zzUnpackAction() { int[] result = new int[77]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -108,7 +108,7 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -121,15 +121,16 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { + "\0\u0431\0\u0456\0\u047b\0\u04a0\0\u0172\0\u0172\0\u04c5\0\u04ea" + "\0\u050f\0\u0534\0\u0559\0\u0172\0\u057e\0\u05a3\0\u05c8\0\u05ed" + "\0\u0612\0\u0172\0\u0637\0\u065c\0\u0681\0\u06a6\0\u06cb\0\u0172" - + "\0\u0172\0\u06f0\0\u0715\0\u073a\0\u075f\0\u0172\0\u0784\0\u07a9" + "\0\u075f\0\u07ce\0\u07f3\0\u0818\0\u0172"; - + + "\0\u0172\0\u06f0\0\u0715\0\u073a\0\u075f\0\u0172\0\u0784\0\u07a9" + + "\0\u075f\0\u07ce\0\u07f3\0\u0818\0\u0172"; + private static int[] zzUnpackRowMap() { int[] result = new int[77]; 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 */ @@ -140,7 +141,7 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** * The transition table of the DFA */ @@ -149,26 +150,27 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { + "\1\20\1\17\1\21\24\17\1\22\3\17\1\23\3\17" + "\1\24\3\17\4\25\1\26\36\25\1\27\1\25\4\30" + "\1\31\1\32\5\30\1\33\4\30\1\34\1\35\23\30" + "\3\36\1\37\1\0\1\36\1\15\2\36\1\40\7\36" + "\1\41\2\36\1\42\1\43\16\36\1\44\11\45\1\46" + "\33\45\25\47\1\46\17\47\20\50\1\51\24\50\4\11" - + "\4\0\40\11\1\12\2\0\1\15\1\0\35\11\46\0" + "\1\52\10\0\1\53\1\0\4\52\3\0\1\52\1\54" + "\1\0\1\52\2\0\11\52\1\0\1\55\4\0\1\15" - + "\2\0\1\15\36\0\6\16\1\0\1\16\1\56\34\16" + "\2\17\1\0\1\17\1\0\24\17\1\0\3\17\1\0" + "\3\17\1\0\3\17\2\0\1\57\74\0\1\60\44\0" + + "\4\0\40\11\1\12\2\0\1\15\1\0\35\11\46\0" + "\1\52\10\0\1\53\1\0\4\52\3\0\1\52\1\54" + + "\1\0\1\52\2\0\11\52\1\0\1\55\4\0\1\15" + "\2\0\1\15\36\0\6\16\1\0\1\16\1\56\34\16" + + "\2\17\1\0\1\17\1\0\24\17\1\0\3\17\1\0" + "\3\17\1\0\3\17\2\0\1\57\74\0\1\60\44\0" + "\1\61\3\0\1\62\47\0\1\63\3\0\4\25\1\0" + "\36\25\1\0\1\25\21\0\1\64\23\0\4\30\2\0" - + "\5\30\1\0\4\30\2\0\23\30\12\0\1\65\32\0" + "\4\36\1\0\1\36\1\0\2\36\1\0\7\36\1\0" + "\2\36\2\0\16\36\1\0\3\36\1\37\1\0\1\36" - + "\1\15\2\36\1\0\7\36\1\0\2\36\2\0\16\36" + "\22\0\1\41\23\0\11\45\1\0\33\45\25\47\1\0" - + "\17\47\20\50\1\0\24\50\20\0\1\66\25\0\2\52" + "\11\0\4\52\3\0\1\52\2\0\2\52\1\0\12\52" - + "\4\0\1\67\10\0\1\70\32\0\1\71\12\0\4\71" + "\3\0\1\71\2\0\1\71\2\0\11\71\24\0\1\72" - + "\55\0\1\73\45\0\1\74\50\0\1\75\46\0\1\76" + "\5\0\1\77\63\0\1\100\25\0\1\101\56\0\1\102" - + "\31\0\2\71\11\0\4\71\3\0\1\71\2\0\2\71" + "\1\0\12\71\35\0\1\103\34\0\1\104\61\0\1\74" - + "\46\0\1\105\4\0\1\106\57\0\1\107\52\0\1\104" + "\10\0\1\74\34\0\1\110\21\0\2\111\4\0\2\111" - + "\1\0\2\111\4\105\1\111\1\0\2\111\1\105\1\111" + "\14\105\3\111\16\0\1\112\52\0\1\105\37\0\1\113" - + "\43\0\1\114\41\0\1\115\31\0"; - + + "\5\30\1\0\4\30\2\0\23\30\12\0\1\65\32\0" + "\4\36\1\0\1\36\1\0\2\36\1\0\7\36\1\0" + + "\2\36\2\0\16\36\1\0\3\36\1\37\1\0\1\36" + "\1\15\2\36\1\0\7\36\1\0\2\36\2\0\16\36" + + "\22\0\1\41\23\0\11\45\1\0\33\45\25\47\1\0" + "\17\47\20\50\1\0\24\50\20\0\1\66\25\0\2\52" + + "\11\0\4\52\3\0\1\52\2\0\2\52\1\0\12\52" + "\4\0\1\67\10\0\1\70\32\0\1\71\12\0\4\71" + + "\3\0\1\71\2\0\1\71\2\0\11\71\24\0\1\72" + "\55\0\1\73\45\0\1\74\50\0\1\75\46\0\1\76" + + "\5\0\1\77\63\0\1\100\25\0\1\101\56\0\1\102" + "\31\0\2\71\11\0\4\71\3\0\1\71\2\0\2\71" + + "\1\0\12\71\35\0\1\103\34\0\1\104\61\0\1\74" + "\46\0\1\105\4\0\1\106\57\0\1\107\52\0\1\104" + + "\10\0\1\74\34\0\1\110\21\0\2\111\4\0\2\111" + "\1\0\2\111\4\105\1\111\1\0\2\111\1\105\1\111" + + "\14\105\3\111\16\0\1\112\52\0\1\105\37\0\1\113" + "\43\0\1\114\41\0\1\115\31\0"; + private static int[] zzUnpackTrans() { int[] result = new int[2109]; 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 */ @@ -183,7 +185,7 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -195,16 +197,17 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\2\1\1\0\2\1\1\11\5\1\1\11\4\1" + "\1\11\2\1\1\11\1\1\3\11\2\1\2\11\1\1" - + "\2\11\1\1\1\11\6\1\2\11\5\0\1\11\4\0" + "\1\1\1\11\5\0\2\11\3\0\1\1\1\11\6\0" + "\1\11"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\2\1\1\0\2\1\1\11\5\1\1\11\4\1" + + "\1\11\2\1\1\11\1\1\3\11\2\1\2\11\1\1" + "\2\11\1\1\1\11\6\1\2\11\5\0\1\11\4\0" + + "\1\1\1\11\5\0\2\11\3\0\1\1\1\11\6\0" + "\1\11"; + private static int[] zzUnpackAttribute() { int[] result = new int[77]; 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 */ @@ -218,7 +221,7 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -226,8 +229,8 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -237,8 +240,7 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ @@ -255,24 +257,24 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { */ public static final int INTERNAL_ATTR_SINGLE = -2; /** - * Token type specific to XMLTokenMaker denoting a line ending with an - * unclosed XML tag; thus a new line is beginning still inside of the tag. + * Token type specific to XMLTokenMaker denoting a line ending with an unclosed + * XML tag; thus a new line is beginning still inside of the tag. */ public static final int INTERNAL_INTAG = -3; /** - * Token type specific to XMLTokenMaker denoting a line ending with an - * unclosed DOCTYPE element. + * Token type specific to XMLTokenMaker denoting a line ending with an unclosed + * DOCTYPE element. */ public static final int INTERNAL_DTD = -4; /** - * Token type specific to XMLTokenMaker denoting a line ending with an - * unclosed, locally-defined DTD in a DOCTYPE element. + * Token type specific to XMLTokenMaker denoting a line ending with an unclosed, + * locally-defined DTD in a DOCTYPE element. */ public static final int INTERNAL_DTD_INTERNAL = -5; /** - * Token type specific to XMLTokenMaker denoting a line ending with an - * unclosed comment. The state to return to when this comment ends is - * embedded in the token type as well. + * Token type specific to XMLTokenMaker denoting a line ending with an unclosed + * comment. The state to return to when this comment ends is embedded in the + * token type as well. */ public static final int INTERNAL_IN_XML_COMMENT = -(1 << 11); /** @@ -280,91 +282,82 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { */ private static boolean completeCloseTags; /** - * Whether the DTD we're currently in is a locally-defined one. This - * field is only valid when in a DOCTYPE element (the state). + * Whether the DTD we're currently in is a locally-defined one. This field is + * only valid when in a DOCTYPE element (the state). */ private boolean inInternalDtd; /** - * The state we were in prior to the current one. This is used to know - * what state to resume after an MLC ends. + * The state we were in prior to the current one. This is used to know what + * state to resume after an MLC ends. */ private int prevState; - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ - public XMLTokenMaker() {} - + public XMLTokenMaker() { + } + static { completeCloseTags = true; } - + /** - * Adds the token specified to the current linked list of tokens as an - * "end token;" that is, at zzMarkedPos. + * Adds the token specified to the current linked list of tokens as an "end + * token;" that is, at zzMarkedPos. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addEndToken(int tokenType) { addToken(zzMarkedPos, zzMarkedPos, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. * @see #addToken(int, int, int) */ private void addHyperlinkToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so, true); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + /** * {@inheritDoc} */ @@ -372,10 +365,10 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { protected OccurrenceMarker createOccurrenceMarker() { return new XmlOccurrenceMarker(); } - + /** - * Returns whether markup close tags should be completed. For XML, the - * default value is true. + * Returns whether markup close tags should be completed. For XML, the default + * value is true. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) @@ -384,11 +377,11 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { public boolean getCompleteCloseTags() { return completeCloseTags; } - + /** - * Static version of {@link #getCompleteCloseTags()}. This hack is - * unfortunately needed for applications to be able to query this value - * without instantiating this class. + * Static version of {@link #getCompleteCloseTags()}. This hack is unfortunately + * needed for applications to be able to query this value without instantiating + * this class. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) @@ -396,34 +389,29 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { public static boolean getCompleteCloseMarkupTags() { return completeCloseTags; } - + /** * Returns Token.MARKUP_TAG_NAME. * - * @param type - * The token type. - * @return Whether tokens of this type should have "mark occurrences" - * enabled. + * @param type The token type. + * @return Whether tokens of this type should have "mark occurrences" enabled. */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return type == Token.MARKUP_TAG_NAME; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -434,45 +422,45 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { // Start off in the proper state. int state = YYINITIAL; switch (initialTokenType) { - case Token.MARKUP_COMMENT: - state = COMMENT; - break; - case INTERNAL_DTD: - state = DTD; - break; - case INTERNAL_DTD_INTERNAL: - state = DTD; - inInternalDtd = true; - break; - case INTERNAL_ATTR_DOUBLE: - state = INATTR_DOUBLE; - break; - case INTERNAL_ATTR_SINGLE: - state = INATTR_SINGLE; - break; - case Token.MARKUP_PROCESSING_INSTRUCTION: - state = PI; - break; - case INTERNAL_INTAG: - state = INTAG; - break; - case Token.MARKUP_CDATA: - state = CDATA; - break; - default: - if (initialTokenType < -1024) { // INTERNAL_IN_XML_COMMENT - - // prevState - int main = -(-initialTokenType & 0xffffff00); - switch (main) { - default: // Should never happen - case INTERNAL_IN_XML_COMMENT: - state = COMMENT; - break; - } - prevState = -initialTokenType & 0xff; - } else { // Shouldn't happen - state = Token.NULL; + case Token.MARKUP_COMMENT: + state = COMMENT; + break; + case INTERNAL_DTD: + state = DTD; + break; + case INTERNAL_DTD_INTERNAL: + state = DTD; + inInternalDtd = true; + break; + case INTERNAL_ATTR_DOUBLE: + state = INATTR_DOUBLE; + break; + case INTERNAL_ATTR_SINGLE: + state = INATTR_SINGLE; + break; + case Token.MARKUP_PROCESSING_INSTRUCTION: + state = PI; + break; + case INTERNAL_INTAG: + state = INTAG; + break; + case Token.MARKUP_CDATA: + state = CDATA; + break; + default: + if (initialTokenType < -1024) { // INTERNAL_IN_XML_COMMENT - + // prevState + int main = -(-initialTokenType & 0xffffff00); + switch (main) { + default: // Should never happen + case INTERNAL_IN_XML_COMMENT: + state = COMMENT; + break; } + prevState = -initialTokenType & 0xff; + } else { // Shouldn't happen + state = Token.NULL; + } } start = text.offset; s = text; @@ -485,47 +473,44 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { return new TokenImpl(); } } - + /** * Sets whether markup close tags should be completed. * - * @param complete - * Whether closing markup tags are completed. + * @param complete Whether closing markup tags are completed. * @see #getCompleteCloseTags() */ public static void setCompleteCloseTags(boolean complete) { completeCloseTags = complete; } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(java.io.Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -535,34 +520,31 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public XMLTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public XMLTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -578,7 +560,7 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -588,69 +570,64 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -661,29 +638,27 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -702,8 +677,7 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -743,261 +717,260 @@ public class XMLTokenMaker extends AbstractMarkupTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 25: { - int temp = zzMarkedPos; - addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); - start = temp; - yybegin(prevState); - } - case 31: - break; - case 19: { - yybegin(INTAG); - addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - } - case 32: - break; - case 3: { - addNullToken(); - return firstToken; - } - case 33: - break; - case 29: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - start = temp; - prevState = zzLexicalState; - yybegin(COMMENT); - } - case 34: - break; - case 11: { - inInternalDtd = false; - } - case 35: - break; - case 4: { - addToken(Token.MARKUP_TAG_DELIMITER); - yybegin(INTAG); - } - case 36: - break; - case 24: { - int count = yylength(); - addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - (count - 2), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - yybegin(INTAG); - } - case 37: - break; - case 9: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - addEndToken(inInternalDtd ? INTERNAL_DTD_INTERNAL : INTERNAL_DTD); - return firstToken; - } - case 38: - break; - case 16: { - addToken(Token.MARKUP_TAG_DELIMITER); /* - * Not valid but - * we'll still - * accept it - */ - } - case 39: - break; - case 7: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addEndToken(INTERNAL_IN_XML_COMMENT - prevState); - return firstToken; - } - case 40: - break; - case 5: { - addToken(Token.WHITESPACE); - } - case 41: - break; - case 27: { - start = zzStartRead; - prevState = zzLexicalState; - yybegin(COMMENT); - } - case 42: - break; - case 26: { - int temp = zzStartRead; + case 25: { + int temp = zzMarkedPos; + addToken(start, zzStartRead + 2, Token.MARKUP_COMMENT); + start = temp; + yybegin(prevState); + } + case 31: + break; + case 19: { + yybegin(INTAG); + addToken(start, zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + } + case 32: + break; + case 3: { + addNullToken(); + return firstToken; + } + case 33: + break; + case 29: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + start = temp; + prevState = zzLexicalState; + yybegin(COMMENT); + } + case 34: + break; + case 11: { + inInternalDtd = false; + } + case 35: + break; + case 4: { + addToken(Token.MARKUP_TAG_DELIMITER); + yybegin(INTAG); + } + case 36: + break; + case 24: { + int count = yylength(); + addToken(zzStartRead, zzStartRead + 1, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - (count - 2), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + yybegin(INTAG); + } + case 37: + break; + case 9: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + addEndToken(inInternalDtd ? INTERNAL_DTD_INTERNAL : INTERNAL_DTD); + return firstToken; + } + case 38: + break; + case 16: { + addToken(Token.MARKUP_TAG_DELIMITER); /* + * Not valid but we'll still accept it + */ + } + case 39: + break; + case 7: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addEndToken(INTERNAL_IN_XML_COMMENT - prevState); + return firstToken; + } + case 40: + break; + case 5: { + addToken(Token.WHITESPACE); + } + case 41: + break; + case 27: { + start = zzStartRead; + prevState = zzLexicalState; + yybegin(COMMENT); + } + case 42: + break; + case 26: { + int temp = zzStartRead; + yybegin(YYINITIAL); + addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); + addToken(temp, zzMarkedPos - 1, Token.MARKUP_CDATA_DELIMITER); + } + case 43: + break; + case 6: { + addToken(Token.MARKUP_ENTITY_REFERENCE); + } + case 44: + break; + case 12: { + if (!inInternalDtd) { yybegin(YYINITIAL); - addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); - addToken(temp, zzMarkedPos - 1, Token.MARKUP_CDATA_DELIMITER); + addToken(start, zzStartRead, Token.MARKUP_DTD); } - case 43: - break; - case 6: { - addToken(Token.MARKUP_ENTITY_REFERENCE); - } - case 44: - break; - case 12: { - if (!inInternalDtd) { - yybegin(YYINITIAL); - addToken(start, zzStartRead, Token.MARKUP_DTD); + } + case 45: + break; + case 2: { + addToken(Token.IDENTIFIER); + } + case 46: + break; + case 10: { + inInternalDtd = true; + } + case 47: + break; + case 23: { + yybegin(YYINITIAL); + addToken(start, zzStartRead + 1, Token.MARKUP_PROCESSING_INSTRUCTION); + } + case 48: + break; + case 21: { + start = zzMarkedPos - 2; + inInternalDtd = false; + yybegin(DTD); + } + case 49: + break; + case 20: { + int count = yylength(); + addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); + addToken(zzMarkedPos - (count - 1), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); + yybegin(INTAG); + } + case 50: + break; + case 22: { + start = zzMarkedPos - 2; + yybegin(PI); + } + case 51: + break; + case 8: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 52: + break; + case 14: { + start = zzMarkedPos - 1; + yybegin(INATTR_DOUBLE); + } + case 53: + break; + case 28: { + int temp = zzStartRead; + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); + start = zzMarkedPos; + } + case 54: + break; + case 15: { + yybegin(YYINITIAL); + addToken(Token.MARKUP_TAG_DELIMITER); + } + case 55: + break; + case 17: { + start = zzMarkedPos - 1; + yybegin(INATTR_SINGLE); + } + case 56: + break; + case 18: { + addToken(Token.OPERATOR); + } + case 57: + break; + case 30: { + addToken(Token.MARKUP_CDATA_DELIMITER); + start = zzMarkedPos; + yybegin(CDATA); + } + case 58: + break; + case 13: { + addToken(Token.MARKUP_TAG_ATTRIBUTE); + } + case 59: + break; + case 1: { + } + case 60: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case INTAG: { + addToken(start, zzStartRead - 1, INTERNAL_INTAG); + return firstToken; } - } - case 45: - break; - case 2: { - addToken(Token.IDENTIFIER); - } - case 46: - break; - case 10: { - inInternalDtd = true; - } - case 47: - break; - case 23: { - yybegin(YYINITIAL); - addToken(start, zzStartRead + 1, Token.MARKUP_PROCESSING_INSTRUCTION); - } - case 48: - break; - case 21: { - start = zzMarkedPos - 2; - inInternalDtd = false; - yybegin(DTD); - } - case 49: - break; - case 20: { - int count = yylength(); - addToken(zzStartRead, zzStartRead, Token.MARKUP_TAG_DELIMITER); - addToken(zzMarkedPos - (count - 1), zzMarkedPos - 1, Token.MARKUP_TAG_NAME); - yybegin(INTAG); - } - case 50: - break; - case 22: { - start = zzMarkedPos - 2; - yybegin(PI); - } - case 51: - break; - case 8: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 52: - break; - case 14: { - start = zzMarkedPos - 1; - yybegin(INATTR_DOUBLE); - } - case 53: - break; - case 28: { - int temp = zzStartRead; - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addHyperlinkToken(temp, zzMarkedPos - 1, Token.MARKUP_COMMENT); - start = zzMarkedPos; - } - case 54: - break; - case 15: { - yybegin(YYINITIAL); - addToken(Token.MARKUP_TAG_DELIMITER); - } - case 55: - break; - case 17: { - start = zzMarkedPos - 1; - yybegin(INATTR_SINGLE); - } - case 56: - break; - case 18: { - addToken(Token.OPERATOR); - } - case 57: - break; - case 30: { - addToken(Token.MARKUP_CDATA_DELIMITER); - start = zzMarkedPos; - yybegin(CDATA); - } - case 58: - break; - case 13: { - addToken(Token.MARKUP_TAG_ATTRIBUTE); - } - case 59: - break; - case 1: {} - case 60: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case INTAG: { - addToken(start, zzStartRead - 1, INTERNAL_INTAG); - return firstToken; - } - case 78: - break; - case DTD: { - addToken(start, zzStartRead - 1, Token.MARKUP_DTD); - addEndToken(inInternalDtd ? INTERNAL_DTD_INTERNAL : INTERNAL_DTD); - return firstToken; - } - case 79: - break; - case INATTR_DOUBLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_DOUBLE); - return firstToken; - } - case 80: - break; - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 81: - break; - case COMMENT: { - addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); - addEndToken(INTERNAL_IN_XML_COMMENT - prevState); - return firstToken; - } - case 82: - break; - case CDATA: { - addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); - return firstToken; - } - case 83: - break; - case INATTR_SINGLE: { - addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); - addEndToken(INTERNAL_ATTR_SINGLE); - return firstToken; - } - case 84: - break; - case PI: { - addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); - return firstToken; - } - case 85: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 78: + break; + case DTD: { + addToken(start, zzStartRead - 1, Token.MARKUP_DTD); + addEndToken(inInternalDtd ? INTERNAL_DTD_INTERNAL : INTERNAL_DTD); + return firstToken; } + case 79: + break; + case INATTR_DOUBLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_DOUBLE); + return firstToken; + } + case 80: + break; + case YYINITIAL: { + addNullToken(); + return firstToken; + } + case 81: + break; + case COMMENT: { + addToken(start, zzStartRead - 1, Token.MARKUP_COMMENT); + addEndToken(INTERNAL_IN_XML_COMMENT - prevState); + return firstToken; + } + case 82: + break; + case CDATA: { + addToken(start, zzStartRead - 1, Token.MARKUP_CDATA); + return firstToken; + } + case 83: + break; + case INATTR_SINGLE: { + addToken(start, zzStartRead - 1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); + addEndToken(INTERNAL_ATTR_SINGLE); + return firstToken; + } + case 84: + break; + case PI: { + addToken(start, zzStartRead - 1, Token.MARKUP_PROCESSING_INSTRUCTION); + return firstToken; + } + case 85: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/modes/YamlTokenMaker.java b/src/org/fife/ui/rsyntaxtextarea/modes/YamlTokenMaker.java index 3b0c526..34ba76b 100644 --- a/src/org/fife/ui/rsyntaxtextarea/modes/YamlTokenMaker.java +++ b/src/org/fife/ui/rsyntaxtextarea/modes/YamlTokenMaker.java @@ -21,16 +21,15 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * This implementation was created using * JFlex 1.4.1; however, the generated file - * was modified for performance. Memory allocation needs to be almost - * completely removed to be competitive with the handwritten lexers (subclasses - * of AbstractTokenMaker, so this class has been modified so that + * was modified for performance. Memory allocation needs to be almost completely + * removed to be competitive with the handwritten lexers (subclasses of + * AbstractTokenMaker, so this class has been modified so that * Strings are never allocated (via yytext()), and the scanner never has to - * worry about refilling its buffer (needlessly copying chars around). - * We can achieve this because RText always scans exactly 1 line of tokens at a - * time, and hands the scanner this line as an array of characters (a Segment - * really). Since tokens contain pointers to char arrays instead of Strings - * holding their contents, there is no need for allocating new memory for - * Strings. + * worry about refilling its buffer (needlessly copying chars around). We can + * achieve this because RText always scans exactly 1 line of tokens at a time, + * and hands the scanner this line as an array of characters (a Segment really). + * Since tokens contain pointers to char arrays instead of Strings holding their + * contents, there is no need for allocating new memory for Strings. *

      * * The actual algorithm generated for scanning has, of course, not been @@ -39,17 +38,17 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * * If you wish to regenerate this file yourself, keep in mind the following: *

        - *
      • The generated YamlTokenMaker.java file will - * contain two definitions of both zzRefill and - * yyreset. You should hand-delete the second of each - * definition (the ones generated by the lexer), as these generated - * methods modify the input buffer, which we'll never have to do. - *
      • You should also change the declaration/definition of zzBuffer to NOT - * be initialized. This is a needless memory allocation for us since we - * will be pointing the array somewhere else anyway. + *
      • The generated YamlTokenMaker.java file will contain two + * definitions of both zzRefill and yyreset. You + * should hand-delete the second of each definition (the ones generated by the + * lexer), as these generated methods modify the input buffer, which we'll never + * have to do. + *
      • You should also change the declaration/definition of zzBuffer to NOT be + * initialized. This is a needless memory allocation for us since we will be + * pointing the array somewhere else anyway. *
      • You should NOT call yylex() on the generated scanner - * directly; rather, you should use getTokenList as you would - * with any other TokenMaker instance. + * directly; rather, you should use getTokenList as you would with + * any other TokenMaker instance. *
      * * @author Robert Futrell @@ -57,7 +56,7 @@ import org.fife.ui.rsyntaxtextarea.TokenImpl; * */ public class YamlTokenMaker extends AbstractJFlexTokenMaker { - + /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ @@ -76,16 +75,17 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { * Translates DFA states to action switch labels. */ private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\1" + "\1\7\1\10\1\11\1\0\1\2\2\4\1\12\1\0" - + "\1\2\1\13\1\2\1\4\1\14\1\4\1\0\1\13" + "\1\2\1\4\1\0\1\2\1\4\1\0\1\2\1\4" + "\1\0"; - + private static final String ZZ_ACTION_PACKED_0 = "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\1" + + "\1\7\1\10\1\11\1\0\1\2\2\4\1\12\1\0" + "\1\2\1\13\1\2\1\4\1\14\1\4\1\0\1\13" + + "\1\2\1\4\1\0\1\2\1\4\1\0\1\2\1\4" + "\1\0"; + private static int[] zzUnpackAction() { int[] result = new int[34]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } - + private static int zzUnpackAction(String packed, int offset, int[] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ @@ -99,7 +99,7 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * Translates a state to a row index in the transition table */ @@ -107,14 +107,14 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\16\0\34\0\52\0\70\0\52\0\52\0\52" + "\0\106\0\124\0\52\0\142\0\160\0\176\0\214\0\52" + "\0\232\0\250\0\142\0\266\0\304\0\52\0\322\0\340" + "\0\52\0\356\0\374\0\u010a\0\u0118\0\u0126\0\u0134\0\u0142" + "\0\u0150\0\u015e"; - + private static int[] zzUnpackRowMap() { int[] result = new int[34]; 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 */ @@ -125,26 +125,28 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** * The transition table of the DFA */ private static final int[] ZZ_TRANS = zzUnpackTrans(); - private static final String ZZ_TRANS_PACKED_0 = "\3\2\1\3\1\4\3\2\1\5\1\6\1\7\1\10" + "\1\11\1\12\3\2\2\0\3\2\6\0\3\3\1\13" - + "\1\14\1\15\10\3\16\0\4\5\1\16\1\17\2\5" + "\1\20\5\5\4\11\1\0\11\11\15\0\1\12\3\14" - + "\1\13\1\14\1\21\10\14\2\22\1\3\1\23\1\0" + "\1\3\1\24\2\3\5\22\5\16\1\25\2\16\1\26" + "\7\16\2\5\1\0\1\5\1\27\2\5\5\16\2\0" + private static final String ZZ_TRANS_PACKED_0 = "\3\2\1\3\1\4\3\2\1\5\1\6\1\7\1\10" + + "\1\11\1\12\3\2\2\0\3\2\6\0\3\3\1\13" + "\1\14\1\15\10\3\16\0\4\5\1\16\1\17\2\5" + + "\1\20\5\5\4\11\1\0\11\11\15\0\1\12\3\14" + "\1\13\1\14\1\21\10\14\2\22\1\3\1\23\1\0" + + "\1\3\1\24\2\3\5\22\5\16\1\25\2\16\1\26" + "\7\16\2\5\1\0\1\5\1\27\2\5\5\16\2\0" + "\2\14\1\0\1\14\1\30\2\14\5\0\3\22\1\31" + "\1\0\12\22\2\32\1\31\1\0\11\22\4\16\1\0" + "\12\16\2\33\2\16\1\25\2\16\1\26\5\16\1\0" + "\2\34\13\0\1\22\2\35\1\31\1\0\11\22\1\16" + "\2\36\2\16\1\25\2\16\1\26\5\16\1\0\2\37" + "\13\0\1\22\2\40\1\31\1\0\11\22\1\16\2\41" - + "\2\16\1\25\2\16\1\26\5\16\1\0\2\42\13\0" + "\1\22\2\3\1\31\1\0\11\22\1\16\2\5\2\16" + "\1\25\2\16\1\26\5\16\1\0\2\14\13\0"; - + + "\2\16\1\25\2\16\1\26\5\16\1\0\2\42\13\0" + "\1\22\2\3\1\31\1\0\11\22\1\16\2\5\2\16" + + "\1\25\2\16\1\26\5\16\1\0\2\14\13\0"; + private static int[] zzUnpackTrans() { int[] result = new int[364]; 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 */ @@ -159,7 +161,7 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; @@ -171,16 +173,16 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\0\2\1\1\11\1\1\3\11\2\1\1\11\1\0" + "\3\1\1\11\1\0\4\1\1\11\1\1\1\0\1\11" - + "\2\1\1\0\2\1\1\0\2\1\1\0"; - + private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\0\2\1\1\11\1\1\3\11\2\1\1\11\1\0" + + "\3\1\1\11\1\0\4\1\1\11\1\1\1\0\1\11" + "\2\1\1\0\2\1\1\0\2\1\1\0"; + private static int[] zzUnpackAttribute() { int[] result = new int[34]; 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 */ @@ -194,7 +196,7 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { } return j; } - + /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ @@ -202,8 +204,8 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * this buffer contains the current text to be matched and is the source of the + * yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ @@ -213,83 +215,71 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { /** 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 + * endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ - + /** - * Constructor. This must be here because JFlex does not generate a - * no-parameter constructor. + * Constructor. This must be here because JFlex does not generate a no-parameter + * constructor. */ public YamlTokenMaker() { super(); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int tokenType) { addToken(zzStartRead, zzMarkedPos - 1, tokenType); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param tokenType - * The token's type. + * @param tokenType The token's type. */ private void addToken(int start, int end, int tokenType) { int so = start + offsetShift; addToken(zzBuffer, start, end, tokenType, so); } - + /** * Adds the token specified to the current linked list of tokens. * - * @param array - * The character array. - * @param start - * The starting offset in the array. - * @param end - * The ending offset in the array. - * @param tokenType - * The token's type. - * @param startOffset - * The offset in the document at which this token - * occurs. + * @param array The character array. + * @param start The starting offset in the array. + * @param end The ending offset in the array. + * @param tokenType The token's type. + * @param startOffset The offset in the document at which this token occurs. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start, end, tokenType, startOffset); zzStartRead = zzMarkedPos; } - + @Override public String[] getLineCommentStartAndEnd(int languageIndex) { return new String[] { "#", null }; } - + /** - * Returns the first token in the linked list of tokens generated - * from text. This method must be implemented by - * subclasses so they can correctly implement syntax highlighting. + * Returns the first token in the linked list of tokens generated from + * text. This method must be implemented by subclasses so they can + * correctly implement syntax highlighting. * - * @param text - * The text from which to get tokens. - * @param initialTokenType - * The token type we should start with. - * @param startOffset - * The offset into the document at which - * text starts. - * @return The first Token in a linked list representing - * the syntax highlighted text. + * @param text The text from which to get tokens. + * @param initialTokenType The token type we should start with. + * @param startOffset The offset into the document at which + * text starts. + * @return The first Token in a linked list representing the syntax + * highlighted text. */ @Override public Token getTokenList(Segment text, int initialTokenType, int startOffset) { @@ -307,36 +297,34 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { return new TokenImpl(); } } - + /** * Refills the input buffer. * - * @return true if EOF was reached, otherwise - * false. + * @return true if EOF was reached, otherwise false. */ private boolean zzRefill() { return zzCurrentPos >= s.offset + s.count; } - + /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. + * 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 YY_INITIAL. + * All internal variables are reset, the old input stream cannot be + * reused (internal buffer is discarded and lost). Lexical state is set to + * YY_INITIAL. * - * @param reader - * the new input stream + * @param reader the new input stream */ public final void yyreset(Reader reader) { // 's' has been updated. zzBuffer = s.array; /* - * We replaced the line below with the two below it because zzRefill - * no longer "refills" the buffer (since the way we do it, it's always - * "full" the first time through, since it points to the segment's - * array). So, we assign zzEndRead here. + * We replaced the line below with the two below it because zzRefill no longer + * "refills" the buffer (since the way we do it, it's always "full" the first + * time through, since it points to the segment's array). So, we assign + * zzEndRead here. */ // zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; @@ -346,34 +334,31 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { zzReader = reader; zzAtEOF = false; } - + /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. * - * @param in - * the java.io.Reader to read input from. + * @param in the java.io.Reader to read input from. */ public YamlTokenMaker(java.io.Reader in) { this.zzReader = in; } - + /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. * - * @param in - * the java.io.Inputstream to read input from. + * @param in the java.io.Inputstream to read input from. */ public YamlTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } - + /** * Unpacks the compressed character translation table. * - * @param packed - * the packed character translation table + * @param packed the packed character translation table * @return the unpacked character translation table */ private static char[] zzUnpackCMap(String packed) { @@ -389,7 +374,7 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { } return map; } - + /** * Closes the input stream. */ @@ -399,69 +384,64 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { if (zzReader != null) zzReader.close(); } - + /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } - + /** * Enters a new lexical state * - * @param newState - * the new lexical state + * @param newState the new lexical state */ @Override 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. + * 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. + * @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.). + * 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. + * Usual syntax/scanner level error handling should be done in error fallback + * rules. * - * @param errorCode - * the code of the errormessage to display + * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; @@ -472,29 +452,27 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { } throw new Error(message); } - + /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * - * @param number - * the number of characters to be read again. - * This number must not be greater than yylength()! + * @param number the number of characters to be read again. This number must not + * be greater than yylength()! */ public void yypushback(int number) { if (number > yylength()) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } - + /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. + * 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 + * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; @@ -513,8 +491,7 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; - zzForAction: - { + zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; @@ -554,87 +531,87 @@ public class YamlTokenMaker extends AbstractJFlexTokenMaker { // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 1: { - addToken(Token.IDENTIFIER); - } - case 13: - break; - case 10: { - addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); - } - case 14: - break; - case 2: { - addToken(Token.ERROR_CHAR); - addNullToken(); - return firstToken; - } - case 15: - break; - case 8: { - addToken(Token.WHITESPACE); - } - case 16: - break; - case 11: { - addToken(Token.ERROR_CHAR); - } - case 17: - break; - case 7: { - addToken(Token.COMMENT_EOL); - } - case 18: - break; - case 5: { - addToken(Token.OPERATOR); - } - case 19: - break; - case 9: { - addToken(Token.LITERAL_CHAR); - } - case 20: - break; - case 4: { - addToken(Token.ERROR_STRING_DOUBLE); - addNullToken(); - return firstToken; - } - case 21: - break; - case 3: { - addNullToken(); - return firstToken; - } - case 22: - break; - case 12: { - addToken(Token.ERROR_STRING_DOUBLE); - } - case 23: - break; - case 6: { - addToken(Token.SEPARATOR); - } - case 24: - break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - switch (zzLexicalState) { - case YYINITIAL: { - addNullToken(); - return firstToken; - } - case 35: - break; - default: - return null; - } - } else { - zzScanError(ZZ_NO_MATCH); + case 1: { + addToken(Token.IDENTIFIER); + } + case 13: + break; + case 10: { + addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); + } + case 14: + break; + case 2: { + addToken(Token.ERROR_CHAR); + addNullToken(); + return firstToken; + } + case 15: + break; + case 8: { + addToken(Token.WHITESPACE); + } + case 16: + break; + case 11: { + addToken(Token.ERROR_CHAR); + } + case 17: + break; + case 7: { + addToken(Token.COMMENT_EOL); + } + case 18: + break; + case 5: { + addToken(Token.OPERATOR); + } + case 19: + break; + case 9: { + addToken(Token.LITERAL_CHAR); + } + case 20: + break; + case 4: { + addToken(Token.ERROR_STRING_DOUBLE); + addNullToken(); + return firstToken; + } + case 21: + break; + case 3: { + addNullToken(); + return firstToken; + } + case 22: + break; + case 12: { + addToken(Token.ERROR_STRING_DOUBLE); + } + case 23: + break; + case 6: { + addToken(Token.SEPARATOR); + } + case 24: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case YYINITIAL: { + addNullToken(); + return firstToken; } + case 35: + break; + default: + return null; + } + } else { + zzScanError(ZZ_NO_MATCH); + } } } } diff --git a/src/org/fife/ui/rsyntaxtextarea/parser/AbstractParser.java b/src/org/fife/ui/rsyntaxtextarea/parser/AbstractParser.java index fcd4f52..bbd2dda 100644 --- a/src/org/fife/ui/rsyntaxtextarea/parser/AbstractParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/parser/AbstractParser.java @@ -16,26 +16,26 @@ import java.net.URL; * @version 1.0 */ public abstract class AbstractParser implements Parser { - + /** - * Whether this parser is enabled. If this is false, then - * this parser will not be run. + * Whether this parser is enabled. If this is false, then this + * parser will not be run. */ private boolean enabled; /** * Listens for events from - * {@link org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip}s generated - * from this parser's notices. + * {@link org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip}s generated from + * this parser's notices. */ private ExtendedHyperlinkListener linkListener; - + /** * Constructor. */ protected AbstractParser() { setEnabled(true); } - + /** * {@inheritDoc} */ @@ -43,10 +43,10 @@ public abstract class AbstractParser implements Parser { public ExtendedHyperlinkListener getHyperlinkListener() { return linkListener; } - + /** - * Returns null. Parsers that wish to show images in their - * tool tips should override this method to return the image base URL. + * Returns null. Parsers that wish to show images in their tool + * tips should override this method to return the image base URL. * * @return null always. */ @@ -54,7 +54,7 @@ public abstract class AbstractParser implements Parser { public URL getImageBase() { return null; } - + /** * {@inheritDoc} */ @@ -62,23 +62,21 @@ public abstract class AbstractParser implements Parser { public boolean isEnabled() { return enabled; } - + /** * Toggles whether this parser is enabled. * - * @param enabled - * Whether this parser is enabled. + * @param enabled Whether this parser is enabled. * @see #isEnabled() */ public void setEnabled(boolean enabled) { this.enabled = enabled; } - + /** * Returns the listener for this parser. * - * @param listener - * The new listener. + * @param listener The new listener. * @see #getHyperlinkListener() */ public void setHyperlinkListener(ExtendedHyperlinkListener listener) { diff --git a/src/org/fife/ui/rsyntaxtextarea/parser/DefaultParseResult.java b/src/org/fife/ui/rsyntaxtextarea/parser/DefaultParseResult.java index dc4c45f..5fb133f 100644 --- a/src/org/fife/ui/rsyntaxtextarea/parser/DefaultParseResult.java +++ b/src/org/fife/ui/rsyntaxtextarea/parser/DefaultParseResult.java @@ -18,30 +18,29 @@ import java.util.List; * @see Parser */ public class DefaultParseResult implements ParseResult { - + private Parser parser; private int firstLineParsed; private int lastLineParsed; private List notices; private long parseTime; private Exception error; - + public DefaultParseResult(Parser parser) { this.parser = parser; notices = new ArrayList(); } - + /** * Adds a parser notice. * - * @param notice - * The new notice. + * @param notice The new notice. * @see #clearNotices() */ public void addNotice(ParserNotice notice) { notices.add(notice); } - + /** * Clears any parser notices in this result. * @@ -50,7 +49,7 @@ public class DefaultParseResult implements ParseResult { public void clearNotices() { notices.clear(); } - + /** * {@inheritDoc} */ @@ -58,7 +57,7 @@ public class DefaultParseResult implements ParseResult { public Exception getError() { return error; } - + /** * {@inheritDoc} */ @@ -66,7 +65,7 @@ public class DefaultParseResult implements ParseResult { public int getFirstLineParsed() { return firstLineParsed; } - + /** * {@inheritDoc} */ @@ -74,7 +73,7 @@ public class DefaultParseResult implements ParseResult { public int getLastLineParsed() { return lastLineParsed; } - + /** * {@inheritDoc} */ @@ -82,7 +81,7 @@ public class DefaultParseResult implements ParseResult { public List getNotices() { return notices; } - + /** * {@inheritDoc} */ @@ -90,7 +89,7 @@ public class DefaultParseResult implements ParseResult { public Parser getParser() { return parser; } - + /** * {@inheritDoc} */ @@ -98,26 +97,21 @@ public class DefaultParseResult implements ParseResult { public long getParseTime() { return parseTime; } - + /** - * Sets the error that occurred when last parsing the document, if - * any. + * Sets the error that occurred when last parsing the document, if any. * - * @param e - * The error that occurred, or null if no error - * occurred. + * @param e The error that occurred, or null if no error occurred. */ public void setError(Exception e) { this.error = e; } - + /** * Sets the line range parsed. * - * @param first - * The first line parsed, inclusive. - * @param last - * The last line parsed, inclusive. + * @param first The first line parsed, inclusive. + * @param last The last line parsed, inclusive. * @see #getFirstLineParsed() * @see #getLastLineParsed() */ @@ -125,12 +119,11 @@ public class DefaultParseResult implements ParseResult { firstLineParsed = first; lastLineParsed = last; } - + /** * Sets the amount of time it took for this parser to parse the document. * - * @param time - * The amount of time, in milliseconds. + * @param time The amount of time, in milliseconds. * @see #getParseTime() */ public void setParseTime(long time) { diff --git a/src/org/fife/ui/rsyntaxtextarea/parser/DefaultParserNotice.java b/src/org/fife/ui/rsyntaxtextarea/parser/DefaultParserNotice.java index 2dc88c8..54f40fe 100644 --- a/src/org/fife/ui/rsyntaxtextarea/parser/DefaultParserNotice.java +++ b/src/org/fife/ui/rsyntaxtextarea/parser/DefaultParserNotice.java @@ -18,7 +18,7 @@ import java.awt.Color; * @see ParseResult */ public class DefaultParserNotice implements ParserNotice { - + private Parser parser; private Level level; private int line; @@ -32,36 +32,28 @@ public class DefaultParserNotice implements ParserNotice { new Color(244, 200, 45), // Warning Color.gray, // Info }; - + /** * Constructor. * - * @param parser - * The parser that created this notice. - * @param msg - * The text of the message. - * @param line - * The line number for the message. + * @param parser The parser that created this notice. + * @param msg The text of the message. + * @param line The line number for the message. */ public DefaultParserNotice(Parser parser, String msg, int line) { this(parser, msg, line, -1, -1); } - + /** * Constructor. * - * @param parser - * The parser that created this notice. - * @param message - * The message. - * @param line - * The line number corresponding to the message. - * @param offset - * The offset in the input stream of the code the - * message is concerned with, or -1 if unknown. - * @param length - * The length of the code the message is concerned with, - * or -1 if unknown. + * @param parser The parser that created this notice. + * @param message The message. + * @param line The line number corresponding to the message. + * @param offset The offset in the input stream of the code the message is + * concerned with, or -1 if unknown. + * @param length The length of the code the message is concerned with, or + * -1 if unknown. */ public DefaultParserNotice(Parser parser, String message, int line, int offset, int length) { this.parser = parser; @@ -72,14 +64,12 @@ public class DefaultParserNotice implements ParserNotice { setLevel(Level.ERROR); setShowInEditor(true); } - + /** * Compares this parser notice to another. * - * @param other - * Another parser notice. - * @return How the two parser notices should be sorted relative to one - * another. + * @param other Another parser notice. + * @return How the two parser notices should be sorted relative to one another. */ @Override public int compareTo(ParserNotice other) { @@ -95,7 +85,7 @@ public class DefaultParserNotice implements ParserNotice { } return diff; } - + /** * {@inheritDoc} */ @@ -103,12 +93,11 @@ public class DefaultParserNotice implements ParserNotice { public boolean containsPosition(int pos) { return offset <= pos && pos < (offset + length); } - + /** * Returns whether this parser notice is equal to another one. * - * @param obj - * Another parser notice. + * @param obj Another parser notice. * @return Whether the two notices are equal. */ @Override @@ -118,7 +107,7 @@ public class DefaultParserNotice implements ParserNotice { } return compareTo((ParserNotice) obj) == 0; } - + /** * {@inheritDoc} */ @@ -130,7 +119,7 @@ public class DefaultParserNotice implements ParserNotice { } return c; } - + /** * {@inheritDoc} */ @@ -138,7 +127,7 @@ public class DefaultParserNotice implements ParserNotice { public boolean getKnowsOffsetAndLength() { return offset >= 0 && length >= 0; } - + /** * {@inheritDoc} */ @@ -146,7 +135,7 @@ public class DefaultParserNotice implements ParserNotice { public int getLength() { return length; } - + /** * {@inheritDoc} */ @@ -154,7 +143,7 @@ public class DefaultParserNotice implements ParserNotice { public Level getLevel() { return level; } - + /** * {@inheritDoc} */ @@ -162,7 +151,7 @@ public class DefaultParserNotice implements ParserNotice { public int getLine() { return line; } - + /** * {@inheritDoc} */ @@ -170,7 +159,7 @@ public class DefaultParserNotice implements ParserNotice { public String getMessage() { return message; } - + /** * {@inheritDoc} */ @@ -178,7 +167,7 @@ public class DefaultParserNotice implements ParserNotice { public int getOffset() { return offset; } - + /** * {@inheritDoc} */ @@ -186,7 +175,7 @@ public class DefaultParserNotice implements ParserNotice { public Parser getParser() { return parser; } - + /** * {@inheritDoc} */ @@ -194,7 +183,7 @@ public class DefaultParserNotice implements ParserNotice { public boolean getShowInEditor() { return showInEditor; } - + /** * {@inheritDoc} */ @@ -202,7 +191,7 @@ public class DefaultParserNotice implements ParserNotice { public String getToolTipText() { return toolTipText != null ? toolTipText : getMessage(); } - + /** * Returns the hash code for this notice. * @@ -212,23 +201,21 @@ public class DefaultParserNotice implements ParserNotice { public int hashCode() { return (line << 16) | offset; } - + /** * Sets the color to use when painting this notice. * - * @param color - * The color to use. + * @param color The color to use. * @see #getColor() */ public void setColor(Color color) { this.color = color; } - + /** * Sets the level of this notice. * - * @param level - * The new level. + * @param level The new level. * @see #getLevel() */ public void setLevel(Level level) { @@ -237,32 +224,30 @@ public class DefaultParserNotice implements ParserNotice { } this.level = level; } - + /** - * Sets whether a squiggle underline should be drawn in the editor for - * this notice. + * Sets whether a squiggle underline should be drawn in the editor for this + * notice. * - * @param show - * Whether to draw a squiggle underline. + * @param show Whether to draw a squiggle underline. * @see #getShowInEditor() */ public void setShowInEditor(boolean show) { showInEditor = show; } - + /** * Sets the tool tip text to display for this notice. * - * @param text - * The new tool tip text. This can be HTML. If this is - * null, then tool tips will return the same text as - * {@link #getMessage()}. + * @param text The new tool tip text. This can be HTML. If this is + * null, then tool tips will return the same text as + * {@link #getMessage()}. * @see #getToolTipText() */ public void setToolTipText(String text) { this.toolTipText = text; } - + /** * Returns a string representation of this parser notice. * diff --git a/src/org/fife/ui/rsyntaxtextarea/parser/ExtendedHyperlinkListener.java b/src/org/fife/ui/rsyntaxtextarea/parser/ExtendedHyperlinkListener.java index c2d6444..7ef98f0 100644 --- a/src/org/fife/ui/rsyntaxtextarea/parser/ExtendedHyperlinkListener.java +++ b/src/org/fife/ui/rsyntaxtextarea/parser/ExtendedHyperlinkListener.java @@ -22,15 +22,13 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; * @version 1.0 */ public interface ExtendedHyperlinkListener extends EventListener { - + /** * Called when a link in a * {@link org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip} is clicked. * - * @param textArea - * The text area displaying the tip. - * @param e - * The event. + * @param textArea The text area displaying the tip. + * @param e The event. */ void linkClicked(RSyntaxTextArea textArea, HyperlinkEvent e); } diff --git a/src/org/fife/ui/rsyntaxtextarea/parser/ParseResult.java b/src/org/fife/ui/rsyntaxtextarea/parser/ParseResult.java index a0ceccc..914de0f 100644 --- a/src/org/fife/ui/rsyntaxtextarea/parser/ParseResult.java +++ b/src/org/fife/ui/rsyntaxtextarea/parser/ParseResult.java @@ -10,8 +10,8 @@ package org.fife.ui.rsyntaxtextarea.parser; import java.util.List; /** - * The result from a {@link Parser}. This contains the section of lines - * parsed and any notices for that section. + * The result from a {@link Parser}. This contains the section of lines parsed + * and any notices for that section. * * @author Robert Futrell * @version 1.0 @@ -19,55 +19,54 @@ import java.util.List; * @see ParserNotice */ public interface ParseResult { - + /** * Returns an error that occurred while parsing the document, if any. * - * @return The error, or null if the document was - * successfully parsed. + * @return The error, or null if the document was successfully + * parsed. */ Exception getError(); - + /** - * Returns the first line parsed. All parser implementations should - * currently set this to 0 and parse the entire document. + * Returns the first line parsed. All parser implementations should currently + * set this to 0 and parse the entire document. * * @return The first line parsed. * @see #getLastLineParsed() */ int getFirstLineParsed(); - + /** - * Returns the first line parsed. All parser implementations should - * currently set this to the document's line count and parse the entire - * document. + * Returns the first line parsed. All parser implementations should currently + * set this to the document's line count and parse the entire document. * * @return The last line parsed. * @see #getFirstLineParsed() */ int getLastLineParsed(); - + /** * Returns the notices for the parsed section. * * @return A list of {@link ParserNotice}s. */ List getNotices(); - + /** * Returns the parser that generated these notices. * * @return The parser. */ Parser getParser(); - + /** - * Returns the amount of time this parser took to parse the specified - * range of text. This is an optional operation; parsers are permitted - * to return 0 for this value. + * Returns the amount of time this parser took to parse the specified range of + * text. This is an optional operation; parsers are permitted to return + * 0 for this value. * - * @return The parse time, in milliseconds, or 0 if the - * parse time was not recorded. + * @return The parse time, in milliseconds, or 0 if the parse time + * was not recorded. */ long getParseTime(); } diff --git a/src/org/fife/ui/rsyntaxtextarea/parser/Parser.java b/src/org/fife/ui/rsyntaxtextarea/parser/Parser.java index 7625c34..b9721e9 100644 --- a/src/org/fife/ui/rsyntaxtextarea/parser/Parser.java +++ b/src/org/fife/ui/rsyntaxtextarea/parser/Parser.java @@ -12,10 +12,10 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxDocument; /** * An interface for a parser for content in an - * {@link org.fife.ui.rsyntaxtextarea.RSyntaxTextArea}. - * A Parser returns a list of issues it finds in the text area's - * content, which the text area can flag (e.g. squiggle underline). It can - * also return descriptions of the issues, to be used in tool tips. + * {@link org.fife.ui.rsyntaxtextarea.RSyntaxTextArea}. A Parser + * returns a list of issues it finds in the text area's content, which the text + * area can flag (e.g. squiggle underline). It can also return descriptions of + * the issues, to be used in tool tips. *

      * * To install a Parser, simply call @@ -26,7 +26,7 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxDocument; * @see AbstractParser */ public interface Parser { - + /** * Returns the listener for hyperlink events from * {@link org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip}s, or @@ -35,33 +35,31 @@ public interface Parser { * @return The listener. */ ExtendedHyperlinkListener getHyperlinkListener(); - + /** * Returns the base URL for any images displayed in returned - * {@link ParserNotice} HTML text. Note that if a parser notice's text - * is not HTML, this URL is not used. + * {@link ParserNotice} HTML text. Note that if a parser notice's text is not + * HTML, this URL is not used. * * @return The URL. This may be null. */ URL getImageBase(); - + /** - * Returns whether this parser is enabled. If this returns - * false, it will not be run. + * Returns whether this parser is enabled. If this returns false, + * it will not be run. * * @return Whether this parser is enabled. */ boolean isEnabled(); - + /** * Parses input from the specified document. * - * @param doc - * The document to parse. This document is in a read lock, - * so it cannot be modified while parsing is occurring. - * @param style - * The language being rendered, such as - * {@link org.fife.ui.rsyntaxtextarea.SyntaxConstants#SYNTAX_STYLE_JAVA}. + * @param doc The document to parse. This document is in a read lock, so it + * cannot be modified while parsing is occurring. + * @param style The language being rendered, such as + * {@link org.fife.ui.rsyntaxtextarea.SyntaxConstants#SYNTAX_STYLE_JAVA}. * @return An object describing the section of the document parsed and the * results. This is guaranteed to be non-null. */ diff --git a/src/org/fife/ui/rsyntaxtextarea/parser/ParserNotice.java b/src/org/fife/ui/rsyntaxtextarea/parser/ParserNotice.java index 6c79a68..a4bdea7 100644 --- a/src/org/fife/ui/rsyntaxtextarea/parser/ParserNotice.java +++ b/src/org/fife/ui/rsyntaxtextarea/parser/ParserNotice.java @@ -12,41 +12,38 @@ import java.awt.Color; * A notice (e.g., a warning or error) from a parser. *

      * - * Since different parsers have different levels of precision when it comes - * to identifying errors in code, this class supports marking parser notices - * on either a per-line basis or arbitrary regions of a document. For any + * Since different parsers have different levels of precision when it comes to + * identifying errors in code, this class supports marking parser notices on + * either a per-line basis or arbitrary regions of a document. For any * ParserNotice, {@link #getLine()} is guaranteed to return the * (primary) line containing the notice, but {@link #getOffset()} and - * {@link #getLength()} are allowed to return -1 if that - * particular notice isn't mapped to a specific region of code. Applications - * can check whether an instance of this class only has line-level information - * with the + * {@link #getLength()} are allowed to return -1 if that particular + * notice isn't mapped to a specific region of code. Applications can check + * whether an instance of this class only has line-level information with the * * @author Robert Futrell * @version 1.0 * @see DefaultParserNotice */ public interface ParserNotice extends Comparable { - + /** - * Returns whether this parser notice contains the specified location - * in the document. + * Returns whether this parser notice contains the specified location in the + * document. * - * @param pos - * The position in the document. + * @param pos The position in the document. * @return Whether the position is contained. This will always return - * false if {@link #getOffset()} returns - * -1. + * false if {@link #getOffset()} returns -1. */ boolean containsPosition(int pos); - + /** * Returns the color to use when painting this notice. * * @return The color. */ Color getColor(); - + /** * Returns the length of the code the message is concerned with. * @@ -56,24 +53,24 @@ public interface ParserNotice extends Comparable { * @see #getLine() */ int getLength(); - + /** * Returns the level of this notice. * * @return A value from the {@link Level} enumeration. */ Level getLevel(); - + /** * Returns the line number the notice is about. * * @return The line number. */ int getLine(); - + /** - * Returns whether this parser notice has offset and length information - * (as opposed to just what line number to mark). + * Returns whether this parser notice has offset and length information (as + * opposed to just what line number to mark). * * @return Whether the offset and length of the notice are specified. * @see #getLine() @@ -81,14 +78,14 @@ public interface ParserNotice extends Comparable { * @see #getLength() */ boolean getKnowsOffsetAndLength(); - + /** * Returns the message from the parser. * * @return The message from the parser. */ String getMessage(); - + /** * Returns the offset of the code the message is concerned with. * @@ -97,30 +94,29 @@ public interface ParserNotice extends Comparable { * @see #getLine() */ int getOffset(); - + /** * Returns the parser that created this message. * * @return The parser. */ Parser getParser(); - + /** - * Whether a squiggle underline should be drawn in the editor for this - * notice. + * Whether a squiggle underline should be drawn in the editor for this notice. * * @return Whether a squiggle underline should be drawn. */ boolean getShowInEditor(); - + /** * Returns the tool tip text to display for this notice. * - * @return The tool tip text. If none has been explicitly set, this - * method returns the same text as {@link #getMessage()}. + * @return The tool tip text. If none has been explicitly set, this method + * returns the same text as {@link #getMessage()}. */ String getToolTipText(); - + /** * Denotes the severity of a parser notice. */ @@ -137,13 +133,13 @@ public interface ParserNotice extends Comparable { * Indicates an error notice. */ ERROR(0); - + private int value; - + Level(int value) { this.value = value; } - + /** * Returns the value of this notice level, as an integer. * @@ -152,13 +148,11 @@ public interface ParserNotice extends Comparable { public int getNumericValue() { return value; } - + /** - * Returns whether this level is as sever as, or worse than, another - * level. + * Returns whether this level is as sever as, or worse than, another level. * - * @param other - * The other level. + * @param other The other level. * @return Whether this level is equal to or more severe. */ public boolean isEqualToOrWorseThan(Level other) { diff --git a/src/org/fife/ui/rsyntaxtextarea/parser/TaskTagParser.java b/src/org/fife/ui/rsyntaxtextarea/parser/TaskTagParser.java index 8db8088..08d6f1b 100644 --- a/src/org/fife/ui/rsyntaxtextarea/parser/TaskTagParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/parser/TaskTagParser.java @@ -24,12 +24,12 @@ import org.fife.ui.rsyntaxtextarea.Token; * @version 1.0 */ public class TaskTagParser extends AbstractParser { - + private DefaultParseResult result; private static final String DEFAULT_TASK_PATTERN = "TODO|FIXME|HACK"; private Pattern taskPattern; private static final Color COLOR = new Color(48, 150, 252); - + /** * Creates a new task parser. The default parser treats the following * identifiers in comments as task definitions: "TODO", @@ -39,19 +39,18 @@ public class TaskTagParser extends AbstractParser { result = new DefaultParseResult(this); setTaskPattern(DEFAULT_TASK_PATTERN); } - + /** * Returns the regular expression used to search for tasks. * - * @return The regular expression. This may be null if no - * regular expression was specified (or an empty string was - * specified). + * @return The regular expression. This may be null if no regular + * expression was specified (or an empty string was specified). * @see #setTaskPattern(String) */ public String getTaskPattern() { return taskPattern == null ? null : taskPattern.pattern(); } - + @Override public ParseResult parse(RSyntaxDocument doc, String style) { Element root = doc.getDefaultRootElement(); @@ -95,18 +94,15 @@ public class TaskTagParser extends AbstractParser { } return result; } - + /** - * Sets the pattern of task identifiers. You will usually want this to be - * a list of words "or'ed" together, such as - * "TODO|FIXME|HACK|REMIND". + * Sets the pattern of task identifiers. You will usually want this to be a list + * of words "or'ed" together, such as "TODO|FIXME|HACK|REMIND". * - * @param pattern - * The pattern. A value of null or an - * empty string effectively disables task parsing. - * @throws java.util.regex.PatternSyntaxException - * If pattern - * is an invalid regular expression. + * @param pattern The pattern. A value of null or an empty string + * effectively disables task parsing. + * @throws java.util.regex.PatternSyntaxException If pattern is an + * invalid regular expression. * @see #getTaskPattern() */ public void setTaskPattern(String pattern) { @@ -116,15 +112,15 @@ public class TaskTagParser extends AbstractParser { taskPattern = Pattern.compile(pattern); } } - + /** - * A parser notice that signifies a task. This class is here so we can - * treat tasks specially and show them in the + * A parser notice that signifies a task. This class is here so we can treat + * tasks specially and show them in the * {@link org.fife.ui.rsyntaxtextarea.ErrorStrip} even though they are * INFO-level and marked as "don't show in editor." */ public static class TaskNotice extends DefaultParserNotice { - + public TaskNotice(Parser parser, String message, int line, int offs, int length) { super(parser, message, line, offs, length); } diff --git a/src/org/fife/ui/rsyntaxtextarea/parser/ToolTipInfo.java b/src/org/fife/ui/rsyntaxtextarea/parser/ToolTipInfo.java index 7a30fe7..c6a955a 100644 --- a/src/org/fife/ui/rsyntaxtextarea/parser/ToolTipInfo.java +++ b/src/org/fife/ui/rsyntaxtextarea/parser/ToolTipInfo.java @@ -11,73 +11,67 @@ import java.net.URL; import javax.swing.event.HyperlinkListener; /** - * Wrapper for a tool tip and a listener for hyperlink events in the tool - * tip (assuming the tip is HTML). If the {@code RSyntaxTextArea} instance - * has {@link org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip}s enabled, - * and the user clicks on a hyperlink in the tool tip, the specified + * Wrapper for a tool tip and a listener for hyperlink events in the tool tip + * (assuming the tip is HTML). If the {@code RSyntaxTextArea} instance has + * {@link org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip}s enabled, and + * the user clicks on a hyperlink in the tool tip, the specified * {@link HyperlinkListener} will be called. * * @author Robert Futrell * @version 1.0 */ public class ToolTipInfo { - + private String text; private HyperlinkListener listener; private URL imageBase; - + /** * Constructor. * - * @param text - * The tool tip text, or null for none. - * @param listener - * The hyperlink listener, or null for none. + * @param text The tool tip text, or null for none. + * @param listener The hyperlink listener, or null for none. */ public ToolTipInfo(String text, HyperlinkListener listener) { this(text, listener, null); } - + /** * Constructor. * - * @param text - * The tool tip text, or null for none. - * @param l - * The hyperlink listener, or null for none. - * @param imageBase - * The base URL for images in the HTML text, - * or null for the default. + * @param text The tool tip text, or null for none. + * @param l The hyperlink listener, or null for none. + * @param imageBase The base URL for images in the HTML text, or + * null for the default. */ public ToolTipInfo(String text, HyperlinkListener l, URL imageBase) { this.text = text; this.listener = l; this.imageBase = imageBase; } - + /** - * Returns the listener to call when hyperlinks are clicked in the tool - * tip. + * Returns the listener to call when hyperlinks are clicked in the tool tip. * * @return The listener, or null for none. */ public HyperlinkListener getHyperlinkListener() { return listener; } - + /** - * Returns the base URL that any images in the HTML tool tip live in. - * This allows you to reference images in a jar file in your - * {@link org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip}s. - * Note that if what {@link #getToolTipText()} returns isn't HTML, this - * value is effectively ignored. + * Returns the base URL that any images in the HTML tool tip live in. This + * allows you to reference images in a jar file in your + * {@link org.fife.ui.rsyntaxtextarea.focusabletip.FocusableTip}s. Note that if + * what {@link #getToolTipText()} returns isn't HTML, this value is effectively + * ignored. * * @return The image base, or null for the default. */ public URL getImageBase() { return imageBase; } - + /** * Returns the tool tip text to display. * diff --git a/src/org/fife/ui/rsyntaxtextarea/parser/XmlParser.java b/src/org/fife/ui/rsyntaxtextarea/parser/XmlParser.java index 99654ea..18b0724 100644 --- a/src/org/fife/ui/rsyntaxtextarea/parser/XmlParser.java +++ b/src/org/fife/ui/rsyntaxtextarea/parser/XmlParser.java @@ -23,9 +23,9 @@ import org.xml.sax.SAXParseException; import org.xml.sax.helpers.DefaultHandler; /** - * A parser for XML documents. Adds squiggle underlines for any XML errors - * found (though most XML parsers don't really have error recovery and so only - * can find one error at a time). + * A parser for XML documents. Adds squiggle underlines for any XML errors found + * (though most XML parsers don't really have error recovery and so only can + * find one error at a time). *

      * * This class isn't actually used by RSyntaxTextArea anywhere, but you can @@ -45,12 +45,11 @@ import org.xml.sax.helpers.DefaultHandler; * textArea.addParser(xmlParser); * * - * Also note that a single instance of this class can be installed on - * multiple instances of RSyntaxTextArea. + * Also note that a single instance of this class can be installed on multiple + * instances of RSyntaxTextArea. *

      * - * For a more complete XML parsing/validation solution, see the - * RSTALanguageSupport * project's XmlLanguageSupport class. * @@ -58,20 +57,19 @@ import org.xml.sax.helpers.DefaultHandler; * @version 1.1 */ public class XmlParser extends AbstractParser { - + private SAXParserFactory spf; private DefaultParseResult result; private EntityResolver entityResolver; - + public XmlParser() { this(null); } - + /** * Constructor allowing DTD validation of documents. * - * @param resolver - * An entity resolver to use if validation is enabled. + * @param resolver An entity resolver to use if validation is enabled. * @see #setValidating(boolean) */ public XmlParser(EntityResolver resolver) { @@ -83,7 +81,7 @@ public class XmlParser extends AbstractParser { fce.printStackTrace(); } } - + /** * Returns whether this parser does DTD validation. * @@ -93,7 +91,7 @@ public class XmlParser extends AbstractParser { public boolean isValidating() { return spf.isValidating(); } - + /** * {@inheritDoc} */ @@ -121,64 +119,49 @@ public class XmlParser extends AbstractParser { } return result; } - + /** * Sets whether this parser will use DTD validation if required. * - * @param validating - * Whether DTD validation should be enabled. If this is - * true, documents must specify a DOCTYPE, and you - * should have used the constructor specifying an entity - * resolver. + * @param validating Whether DTD validation should be enabled. If this is + * true, documents must specify a DOCTYPE, and + * you should have used the constructor specifying an entity + * resolver. * @see #isValidating() */ public void setValidating(boolean validating) { spf.setValidating(validating); } - + /* - * public static void main(String[] args) { - * javax.swing.JFrame frame = new javax.swing.JFrame(); - * org.fife.ui.rsyntaxtextarea.RSyntaxTextArea textArea = new - * org.fife.ui.rsyntaxtextarea.RSyntaxTextArea(25, 40); - * textArea.setSyntaxEditingStyle("text/xml"); - * XmlParser parser = new XmlParser(new EntityResolver() { - * public InputSource resolveEntity(String publicId, String systemId) - * throws SAXException, IOException { - * if ("http://fifesoft.com/rsyntaxtextarea/theme.dtd".equals(systemId)) { - * return new - * org.xml.sax.InputSource(getClass().getResourceAsStream("/theme.dtd")); - * } - * return null; - * } - * }); - * parser.setValidating(true); - * textArea.addParser(parser); - * try { - * textArea.read(new java.io.BufferedReader(new - * java.io.FileReader("C:/temp/test.xml")), null); - * } catch (Exception e) { - * e.printStackTrace(); - * } - * frame.setContentPane(new - * org.fife.ui.rtextarea.RTextScrollPane(textArea)); - * frame.pack(); + * public static void main(String[] args) { javax.swing.JFrame frame = new + * javax.swing.JFrame(); org.fife.ui.rsyntaxtextarea.RSyntaxTextArea textArea = + * new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea(25, 40); + * textArea.setSyntaxEditingStyle("text/xml"); XmlParser parser = new + * XmlParser(new EntityResolver() { public InputSource resolveEntity(String + * publicId, String systemId) throws SAXException, IOException { if + * ("http://fifesoft.com/rsyntaxtextarea/theme.dtd".equals(systemId)) { return + * new org.xml.sax.InputSource(getClass().getResourceAsStream("/theme.dtd")); } + * return null; } }); parser.setValidating(true); textArea.addParser(parser); + * try { textArea.read(new java.io.BufferedReader(new + * java.io.FileReader("C:/temp/test.xml")), null); } catch (Exception e) { + * e.printStackTrace(); } frame.setContentPane(new + * org.fife.ui.rtextarea.RTextScrollPane(textArea)); frame.pack(); * frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); - * frame.setVisible(true); - * } + * frame.setVisible(true); } */ /** - * Callback notified when errors are found in the XML document. Adds a - * notice to be squiggle-underlined. + * Callback notified when errors are found in the XML document. Adds a notice to + * be squiggle-underlined. */ private final class Handler extends DefaultHandler { - + private Document doc; - + private Handler(Document doc) { this.doc = doc; } - + private void doError(SAXParseException e, ParserNotice.Level level) { int line = e.getLineNumber() - 1; Element root = doc.getDefaultRootElement(); @@ -192,17 +175,17 @@ public class XmlParser extends AbstractParser { pn.setLevel(level); result.addNotice(pn); } - + @Override public void error(SAXParseException e) { doError(e, ParserNotice.Level.ERROR); } - + @Override public void fatalError(SAXParseException e) { doError(e, ParserNotice.Level.ERROR); } - + @Override public InputSource resolveEntity(String publicId, String systemId) throws IOException, SAXException { if (entityResolver != null) { @@ -210,7 +193,7 @@ public class XmlParser extends AbstractParser { } return super.resolveEntity(publicId, systemId); } - + @Override public void warning(SAXParseException e) { doError(e, ParserNotice.Level.WARNING); diff --git a/src/org/fife/ui/rsyntaxtextarea/templates/AbstractCodeTemplate.java b/src/org/fife/ui/rsyntaxtextarea/templates/AbstractCodeTemplate.java index 89607be..a7b7827 100644 --- a/src/org/fife/ui/rsyntaxtextarea/templates/AbstractCodeTemplate.java +++ b/src/org/fife/ui/rsyntaxtextarea/templates/AbstractCodeTemplate.java @@ -13,29 +13,28 @@ package org.fife.ui.rsyntaxtextarea.templates; * @version 1.0 */ public abstract class AbstractCodeTemplate implements CodeTemplate { - + /** * The ID of this template. */ private String id; - + /** * This no-arg constructor is required for serialization purposes. */ - public AbstractCodeTemplate() {} - + public AbstractCodeTemplate() { + } + /** * Creates a new template. * - * @param id - * The ID for this template. - * @throws IllegalArgumentException - * If id is null. + * @param id The ID for this template. + * @throws IllegalArgumentException If id is null. */ public AbstractCodeTemplate(String id) { setID(id); } - + /** * Creates a deep copy of this template. * @@ -51,18 +50,15 @@ public abstract class AbstractCodeTemplate implements CodeTemplate { throw new InternalError("CodeTemplate implementation not Cloneable: " + getClass().getName()); } } - + /** * Compares the StaticCodeTemplate to another. * - * @param o - * Another StaticCodeTemplate object. - * @return A negative integer, zero, or a positive integer as this - * object is less than, equal-to, or greater than the passed-in - * object. - * @throws ClassCastException - * If o is - * not an instance of CodeTemplate. + * @param o Another StaticCodeTemplate object. + * @return A negative integer, zero, or a positive integer as this object is + * less than, equal-to, or greater than the passed-in object. + * @throws ClassCastException If o is not an instance of + * CodeTemplate. */ @Override public int compareTo(CodeTemplate o) { @@ -71,10 +67,10 @@ public abstract class AbstractCodeTemplate implements CodeTemplate { } return getID().compareTo(o.getID()); } - + /** - * Overridden to return "true" iff - * {@link #compareTo(CodeTemplate)} returns 0. + * Overridden to return "true" iff {@link #compareTo(CodeTemplate)} + * returns 0. * * @return Whether this code template is equal to another. */ @@ -85,7 +81,7 @@ public abstract class AbstractCodeTemplate implements CodeTemplate { } return false; } - + /** * Returns the ID of this code template. * @@ -96,7 +92,7 @@ public abstract class AbstractCodeTemplate implements CodeTemplate { public String getID() { return id; } - + /** * Returns the hash code for this template. * @@ -106,14 +102,12 @@ public abstract class AbstractCodeTemplate implements CodeTemplate { public int hashCode() { return id.hashCode(); } - + /** * Sets the ID for this template. * - * @param id - * The ID for this template. - * @throws IllegalArgumentException - * If id is null. + * @param id The ID for this template. + * @throws IllegalArgumentException If id is null. * @see #getID() */ public void setID(String id) { diff --git a/src/org/fife/ui/rsyntaxtextarea/templates/CodeTemplate.java b/src/org/fife/ui/rsyntaxtextarea/templates/CodeTemplate.java index 52c375d..246421f 100644 --- a/src/org/fife/ui/rsyntaxtextarea/templates/CodeTemplate.java +++ b/src/org/fife/ui/rsyntaxtextarea/templates/CodeTemplate.java @@ -13,14 +13,14 @@ import javax.swing.text.BadLocationException; import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; /** - * A "code template" is a kind of macro for commonly-typed code. It - * associates a short identifier with a longer code snippet, then when the - * code template is enabled and the short identifier is typed, it is - * replaced with the longer code snippet. + * A "code template" is a kind of macro for commonly-typed code. It associates a + * short identifier with a longer code snippet, then when the code template is + * enabled and the short identifier is typed, it is replaced with the longer + * code snippet. *

      * - * For example, you can associate the identifier forb - * (short for "for-block") with the following code: + * For example, you can associate the identifier forb (short for + * "for-block") with the following code: *

      * *

      @@ -29,10 +29,10 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
        *   }
        * 
      * - * Then, whenever you type forb followed by a trigger - * (e.g., a space) into a text area with this CodeTemplate, - * the code snippet is added in place of forb. Further, - * the caret is placed at the position denoted by <caret>. + * Then, whenever you type forb followed by a trigger (e.g., a + * space) into a text area with this CodeTemplate, the code snippet + * is added in place of forb. Further, the caret is placed at the + * position denoted by <caret>. *

      * * Static text replacements are done with {@link StaticCodeTemplate}. Dynamic @@ -43,29 +43,26 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; * @see StaticCodeTemplate */ public interface CodeTemplate extends Cloneable, Comparable, Serializable { - + /** * Creates a deep copy of this template. * * @return A deep copy of this template. */ Object clone(); - + /** * Returns the ID of this code template. * * @return The template's ID. */ String getID(); - + /** - * Invokes this code template. The changes are made to the given text - * area. + * Invokes this code template. The changes are made to the given text area. * - * @param textArea - * The text area to operate on. - * @throws BadLocationException - * If something bad happens. + * @param textArea The text area to operate on. + * @throws BadLocationException If something bad happens. */ void invoke(RSyntaxTextArea textArea) throws BadLocationException; } diff --git a/src/org/fife/ui/rsyntaxtextarea/templates/StaticCodeTemplate.java b/src/org/fife/ui/rsyntaxtextarea/templates/StaticCodeTemplate.java index 235935c..2da3670 100644 --- a/src/org/fife/ui/rsyntaxtextarea/templates/StaticCodeTemplate.java +++ b/src/org/fife/ui/rsyntaxtextarea/templates/StaticCodeTemplate.java @@ -21,8 +21,8 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities; * A code template that inserts static text before and after the caret. *

      * - * For example, you can associate the identifier forb - * (short for "for-block") with the following code: + * For example, you can associate the identifier forb (short for + * "for-block") with the following code: *

      * *

      @@ -31,17 +31,17 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities;
        *   }
        * 
      * - * Then, whenever you type forb followed by a trigger - * (e.g., a space) into a text area with this CodeTemplate, - * the code snippet is added in place of forb. Further, - * the caret is placed at the position denoted by <caret>. + * Then, whenever you type forb followed by a trigger (e.g., a + * space) into a text area with this CodeTemplate, the code snippet + * is added in place of forb. Further, the caret is placed at the + * position denoted by <caret>. * * @author Robert Futrell * @version 0.1 * @see CodeTemplate */ public class StaticCodeTemplate extends AbstractCodeTemplate { - + private static final long serialVersionUID = 1; /** * The code inserted before the caret position. @@ -52,39 +52,37 @@ public class StaticCodeTemplate extends AbstractCodeTemplate { */ private String afterCaret; /** - * Cached value representing whether beforeCaret contains - * one or more newlines. + * Cached value representing whether beforeCaret contains one or + * more newlines. */ private transient int firstBeforeNewline; /** - * Cached value representing whether afterCaret contains - * one or more newlines. + * Cached value representing whether afterCaret contains one or + * more newlines. */ private transient int firstAfterNewline; private static final String EMPTY_STRING = ""; - + /** - * Constructor. This constructor only exists to support persistance - * through serialization. + * Constructor. This constructor only exists to support persistance through + * serialization. */ - public StaticCodeTemplate() {} - + public StaticCodeTemplate() { + } + /** * Constructor. * - * @param id - * The ID of this code template. - * @param beforeCaret - * The text to place before the caret. - * @param afterCaret - * The text to place after the caret. + * @param id The ID of this code template. + * @param beforeCaret The text to place before the caret. + * @param afterCaret The text to place after the caret. */ public StaticCodeTemplate(String id, String beforeCaret, String afterCaret) { super(id); setBeforeCaretText(beforeCaret); setAfterCaretText(afterCaret); } - + /** * Returns the text that will be placed after the caret. * @@ -94,7 +92,7 @@ public class StaticCodeTemplate extends AbstractCodeTemplate { public String getAfterCaretText() { return afterCaret; } - + /** * Returns the text that will be placed before the caret. * @@ -104,40 +102,35 @@ public class StaticCodeTemplate extends AbstractCodeTemplate { public String getBeforeCaretText() { return beforeCaret; } - + /** - * Returns the "after caret" text, with each new line indented by - * the specified amount. + * Returns the "after caret" text, with each new line indented by the specified + * amount. * - * @param indent - * The amount to indent. + * @param indent The amount to indent. * @return The "after caret" text. */ private String getAfterTextIndented(String indent) { return getTextIndented(getAfterCaretText(), firstAfterNewline, indent); } - + /** - * Returns the "before caret" text, with each new line indented by - * the specified amount. + * Returns the "before caret" text, with each new line indented by the specified + * amount. * - * @param indent - * The amount to indent. + * @param indent The amount to indent. * @return The "before caret" text. */ private String getBeforeTextIndented(String indent) { return getTextIndented(getBeforeCaretText(), firstBeforeNewline, indent); } - + /** * Returns text with newlines indented by the specified amount. * - * @param text - * The original text. - * @param firstNewline - * The index of the first '\n' character. - * @param indent - * The amount to indent. + * @param text The original text. + * @param firstNewline The index of the first '\n' character. + * @param indent The amount to indent. * @return The indented text. */ private String getTextIndented(String text, int firstNewline, String indent) { @@ -158,15 +151,12 @@ public class StaticCodeTemplate extends AbstractCodeTemplate { } return sb.toString(); } - + /** - * Invokes this code template. The changes are made to the given text - * area. + * Invokes this code template. The changes are made to the given text area. * - * @param textArea - * The text area to operate on. - * @throws BadLocationException - * If something bad happens. + * @param textArea The text area to operate on. + * @throws BadLocationException If something bad happens. */ @Override public void invoke(RSyntaxTextArea textArea) throws BadLocationException { @@ -196,17 +186,14 @@ public class StaticCodeTemplate extends AbstractCodeTemplate { doc.replace(p0, p1 - p0, beforeText + afterText, null); textArea.setCaretPosition(p0 + beforeText.length()); } - + /** - * Called when reading a serialized version of this document. This is - * overridden to initialize the transient members of this class. + * Called when reading a serialized version of this document. This is overridden + * to initialize the transient members of this class. * - * @param in - * The input stream to read from. - * @throws ClassNotFoundException - * Never. - * @throws IOException - * If an IO error occurs. + * @param in The input stream to read from. + * @throws ClassNotFoundException Never. + * @throws IOException If an IO error occurs. */ private void readObject(ObjectInputStream in) throws ClassNotFoundException, IOException { in.defaultReadObject(); @@ -215,39 +202,37 @@ public class StaticCodeTemplate extends AbstractCodeTemplate { setBeforeCaretText(this.beforeCaret); setAfterCaretText(this.afterCaret); } - + /** * Sets the text to place after the caret. * - * @param afterCaret - * The text. + * @param afterCaret The text. * @see #getAfterCaretText() */ public void setAfterCaretText(String afterCaret) { this.afterCaret = afterCaret == null ? EMPTY_STRING : afterCaret; firstAfterNewline = this.afterCaret.indexOf('\n'); } - + /** * Sets the text to place before the caret. * - * @param beforeCaret - * The text. + * @param beforeCaret The text. * @see #getBeforeCaretText() */ public void setBeforeCaretText(String beforeCaret) { this.beforeCaret = beforeCaret == null ? EMPTY_STRING : beforeCaret; firstBeforeNewline = this.beforeCaret.indexOf('\n'); } - + /** - * Returns a string representation of this template for debugging - * purposes. + * Returns a string representation of this template for debugging purposes. * * @return A string representation of this template. */ @Override public String toString() { - return "[StaticCodeTemplate: id=" + getID() + ", text=" + getBeforeCaretText() + "|" + getAfterCaretText() + "]"; + return "[StaticCodeTemplate: id=" + getID() + ", text=" + getBeforeCaretText() + "|" + getAfterCaretText() + + "]"; } } diff --git a/src/org/fife/ui/rtextarea/AbstractGutterComponent.java b/src/org/fife/ui/rtextarea/AbstractGutterComponent.java index 236ab4b..74de27e 100644 --- a/src/org/fife/ui/rtextarea/AbstractGutterComponent.java +++ b/src/org/fife/ui/rtextarea/AbstractGutterComponent.java @@ -21,7 +21,7 @@ import javax.swing.text.View; * @version 1.0 */ abstract class AbstractGutterComponent extends JPanel { - + /** * The text area whose lines we are marking with icons. */ @@ -30,29 +30,25 @@ abstract class AbstractGutterComponent extends JPanel { * The number of lines in the text area. */ protected int currentLineCount; - + /** * Constructor. * - * @param textArea - * The text area. + * @param textArea The text area. */ AbstractGutterComponent(RTextArea textArea) { init(); // Called before setTextArea(). setTextArea(textArea); } - + /** - * Returns the bounds of a child view as a rectangle, since - * Views tend to use Shape. + * Returns the bounds of a child view as a rectangle, since Views + * tend to use Shape. * - * @param parent - * The parent view of the child whose bounds we're getting. - * @param line - * The index of the child view. - * @param editorRect - * Returned from the text area's - * getVisibleEditorRect method. + * @param parent The parent view of the child whose bounds we're getting. + * @param line The index of the child view. + * @param editorRect Returned from the text area's + * getVisibleEditorRect method. * @return The child view's bounds. */ protected static final Rectangle getChildViewBounds(View parent, int line, Rectangle editorRect) { @@ -64,7 +60,7 @@ abstract class AbstractGutterComponent extends JPanel { } return alloc instanceof Rectangle ? (Rectangle) alloc : alloc.getBounds(); } - + /** * Returns the parent Gutter component. * @@ -74,35 +70,34 @@ abstract class AbstractGutterComponent extends JPanel { Container parent = getParent(); return (parent instanceof Gutter) ? (Gutter) parent : null; } - + /** * Called when text is inserted to or removed from the text area. * Implementations can take this opportunity to repaint, revalidate, etc. * - * @param e - * The document event. + * @param e The document event. */ abstract void handleDocumentEvent(DocumentEvent e); - + /** - * Called by the constructor before the text area is set. This is a hook - * to allow subclasses to do any needed initialization. The default - * implementation does nothing. + * Called by the constructor before the text area is set. This is a hook to + * allow subclasses to do any needed initialization. The default implementation + * does nothing. */ - protected void init() {} - + protected void init() { + } + /** - * Called when the line heights of the text area change. This is usually - * the result of one or more of the fonts in the editor changing. + * Called when the line heights of the text area change. This is usually the + * result of one or more of the fonts in the editor changing. */ abstract void lineHeightsChanged(); - + /** - * Sets the text area being displayed. Subclasses can override, but - * should call the super implementation. + * Sets the text area being displayed. Subclasses can override, but should call + * the super implementation. * - * @param textArea - * The text area. + * @param textArea The text area. */ public void setTextArea(RTextArea textArea) { this.textArea = textArea; diff --git a/src/org/fife/ui/rtextarea/BackgroundPainterStrategy.java b/src/org/fife/ui/rtextarea/BackgroundPainterStrategy.java index a459719..3347b19 100644 --- a/src/org/fife/ui/rtextarea/BackgroundPainterStrategy.java +++ b/src/org/fife/ui/rtextarea/BackgroundPainterStrategy.java @@ -12,13 +12,13 @@ import java.awt.Rectangle; /** * Interface for classes that paint the background of an - * RTextAreaBase. The Strategy pattern is used for this - * object because the background can be painted as a solid color, as - * an image, and possibly other ways (gradients, animated images, etc.). - * When a method to change the background of an RTextAreaBase - * instance is called (such as setBackground, - * setBackgroundImage or setBackgoundObject), - * the correct strategy is then created and used to paint its background. + * RTextAreaBase. The Strategy pattern is used for this object + * because the background can be painted as a solid color, as an image, and + * possibly other ways (gradients, animated images, etc.). When a method to + * change the background of an RTextAreaBase instance is called + * (such as setBackground, setBackgroundImage or + * setBackgoundObject), the correct strategy is then created and + * used to paint its background. * * @author Robert Futrell * @version 0.1 @@ -26,15 +26,12 @@ import java.awt.Rectangle; * @see org.fife.ui.rtextarea.ColorBackgroundPainterStrategy */ public interface BackgroundPainterStrategy { - + /** * Paints the background. * - * @param g - * The graphics context. - * @param bounds - * The bounds of the object whose backgrouns we're - * painting. + * @param g The graphics context. + * @param bounds The bounds of the object whose backgrouns we're painting. */ void paint(Graphics g, Rectangle bounds); } diff --git a/src/org/fife/ui/rtextarea/BufferedImageBackgroundPainterStrategy.java b/src/org/fife/ui/rtextarea/BufferedImageBackgroundPainterStrategy.java index f770c49..f572a3a 100644 --- a/src/org/fife/ui/rtextarea/BufferedImageBackgroundPainterStrategy.java +++ b/src/org/fife/ui/rtextarea/BufferedImageBackgroundPainterStrategy.java @@ -17,24 +17,23 @@ import java.util.HashMap; import java.util.Map; /** - * A strategy for painting the background of an RTextAreaBase - * as an image. The image is always stretched to completely fill the + * A strategy for painting the background of an RTextAreaBase as an + * image. The image is always stretched to completely fill the * RTextAreaBase. *

      * * A java.awt.image.BufferedImage is used for rendering; * theoretically, for performance you should use * java.awt.image.VolatileImage; see - * org.fife.ui.RTextArea.VolatileImageBackgroundPainterStrategy - * for this. + * org.fife.ui.RTextArea.VolatileImageBackgroundPainterStrategy for + * this. *

      * - * You can set the scaling hint used when stretching/skewing the image - * to fit in the RTextAreaBase's background via the - * setScalingHint method, but keep in mind the more - * accurate the scaling hint, the less responsive your application will - * be when stretching the window (as that's the only time the image's - * size is recalculated). + * You can set the scaling hint used when stretching/skewing the image to fit in + * the RTextAreaBase's background via the + * setScalingHint method, but keep in mind the more accurate the + * scaling hint, the less responsive your application will be when stretching + * the window (as that's the only time the image's size is recalculated). * * @author Robert Futrell * @version 0.1 @@ -42,30 +41,25 @@ import java.util.Map; * @see org.fife.ui.rtextarea.VolatileImageBackgroundPainterStrategy */ public class BufferedImageBackgroundPainterStrategy extends ImageBackgroundPainterStrategy { - + private BufferedImage bgImage; - + /** * Constructor. * - * @param ta - * The text area whose background we'll be painting. + * @param ta The text area whose background we'll be painting. */ public BufferedImageBackgroundPainterStrategy(RTextAreaBase ta) { super(ta); } - + /** - * Paints the image at the specified location. This method assumes - * scaling has already been done, and simply paints the background - * image "as-is." + * Paints the image at the specified location. This method assumes scaling has + * already been done, and simply paints the background image "as-is." * - * @param g - * The graphics context. - * @param x - * The x-coordinate at which to paint. - * @param y - * The y-coordinate at which to paint. + * @param g The graphics context. + * @param x The x-coordinate at which to paint. + * @param y The y-coordinate at which to paint. */ @Override protected void paintImage(Graphics g, int x, int y) { @@ -73,16 +67,13 @@ public class BufferedImageBackgroundPainterStrategy extends ImageBackgroundPaint g.drawImage(bgImage, x, y, null); } } - + /** * Rescales the displayed image to be the specified size. * - * @param width - * The new width of the image. - * @param height - * The new height of the image. - * @param hint - * The scaling hint to use. + * @param width The new width of the image. + * @param height The new height of the image. + * @param hint The scaling hint to use. */ @Override protected void rescaleImage(int width, int height, int hint) { @@ -90,12 +81,12 @@ public class BufferedImageBackgroundPainterStrategy extends ImageBackgroundPaint if (master != null) { Map hints = new HashMap(); switch (hint) { - default: - case Image.SCALE_AREA_AVERAGING: - case Image.SCALE_SMOOTH: - hints.put(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); - hints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); - hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + default: + case Image.SCALE_AREA_AVERAGING: + case Image.SCALE_SMOOTH: + hints.put(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); + hints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); + hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); } bgImage = createAcceleratedImage(width, height); Graphics2D g = bgImage.createGraphics(); @@ -106,7 +97,7 @@ public class BufferedImageBackgroundPainterStrategy extends ImageBackgroundPaint bgImage = null; } } - + private BufferedImage createAcceleratedImage(int width, int height) { GraphicsConfiguration gc = getRTextAreaBase().getGraphicsConfiguration(); BufferedImage image = gc.createCompatibleImage(width, height); diff --git a/src/org/fife/ui/rtextarea/ChangeableHighlightPainter.java b/src/org/fife/ui/rtextarea/ChangeableHighlightPainter.java index 1d5f298..9a78374 100644 --- a/src/org/fife/ui/rtextarea/ChangeableHighlightPainter.java +++ b/src/org/fife/ui/rtextarea/ChangeableHighlightPainter.java @@ -29,8 +29,8 @@ import javax.swing.text.Position; import javax.swing.text.View; /** - * An extension of LayerPainter that allows the user to - * change several of its properties: + * An extension of LayerPainter that allows the user to change + * several of its properties: * *

        *
      • Its color/fill style (can use a GradientPaint, for @@ -43,7 +43,7 @@ import javax.swing.text.View; * @version 0.6 */ public class ChangeableHighlightPainter extends LayeredHighlighter.LayerPainter implements Serializable { - + /** * The Paint/Color of this highlight. */ @@ -57,78 +57,67 @@ public class ChangeableHighlightPainter extends LayeredHighlighter.LayerPainter */ private transient AlphaComposite alphaComposite; /** - * The alpha value used in computing translucency. This should stay in the - * range 0.0f (completely invisible) to 1.0f - * (completely opaque). + * The alpha value used in computing translucency. This should stay in the range + * 0.0f (completely invisible) to 1.0f (completely + * opaque). */ private float alpha; private static final int ARCWIDTH = 8; private static final int ARCHEIGHT = 8; - + /** - * Creates a new ChangableHighlightPainter that paints - * highlights with the text area's selection color (i.e., behaves exactly - * like + * Creates a new ChangableHighlightPainter that paints highlights + * with the text area's selection color (i.e., behaves exactly like * javax.swing.text.DefaultHighlighter.DefaultHighlightPainter * ). */ public ChangeableHighlightPainter() { this(null); } - + /** * Creates a new highlight painter using the specified Paint * without rounded edges. * - * @param paint - * The Paint (usually a - * java.awt.Color) with which to paint the - * highlights. + * @param paint The Paint (usually a java.awt.Color) + * with which to paint the highlights. */ public ChangeableHighlightPainter(Paint paint) { this(paint, false); } - + /** * Creates a new highlight painter. * - * @param paint - * The Paint (usually a - * java.awt.Color) with which to paint the - * highlights. - * @param rounded - * Whether to use rounded edges on the highlights. + * @param paint The Paint (usually a java.awt.Color) + * with which to paint the highlights. + * @param rounded Whether to use rounded edges on the highlights. */ public ChangeableHighlightPainter(Paint paint, boolean rounded) { this(paint, rounded, 1.0f); } - + /** * Creates a new highlight painter. * - * @param paint - * The Paint (usually a - * java.awt.Color) with which to paint the - * highlights. - * @param rounded - * Whether to use rounded edges on the highlights. - * @param alpha - * The alpha value to use when painting highlights. This - * value should be in the range 0.0f (completely - * transparent) through 1.0f (opaque). + * @param paint The Paint (usually a java.awt.Color) + * with which to paint the highlights. + * @param rounded Whether to use rounded edges on the highlights. + * @param alpha The alpha value to use when painting highlights. This value + * should be in the range 0.0f (completely + * transparent) through 1.0f (opaque). */ public ChangeableHighlightPainter(Paint paint, boolean rounded, float alpha) { setPaint(paint); setRoundedEdges(rounded); setAlpha(alpha); } - + /** * Returns the alpha value used in computing the translucency of these * highlights. A value of 1.0f (the default) means that no - * translucency is used; there is no performance hit for this value. For - * all other values ([0.0f..1.0f)), there will be a - * performance hit. + * translucency is used; there is no performance hit for this value. For all + * other values ([0.0f..1.0f)), there will be a performance hit. * * @return The alpha value. * @see #setAlpha @@ -136,7 +125,7 @@ public class ChangeableHighlightPainter extends LayeredHighlighter.LayerPainter public float getAlpha() { return alpha; } - + /** * Returns the alpha composite to use when rendering highlights with this * painter. @@ -149,10 +138,10 @@ public class ChangeableHighlightPainter extends LayeredHighlighter.LayerPainter } return alphaComposite; } - + /** - * Returns the Paint (usually a java.awt.Color) - * being used to paint highlights. + * Returns the Paint (usually a java.awt.Color) being + * used to paint highlights. * * @return The Paint. * @see #setPaint @@ -160,10 +149,10 @@ public class ChangeableHighlightPainter extends LayeredHighlighter.LayerPainter public Paint getPaint() { return paint; } - + /** - * Returns whether rounded edges are used when painting selections with - * this highlight painter. + * Returns whether rounded edges are used when painting selections with this + * highlight painter. * * @return Whether rounded edges are used. * @see #setRoundedEdges @@ -171,20 +160,15 @@ public class ChangeableHighlightPainter extends LayeredHighlighter.LayerPainter public boolean getRoundedEdges() { return roundedEdges; } - + /** * Paints a highlight. * - * @param g - * the graphics context - * @param offs0 - * the starting model offset >= 0 - * @param offs1 - * the ending model offset >= offs1 - * @param bounds - * the bounding box for the highlight - * @param c - * the editor + * @param g the graphics context + * @param offs0 the starting model offset >= 0 + * @param offs1 the ending model offset >= offs1 + * @param bounds the bounding box for the highlight + * @param c the editor */ @Override public void paint(Graphics g, int offs0, int offs1, Shape bounds, JTextComponent c) { @@ -235,23 +219,17 @@ public class ChangeableHighlightPainter extends LayeredHighlighter.LayerPainter } } } - + /** * Paints a portion of a highlight. * - * @param g - * the graphics context - * @param offs0 - * the starting model offset >= 0 - * @param offs1 - * the ending model offset >= offs1 - * @param bounds - * the bounding box of the view, which is not - * necessarily the region to paint. - * @param c - * the editor - * @param view - * View painting for + * @param g the graphics context + * @param offs0 the starting model offset >= 0 + * @param offs1 the ending model offset >= offs1 + * @param bounds the bounding box of the view, which is not necessarily the + * region to paint. + * @param c the editor + * @param view View painting for * @return region drawing occurred in */ @Override @@ -328,12 +306,11 @@ public class ChangeableHighlightPainter extends LayeredHighlighter.LayerPainter // Only if exception return null; } - + /** * Deserializes a painter. * - * @param s - * The stream to read from. + * @param s The stream to read from. * @throws ClassNotFoundException * @throws IOException */ @@ -345,18 +322,16 @@ public class ChangeableHighlightPainter extends LayeredHighlighter.LayerPainter paint = rgb == -1 ? null : new Color(rgb); alphaComposite = null; // Keep FindBugs happy. This will get set later } - + /** * Sets the alpha value used in rendering highlights. If this value is * 1.0f (the default), the highlights are rendered completely - * opaque. This behavior matches that of - * DefaultHighlightPainter and imposes no performance hit. If - * this value is below 1.0f, it represents how opaque the - * highlight will be. There will be a small performance hit for values - * less than 1.0f. + * opaque. This behavior matches that of DefaultHighlightPainter + * and imposes no performance hit. If this value is below 1.0f, it + * represents how opaque the highlight will be. There will be a small + * performance hit for values less than 1.0f. * - * @param alpha - * The new alpha value to use for transparency. + * @param alpha The new alpha value to use for transparency. * @see #getAlpha */ public void setAlpha(float alpha) { @@ -365,37 +340,33 @@ public class ChangeableHighlightPainter extends LayeredHighlighter.LayerPainter this.alpha = Math.min(1.0f, alpha); alphaComposite = null; // So it is recreated with new alpha. } - + /** - * Sets the Paint (usually a java.awt.Color) - * used to paint this highlight. + * Sets the Paint (usually a java.awt.Color) used to + * paint this highlight. * - * @param paint - * The new Paint. + * @param paint The new Paint. * @see #getPaint */ public void setPaint(Paint paint) { this.paint = paint; } - + /** * Sets whether rounded edges are used when painting this highlight. * - * @param rounded - * Whether rounded edges should be used. + * @param rounded Whether rounded edges should be used. * @see #getRoundedEdges */ public void setRoundedEdges(boolean rounded) { roundedEdges = rounded; } - + /** * Serializes this painter. * - * @param s - * The stream to write to. - * @throws IOException - * If an IO error occurs. + * @param s The stream to write to. + * @throws IOException If an IO error occurs. */ private void writeObject(ObjectOutputStream s) throws IOException { s.defaultWriteObject(); diff --git a/src/org/fife/ui/rtextarea/ClipboardHistory.java b/src/org/fife/ui/rtextarea/ClipboardHistory.java index 4a4870d..8b63a8a 100644 --- a/src/org/fife/ui/rtextarea/ClipboardHistory.java +++ b/src/org/fife/ui/rtextarea/ClipboardHistory.java @@ -11,13 +11,12 @@ import java.util.Collections; import java.util.List; /** - * Listens for cuts and copies from instances of {@link RTextArea}. This is - * used for the "clipboard history" shortcut (Ctrl+Shift+V by default). + * Listens for cuts and copies from instances of {@link RTextArea}. This is used + * for the "clipboard history" shortcut (Ctrl+Shift+V by default). *

        * * Note that this class does not listen for all events on the system clipboard, - * because that functionality is pretty fragile. See - * * http://stackoverflow.com/questions/5484927/listen-to-clipboard-changes-check-ownership * for more information. @@ -26,22 +25,21 @@ import java.util.List; * @version 1.0 */ public final class ClipboardHistory { - + private static ClipboardHistory instance; private List history; private int maxSize; private static final int DEFAULT_MAX_SIZE = 12; - + private ClipboardHistory() { history = new ArrayList(); maxSize = DEFAULT_MAX_SIZE; } - + /** * Adds an entry to the clipboard history. * - * @param str - * The text to add. + * @param str The text to add. * @see #getHistory() */ public void add(String str) { @@ -59,7 +57,7 @@ public final class ClipboardHistory { trim(); } } - + /** * Returns the singleton instance of this class, lazily creating it if * necessary. @@ -75,7 +73,7 @@ public final class ClipboardHistory { } return instance; } - + /** * Returns the clipboard history, in most-recently-used order. * @@ -86,7 +84,7 @@ public final class ClipboardHistory { Collections.reverse(copy); return copy; } - + /** * Returns the maximum number of clipboard values remembered. * @@ -96,15 +94,13 @@ public final class ClipboardHistory { public int getMaxSize() { return maxSize; } - + /** * Sets the maximum number of clipboard values remembered. * - * @param maxSize - * The maximum number of clipboard values to remember. - * @throws IllegalArgumentException - * If maxSize is not greater - * than zero. + * @param maxSize The maximum number of clipboard values to remember. + * @throws IllegalArgumentException If maxSize is not greater than + * zero. * @see #getMaxSize() */ public void setMaxSize(int maxSize) { @@ -114,10 +110,10 @@ public final class ClipboardHistory { this.maxSize = maxSize; trim(); } - + /** - * Ensures the remembered set of strings is not larger than the maximum - * allowed size. + * Ensures the remembered set of strings is not larger than the maximum allowed + * size. */ private void trim() { while (history.size() > maxSize) { diff --git a/src/org/fife/ui/rtextarea/ClipboardHistoryPopup.java b/src/org/fife/ui/rtextarea/ClipboardHistoryPopup.java index a028e20..d8106b8 100644 --- a/src/org/fife/ui/rtextarea/ClipboardHistoryPopup.java +++ b/src/org/fife/ui/rtextarea/ClipboardHistoryPopup.java @@ -49,7 +49,7 @@ import org.fife.ui.rsyntaxtextarea.focusabletip.TipUtil; * @version 1.0 */ class ClipboardHistoryPopup extends JWindow { - + private RTextArea textArea; private ChoiceList list; private transient Listener listener; @@ -59,21 +59,20 @@ class ClipboardHistoryPopup extends JWindow { */ private static final int VERTICAL_SPACE = 1; private static final String MSG = "org.fife.ui.rtextarea.RTextArea"; - + /** * Constructor. * - * @param parent - * The parent window containing textArea. - * @param textArea - * The text area to paste into. + * @param parent The parent window containing textArea. + * @param textArea The text area to paste into. */ ClipboardHistoryPopup(Window parent, RTextArea textArea) { super(parent); this.textArea = textArea; JPanel cp = new JPanel(new BorderLayout()); - cp.setBorder(BorderFactory.createCompoundBorder(org.fife.ui.rsyntaxtextarea.focusabletip.TipUtil.getToolTipBorder(), - BorderFactory.createEmptyBorder(2, 5, 5, 5))); + cp.setBorder( + BorderFactory.createCompoundBorder(org.fife.ui.rsyntaxtextarea.focusabletip.TipUtil.getToolTipBorder(), + BorderFactory.createEmptyBorder(2, 5, 5, 5))); cp.setBackground(org.fife.ui.rsyntaxtextarea.focusabletip.TipUtil.getToolTipBackground()); setContentPane(cp); ResourceBundle msg = ResourceBundle.getBundle(MSG); @@ -87,7 +86,7 @@ class ClipboardHistoryPopup extends JWindow { listener = new Listener(); setLocation(); } - + /** * Overridden to ensure this popup stays in a specific size range. */ @@ -100,7 +99,7 @@ class ClipboardHistoryPopup extends JWindow { } return size; } - + /** * Inserts the selected item into the editor and disposes of this popup. */ @@ -113,7 +112,7 @@ class ClipboardHistoryPopup extends JWindow { ClipboardHistory.get().add(text); // Move this item to the top } } - + /** * Adds key bindings to this popup. */ @@ -125,16 +124,15 @@ class ClipboardHistoryPopup extends JWindow { am.put("onEscape", new EscapeAction()); list.getInputMap().remove(escapeKS); } - + public void setContents(List contents) { list.setContents(contents); // Must re-size since we now have data! pack(); } - + /** - * Positions this popup to be in the top right-hand corner of the parent - * editor. + * Positions this popup to be in the top right-hand corner of the parent editor. */ private void setLocation() { Rectangle r = null; @@ -172,7 +170,7 @@ class ClipboardHistoryPopup extends JWindow { } setLocation(x, y); } - + @Override public void setVisible(boolean visible) { if (list.getModel().getSize() == 0) { @@ -183,7 +181,7 @@ class ClipboardHistoryPopup extends JWindow { updateTextAreaCaret(visible); if (visible) { SwingUtilities.invokeLater(new Runnable() { - + @Override public void run() { requestFocus(); @@ -195,14 +193,12 @@ class ClipboardHistoryPopup extends JWindow { }); } } - + /** - * (Possibly) toggles the "always visible" state of the text area's - * caret. + * (Possibly) toggles the "always visible" state of the text area's caret. * - * @param visible - * Whether this popup window was just made visible (as - * opposed to hidden). + * @param visible Whether this popup window was just made visible (as opposed to + * hidden). */ private void updateTextAreaCaret(boolean visible) { Caret caret = textArea.getCaret(); @@ -216,27 +212,27 @@ class ClipboardHistoryPopup extends JWindow { } } } - + /** * Action performed when Escape is pressed in this popup. */ private class EscapeAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { listener.uninstallAndHide(); } } - + /** * Listens for events in this popup. */ private class Listener extends WindowAdapter implements ComponentListener { - + Listener() { addWindowFocusListener(this); list.addMouseListener(new MouseAdapter() { - + @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { @@ -246,7 +242,7 @@ class ClipboardHistoryPopup extends JWindow { }); list.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "onEnter"); list.getActionMap().put("onEnter", new AbstractAction() { - + @Override public void actionPerformed(ActionEvent e) { insertSelectedItem(); @@ -258,44 +254,44 @@ class ClipboardHistoryPopup extends JWindow { parent.addWindowListener(this); parent.addComponentListener(this); } - + @Override public void componentResized(ComponentEvent e) { uninstallAndHide(); } - + @Override public void componentMoved(ComponentEvent e) { uninstallAndHide(); } - + @Override public void componentShown(ComponentEvent e) { uninstallAndHide(); } - + @Override public void componentHidden(ComponentEvent e) { uninstallAndHide(); } - + @Override public void windowActivated(WindowEvent e) { checkForParentWindowEvent(e); } - + @Override public void windowLostFocus(WindowEvent e) { if (e.getSource() == ClipboardHistoryPopup.this) { uninstallAndHide(); } } - + @Override public void windowIconified(WindowEvent e) { checkForParentWindowEvent(e); } - + private boolean checkForParentWindowEvent(WindowEvent e) { if (e.getSource() == getParent()) { uninstallAndHide(); @@ -303,7 +299,7 @@ class ClipboardHistoryPopup extends JWindow { } return false; } - + private void uninstallAndHide() { Window parent = (Window) getParent(); parent.removeWindowFocusListener(this); @@ -314,24 +310,24 @@ class ClipboardHistoryPopup extends JWindow { dispose(); } } - + /** * The list component used in this popup. */ private static final class ChoiceList extends JList { - + private ChoiceList() { super(new DefaultListModel()); setSelectionMode(ListSelectionModel.SINGLE_SELECTION); installKeyboardActions(); } - + private void installKeyboardActions() { InputMap im = getInputMap(); ActionMap am = getActionMap(); im.put(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0), "onDown"); am.put("onDown", new AbstractAction() { - + @Override public void actionPerformed(ActionEvent e) { int index = (getSelectedIndex() + 1) % getModel().getSize(); @@ -341,7 +337,7 @@ class ClipboardHistoryPopup extends JWindow { }); im.put(KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0), "onUp"); am.put("onUp", new AbstractAction() { - + @Override public void actionPerformed(ActionEvent e) { int index = getSelectedIndex() - 1; @@ -353,7 +349,7 @@ class ClipboardHistoryPopup extends JWindow { } }); } - + private void setContents(List contents) { DefaultListModel model = (DefaultListModel) getModel(); model.clear(); @@ -363,18 +359,18 @@ class ClipboardHistoryPopup extends JWindow { setVisibleRowCount(Math.min(model.getSize(), 8)); } } - + /** - * Entries in the choices list are of this type. This truncates entries - * that are too long. In the future it can provide more information - * (line count for multi-line pastes, etc.). + * Entries in the choices list are of this type. This truncates entries that are + * too long. In the future it can provide more information (line count for + * multi-line pastes, etc.). */ private static class LabelValuePair { - + private String label; private String value; private static final int LABEL_MAX_LENGTH = 50; - + LabelValuePair(String value) { this.label = this.value = value; int newline = label.indexOf('\n'); @@ -393,7 +389,7 @@ class ClipboardHistoryPopup extends JWindow { label += "..."; } } - + @Override public String toString() { return label; diff --git a/src/org/fife/ui/rtextarea/ColorBackgroundPainterStrategy.java b/src/org/fife/ui/rtextarea/ColorBackgroundPainterStrategy.java index 5f14371..148494b 100644 --- a/src/org/fife/ui/rtextarea/ColorBackgroundPainterStrategy.java +++ b/src/org/fife/ui/rtextarea/ColorBackgroundPainterStrategy.java @@ -12,44 +12,41 @@ import java.awt.Graphics; import java.awt.Rectangle; /** - * A strategy for painting the background of an RTextAreaBase - * as a solid color. The default background for RTextAreaBases - * is this strategy using the color white. + * A strategy for painting the background of an RTextAreaBase as a + * solid color. The default background for RTextAreaBases is this + * strategy using the color white. * * @author Robert Futrell * @version 0.1 * @see org.fife.ui.rtextarea.ImageBackgroundPainterStrategy */ public class ColorBackgroundPainterStrategy implements BackgroundPainterStrategy { - + private Color color; - + /** * Constructor. * - * @param color - * The color to use when painting the background. + * @param color The color to use when painting the background. */ public ColorBackgroundPainterStrategy(Color color) { setColor(color); } - + /** - * Returns whether or not the specified object is equivalent to - * this one. + * Returns whether or not the specified object is equivalent to this one. * - * @param o2 - * The object to which to compare. + * @param o2 The object to which to compare. * @return Whether o2 is another - * ColorBackgroundPainterStrategy representing - * the same color as this one. + * ColorBackgroundPainterStrategy representing the same + * color as this one. */ @Override public boolean equals(Object o2) { return o2 != null && (o2 instanceof ColorBackgroundPainterStrategy) && this.color.equals(((ColorBackgroundPainterStrategy) o2).getColor()); } - + /** * Returns the color used to paint the background. * @@ -59,11 +56,11 @@ public class ColorBackgroundPainterStrategy implements BackgroundPainterStrategy public Color getColor() { return color; } - + /** - * Returns the hash code to use when placing an object of this type into - * hash maps. This method is implemented since we overrode - * {@link #equals(Object)}, to keep FindBugs happy. + * Returns the hash code to use when placing an object of this type into hash + * maps. This method is implemented since we overrode {@link #equals(Object)}, + * to keep FindBugs happy. * * @return The hash code. */ @@ -71,15 +68,12 @@ public class ColorBackgroundPainterStrategy implements BackgroundPainterStrategy public int hashCode() { return color.hashCode(); } - + /** * Paints the background. * - * @param g - * The graphics context. - * @param bounds - * The bounds of the object whose backgrouns we're - * painting. + * @param g The graphics context. + * @param bounds The bounds of the object whose backgrouns we're painting. */ @Override public void paint(Graphics g, Rectangle bounds) { @@ -88,12 +82,11 @@ public class ColorBackgroundPainterStrategy implements BackgroundPainterStrategy g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height); g.setColor(temp); } - + /** * Sets the color used to paint the background. * - * @param color - * The color to use. + * @param color The color to use. * @see #getColor */ public void setColor(Color color) { diff --git a/src/org/fife/ui/rtextarea/ConfigurableCaret.java b/src/org/fife/ui/rtextarea/ConfigurableCaret.java index 75f4189..2fc0935 100644 --- a/src/org/fife/ui/rtextarea/ConfigurableCaret.java +++ b/src/org/fife/ui/rtextarea/ConfigurableCaret.java @@ -42,21 +42,20 @@ import org.fife.ui.rsyntaxtextarea.folding.FoldManager; * *

          *
        • This caret can render itself many different ways; see the - * {@link #setStyle(CaretStyle)} method and {@link CaretStyle} for - * more information.
        • - *
        • On Microsoft Windows and other operating systems that do not - * support system selection (i.e., selecting text, then pasting - * via the middle mouse button), clicking the middle mouse button - * will cause a regular paste operation to occur. On systems - * that support system selection (i.e., all UNIX variants), - * the middle mouse button will behave normally.
        • + * {@link #setStyle(CaretStyle)} method and {@link CaretStyle} for more + * information. + *
        • On Microsoft Windows and other operating systems that do not support + * system selection (i.e., selecting text, then pasting via the middle mouse + * button), clicking the middle mouse button will cause a regular paste + * operation to occur. On systems that support system selection (i.e., all UNIX + * variants), the middle mouse button will behave normally.
        • *
        * * @author Robert Futrell * @version 0.6 */ public class ConfigurableCaret extends DefaultCaret { - + /** * Action used to select a word on a double click. */ @@ -70,8 +69,8 @@ public class ConfigurableCaret extends DefaultCaret { */ private transient MouseEvent selectedWordEvent = null; /** - * Used for fastest-possible retrieval of the character at the - * caret's position in the document. + * Used for fastest-possible retrieval of the character at the caret's position + * in the document. */ private transient Segment seg; /** @@ -79,8 +78,8 @@ public class ConfigurableCaret extends DefaultCaret { */ private CaretStyle style; /** - * The selection painter. By default this paints selections with the - * text area's selection color. + * The selection painter. By default this paints selections with the text area's + * selection color. */ private ChangeableHighlightPainter selectionPainter; private boolean alwaysVisible; @@ -89,21 +88,19 @@ public class ConfigurableCaret extends DefaultCaret { * editable) on middle-mouse clicks. */ private boolean pasteOnMiddleMouseClick; - + /** * Creates the caret using {@link CaretStyle#THICK_VERTICAL_LINE_STYLE}. */ public ConfigurableCaret() { this(CaretStyle.THICK_VERTICAL_LINE_STYLE); } - + /** * Constructs a new ConfigurableCaret. * - * @param style - * The style to use when painting the caret. If this is - * invalid, then {@link CaretStyle#THICK_VERTICAL_LINE_STYLE} is - * used. + * @param style The style to use when painting the caret. If this is invalid, + * then {@link CaretStyle#THICK_VERTICAL_LINE_STYLE} is used. */ public ConfigurableCaret(CaretStyle style) { seg = new Segment(); @@ -111,7 +108,7 @@ public class ConfigurableCaret extends DefaultCaret { selectionPainter = new ChangeableHighlightPainter(); pasteOnMiddleMouseClick = true; } - + /** * Adjusts the caret location based on the MouseEvent. */ @@ -122,12 +119,11 @@ public class ConfigurableCaret extends DefaultCaret { positionCaret(e); } } - + /** * Adjusts the focus, if necessary. * - * @param inWindow - * if true indicates requestFocusInWindow should be used + * @param inWindow if true indicates requestFocusInWindow should be used */ private void adjustFocus(boolean inWindow) { RTextArea textArea = getTextArea(); @@ -139,13 +135,12 @@ public class ConfigurableCaret extends DefaultCaret { } } } - + /** - * Overridden to damage the correct width of the caret, since this caret - * can be different sizes. + * Overridden to damage the correct width of the caret, since this caret can be + * different sizes. * - * @param r - * The current location of the caret. + * @param r The current location of the caret. */ @Override protected synchronized void damage(Rectangle r) { @@ -158,16 +153,13 @@ public class ConfigurableCaret extends DefaultCaret { repaint(); } } - + /** - * Called when the UI is being removed from the - * interface of a JTextComponent. This is used to - * unregister any listeners that were attached. + * Called when the UI is being removed from the interface of a JTextComponent. + * This is used to unregister any listeners that were attached. * - * @param c - * The text component. If this is not an - * RTextArea, an Exception - * will be thrown. + * @param c The text component. If this is not an RTextArea, an + * Exception will be thrown. */ @Override public void deinstall(JTextComponent c) { @@ -177,10 +169,10 @@ public class ConfigurableCaret extends DefaultCaret { super.deinstall(c); c.setNavigationFilter(null); } - + /** - * Returns whether this caret will paste the contents of the clipboard into - * the editor (assuming it is editable) on middle-mouse-button clicks. + * Returns whether this caret will paste the contents of the clipboard into the + * editor (assuming it is editable) on middle-mouse-button clicks. * * @return Whether a paste operation will be performed. * @see #setPasteOnMiddleMouseClick(boolean) @@ -188,7 +180,7 @@ public class ConfigurableCaret extends DefaultCaret { public boolean getPasteOnMiddleMouseClick() { return pasteOnMiddleMouseClick; } - + /** * Gets the text editor component that this caret is bound to. * @@ -197,7 +189,7 @@ public class ConfigurableCaret extends DefaultCaret { protected RTextArea getTextArea() { return (RTextArea) getComponent(); } - + /** * Returns whether this caret's selection uses rounded edges. * @@ -207,10 +199,10 @@ public class ConfigurableCaret extends DefaultCaret { public boolean getRoundedSelectionEdges() { return ((ChangeableHighlightPainter) getSelectionPainter()).getRoundedEdges(); } - + /** - * Gets the painter for the Highlighter. This is overridden to return - * our custom selection painter. + * Gets the painter for the Highlighter. This is overridden to return our custom + * selection painter. * * @return The painter. */ @@ -218,7 +210,7 @@ public class ConfigurableCaret extends DefaultCaret { protected Highlighter.HighlightPainter getSelectionPainter() { return selectionPainter; } - + /** * Gets the current style of this caret. * @@ -228,13 +220,12 @@ public class ConfigurableCaret extends DefaultCaret { public CaretStyle getStyle() { return style; } - + /** * Installs this caret on a text component. * - * @param c - * The text component. If this is not an {@link RTextArea}, - * an Exception will be thrown. + * @param c The text component. If this is not an {@link RTextArea}, an + * Exception will be thrown. */ @Override public void install(JTextComponent c) { @@ -244,12 +235,12 @@ public class ConfigurableCaret extends DefaultCaret { super.install(c); c.setNavigationFilter(new FoldAwareNavigationFilter()); } - + /** - * Returns whether this caret is always visible (as opposed to - * blinking, or not visible when the editor's window is not focused). - * This can be used by popup windows that want the caret's location - * to still be visible for contextual purposes while they are displayed. + * Returns whether this caret is always visible (as opposed to blinking, or not + * visible when the editor's window is not focused). This can be used by popup + * windows that want the caret's location to still be visible for contextual + * purposes while they are displayed. * * @return Whether this caret is always visible. * @see #setAlwaysVisible(boolean) @@ -257,14 +248,12 @@ public class ConfigurableCaret extends DefaultCaret { public boolean isAlwaysVisible() { return alwaysVisible; } - + /** - * Called when the mouse is clicked. If the click was generated from - * button1, a double click selects a word, and a triple click the - * current line. + * Called when the mouse is clicked. If the click was generated from button1, a + * double click selects a word, and a triple click the current line. * - * @param e - * the mouse event + * @param e the mouse event */ @Override public void mouseClicked(MouseEvent e) { @@ -275,23 +264,24 @@ public class ConfigurableCaret extends DefaultCaret { if (nclicks > 2) { nclicks %= 2; // Alternate selecting word/line. switch (nclicks) { - case 0: - selectWord(e); - selectedWordEvent = null; - break; - case 1: - Action a = null; - ActionMap map = textArea.getActionMap(); - if (map != null) { - a = map.get(RTextAreaEditorKit.selectLineAction); + case 0: + selectWord(e); + selectedWordEvent = null; + break; + case 1: + Action a = null; + ActionMap map = textArea.getActionMap(); + if (map != null) { + a = map.get(RTextAreaEditorKit.selectLineAction); + } + if (a == null) { + if (selectLine == null) { + selectLine = new RTextAreaEditorKit.SelectLineAction(); } - if (a == null) { - if (selectLine == null) { - selectLine = new RTextAreaEditorKit.SelectLineAction(); - } - a = selectLine; - } - a.actionPerformed(new ActionEvent(textArea, ActionEvent.ACTION_PERFORMED, null, e.getWhen(), e.getModifiers())); + a = selectLine; + } + a.actionPerformed(new ActionEvent(textArea, ActionEvent.ACTION_PERFORMED, null, e.getWhen(), + e.getModifiers())); } } } else if (SwingUtilities.isMiddleMouseButton(e) && getPasteOnMiddleMouseClick()) { @@ -334,12 +324,11 @@ public class ConfigurableCaret extends DefaultCaret { } // else if (SwingUtilities.isMiddleMouseButton(e)) } // if (!c.isConsumed()) } - + /** * Overridden to also focus the text component on right mouse clicks. * - * @param e - * The mouse event. + * @param e The mouse event. */ @Override public void mousePressed(MouseEvent e) { @@ -351,12 +340,11 @@ public class ConfigurableCaret extends DefaultCaret { } } } - + /** * Paints the cursor. * - * @param g - * The graphics context in which to paint. + * @param g The graphics context in which to paint. */ @Override public void paint(Graphics g) { @@ -398,49 +386,49 @@ public class ConfigurableCaret extends DefaultCaret { // the caret will expand too far vertically. r.height -= 2; switch (style) { - // Draw a big rectangle, and xor the foreground color. - case BLOCK_STYLE: - Color textAreaBg = textArea.getBackground(); - if (textAreaBg == null) { - textAreaBg = Color.white; - } - g.setXORMode(textAreaBg); - // fills x==r.x to x==(r.x+(r.width)-1), inclusive. - g.fillRect(r.x, r.y, r.width, r.height); - break; - // Draw a rectangular border. - case BLOCK_BORDER_STYLE: - // fills x==r.x to x==(r.x+(r.width-1)), inclusive. - g.drawRect(r.x, r.y, r.width - 1, r.height); - break; - // Draw an "underline" below the current position. - case UNDERLINE_STYLE: - textAreaBg = textArea.getBackground(); - if (textAreaBg == null) { - textAreaBg = Color.white; - } - g.setXORMode(textAreaBg); - int y = r.y + r.height; - g.drawLine(r.x, y, r.x + r.width - 1, y); - break; - // Draw a vertical line. - default: - case VERTICAL_LINE_STYLE: - g.drawLine(r.x, r.y, r.x, r.y + r.height); - break; - // A thicker vertical line. - case THICK_VERTICAL_LINE_STYLE: - g.drawLine(r.x, r.y, r.x, r.y + r.height); - r.x++; - g.drawLine(r.x, r.y, r.x, r.y + r.height); - break; + // Draw a big rectangle, and xor the foreground color. + case BLOCK_STYLE: + Color textAreaBg = textArea.getBackground(); + if (textAreaBg == null) { + textAreaBg = Color.white; + } + g.setXORMode(textAreaBg); + // fills x==r.x to x==(r.x+(r.width)-1), inclusive. + g.fillRect(r.x, r.y, r.width, r.height); + break; + // Draw a rectangular border. + case BLOCK_BORDER_STYLE: + // fills x==r.x to x==(r.x+(r.width-1)), inclusive. + g.drawRect(r.x, r.y, r.width - 1, r.height); + break; + // Draw an "underline" below the current position. + case UNDERLINE_STYLE: + textAreaBg = textArea.getBackground(); + if (textAreaBg == null) { + textAreaBg = Color.white; + } + g.setXORMode(textAreaBg); + int y = r.y + r.height; + g.drawLine(r.x, y, r.x + r.width - 1, y); + break; + // Draw a vertical line. + default: + case VERTICAL_LINE_STYLE: + g.drawLine(r.x, r.y, r.x, r.y + r.height); + break; + // A thicker vertical line. + case THICK_VERTICAL_LINE_STYLE: + g.drawLine(r.x, r.y, r.x, r.y + r.height); + r.x++; + g.drawLine(r.x, r.y, r.x, r.y + r.height); + break; } // End of switch (style). } catch (BadLocationException ble) { ble.printStackTrace(); } } // End of if (isVisible()). } - + /** * Selects word based on a mouse event. */ @@ -464,15 +452,14 @@ public class ConfigurableCaret extends DefaultCaret { a.actionPerformed(new ActionEvent(textArea, ActionEvent.ACTION_PERFORMED, null, e.getWhen(), e.getModifiers())); selectedWordEvent = e; } - + /** - * Toggles whether this caret should always be visible (as opposed to - * blinking, or not visible when the editor's window is not focused). - * This can be used by popup windows that want the caret's location - * to still be visible for contextual purposes while they are displayed. + * Toggles whether this caret should always be visible (as opposed to blinking, + * or not visible when the editor's window is not focused). This can be used by + * popup windows that want the caret's location to still be visible for + * contextual purposes while they are displayed. * - * @param alwaysVisible - * Whether this caret should always be visible. + * @param alwaysVisible Whether this caret should always be visible. * @see #isAlwaysVisible() */ public void setAlwaysVisible(boolean alwaysVisible) { @@ -485,48 +472,44 @@ public class ConfigurableCaret extends DefaultCaret { } } } - + /** - * Sets whether this caret will paste the contents of the clipboard into - * the editor (assuming it is editable) on middle-mouse-button clicks. + * Sets whether this caret will paste the contents of the clipboard into the + * editor (assuming it is editable) on middle-mouse-button clicks. * - * @param paste - * Whether a paste operation will be performed. + * @param paste Whether a paste operation will be performed. * @see #getPasteOnMiddleMouseClick() */ public void setPasteOnMiddleMouseClick(boolean paste) { pasteOnMiddleMouseClick = paste; } - + /** * Sets whether this caret's selection should have rounded edges. * - * @param rounded - * Whether it should have rounded edges. + * @param rounded Whether it should have rounded edges. * @see #getRoundedSelectionEdges() */ public void setRoundedSelectionEdges(boolean rounded) { ((ChangeableHighlightPainter) getSelectionPainter()).setRoundedEdges(rounded); } - + /** - * Overridden to always render the selection, even when the text component - * loses focus. + * Overridden to always render the selection, even when the text component loses + * focus. * - * @param visible - * Whether the selection should be visible. This parameter - * is ignored. + * @param visible Whether the selection should be visible. This parameter is + * ignored. */ @Override public void setSelectionVisible(boolean visible) { super.setSelectionVisible(true); } - + /** * Sets the style used when painting the caret. * - * @param style - * The style to use. This should not be null. + * @param style The style to use. This should not be null. * @see #getStyle() */ public void setStyle(CaretStyle style) { @@ -538,29 +521,25 @@ public class ConfigurableCaret extends DefaultCaret { repaint(); } } - + /** - * Helper function used by the block and underline carets to ensure the - * width of the painted caret is valid. This is done for the following - * reasons: + * Helper function used by the block and underline carets to ensure the width of + * the painted caret is valid. This is done for the following reasons: * *
          - *
        • The View classes in the javax.swing.text package - * always return a width of "1" when modelToView is - * called. We'll be needing the actual width.
        • + *
        • The View classes in the javax.swing.text package always + * return a width of "1" when modelToView is called. We'll be + * needing the actual width.
        • *
        • Even in smart views, such as RSyntaxTextArea's - * SyntaxView and WrappedSyntaxView that - * return the width of the current character, if the caret is at the - * end of a line for example, the width returned from - * modelToView will be 0 (as the width of unprintable - * characters such as '\n' is calculated as 0). In this case, we'll - * use a default width value.
        • + * SyntaxView and WrappedSyntaxView that return the + * width of the current character, if the caret is at the end of a line for + * example, the width returned from modelToView will be 0 (as the + * width of unprintable characters such as '\n' is calculated as 0). In this + * case, we'll use a default width value. *
        * - * @param rect - * The rectangle returned by the current - * View's modelToView - * method for the caret position. + * @param rect The rectangle returned by the current View's + * modelToView method for the caret position. */ private void validateWidth(Rectangle rect) { // If the width value > 1, we assume the View is @@ -595,19 +574,19 @@ public class ConfigurableCaret extends DefaultCaret { } } // End of if (rect!=null && rect.width<=1). } - + /** - * Keeps the caret out of folded regions in edge cases where it doesn't - * happen automatically, for example, when the caret moves automatically in - * response to Document.insert() and Document.remove() calls. Most keyboard - * shortcuts already take folding into account, as do viewToModel() and - * modelToView(), so this filter usually does not do anything. + * Keeps the caret out of folded regions in edge cases where it doesn't happen + * automatically, for example, when the caret moves automatically in response to + * Document.insert() and Document.remove() calls. Most keyboard shortcuts + * already take folding into account, as do viewToModel() and modelToView(), so + * this filter usually does not do anything. *

        * * Common cases: backspacing to visible line of collapsed region. */ private class FoldAwareNavigationFilter extends NavigationFilter { - + @Override public void setDot(FilterBypass fb, int dot, Position.Bias bias) { RTextArea textArea = getTextArea(); @@ -628,7 +607,8 @@ public class ConfigurableCaret extends DefaultCaret { try { if (dot > lastDot) { // Moving to further line int lineCount = textArea.getLineCount(); - while (++line < lineCount && fm.isLineHidden(line)); + while (++line < lineCount && fm.isLineHidden(line)) + ; if (line < lineCount) { dot = textArea.getLineStartOffset(line); } else { // No lower lines visible @@ -637,7 +617,8 @@ public class ConfigurableCaret extends DefaultCaret { } } else if (dot < lastDot) { // Moving to earlier // line - while (--line >= 0 && fm.isLineHidden(line)); + while (--line >= 0 && fm.isLineHidden(line)) + ; if (line >= 0) { dot = textArea.getLineEndOffset(line) - 1; } @@ -651,7 +632,7 @@ public class ConfigurableCaret extends DefaultCaret { } super.setDot(fb, dot, bias); } - + @Override public void moveDot(FilterBypass fb, int dot, Position.Bias bias) { super.moveDot(fb, dot, bias); diff --git a/src/org/fife/ui/rtextarea/FoldIndicator.java b/src/org/fife/ui/rtextarea/FoldIndicator.java index 1bf7001..128e5e8 100644 --- a/src/org/fife/ui/rtextarea/FoldIndicator.java +++ b/src/org/fife/ui/rtextarea/FoldIndicator.java @@ -35,22 +35,22 @@ import org.fife.ui.rsyntaxtextarea.folding.Fold; import org.fife.ui.rsyntaxtextarea.folding.FoldManager; /** - * Component in the gutter that displays +/- icons to expand and collapse - * fold regions in the editor. + * Component in the gutter that displays +/- icons to expand and collapse fold + * regions in the editor. * * @author Robert Futrell * @version 1.0 */ public class FoldIndicator extends AbstractGutterComponent { - + /** - * Used in {@link #paintComponent(Graphics)} to prevent reallocation on - * each paint. + * Used in {@link #paintComponent(Graphics)} to prevent reallocation on each + * paint. */ private Insets textAreaInsets; /** - * Used in {@link #paintComponent(Graphics)} to prevent reallocation on - * each paint. + * Used in {@link #paintComponent(Graphics)} to prevent reallocation on each + * paint. */ private Rectangle visibleRect; /** @@ -58,13 +58,12 @@ public class FoldIndicator extends AbstractGutterComponent { */ private Fold foldWithOutlineShowing; /** - * The color to use for fold icon backgrounds, if the default icons - * are used. + * The color to use for fold icon backgrounds, if the default icons are used. */ private Color foldIconBackground; /** - * The color to use for armed fold icon backgrounds, if the default icons - * are used. This may be {@code null}. + * The color to use for armed fold icon backgrounds, if the default icons are + * used. This may be {@code null}. */ private Color foldIconArmedBackground; /** @@ -76,8 +75,8 @@ public class FoldIndicator extends AbstractGutterComponent { */ private Icon expandedFoldIcon; /** - * Used while painting; global flag to denote whether the mouse is over - * a fold indicator. + * Used while painting; global flag to denote whether the mouse is over a fold + * indicator. */ private boolean mouseOverFoldIcon; /** @@ -86,8 +85,8 @@ public class FoldIndicator extends AbstractGutterComponent { */ private boolean paintFoldArmed; /** - * Whether tool tips are displayed showing the contents of collapsed - * fold regions. + * Whether tool tips are displayed showing the contents of collapsed fold + * regions. */ private boolean showFoldRegionTips; /** @@ -106,15 +105,15 @@ public class FoldIndicator extends AbstractGutterComponent { * Width of this component. */ private static final int WIDTH = 12; - + public FoldIndicator(RTextArea textArea) { super(textArea); } - + /** - * Overridden to use the editor's background if it's detected that the - * user isn't using white as the editor bg, but the system's tool tip - * background is yellow-ish. + * Overridden to use the editor's background if it's detected that the user + * isn't using white as the editor bg, but the system's tool tip background is + * yellow-ish. * * @return The tool tip. */ @@ -133,7 +132,7 @@ public class FoldIndicator extends AbstractGutterComponent { } return tip; } - + private Fold findOpenFoldClosestTo(Point p) { Fold fold = null; mouseOverFoldIcon = false; @@ -158,23 +157,23 @@ public class FoldIndicator extends AbstractGutterComponent { } return fold; } - + /** - * Returns the color to use for the "background" of armed fold icons. This - * is ignored if custom icons are used. + * Returns the color to use for the "background" of armed fold icons. This is + * ignored if custom icons are used. * - * @return The background color. If this is {@code null}, there is no - * special color for armed fold icons. + * @return The background color. If this is {@code null}, there is no special + * color for armed fold icons. * @see #setFoldIconArmedBackground(Color) * @see #getFoldIconBackground() */ public Color getFoldIconArmedBackground() { return foldIconArmedBackground; } - + /** - * Returns the color to use for the "background" of fold icons. This - * is ignored if custom icons are used. + * Returns the color to use for the "background" of fold icons. This is ignored + * if custom icons are used. * * @return The background color. * @see #setFoldIconBackground(Color) @@ -183,16 +182,16 @@ public class FoldIndicator extends AbstractGutterComponent { public Color getFoldIconBackground() { return foldIconBackground; } - + @Override public Dimension getPreferredSize() { int h = textArea != null ? textArea.getHeight() : 100; // Arbitrary return new Dimension(WIDTH, h); } - + /** - * Returns whether tool tips are displayed showing the contents of - * collapsed fold regions when the mouse hovers over a +/- icon. + * Returns whether tool tips are displayed showing the contents of collapsed + * fold regions when the mouse hovers over a +/- icon. * * @return Whether these tool tips are displayed. * @see #setShowCollapsedRegionToolTips(boolean) @@ -200,14 +199,12 @@ public class FoldIndicator extends AbstractGutterComponent { public boolean getShowCollapsedRegionToolTips() { return showFoldRegionTips; } - + /** * Positions tool tips to be aligned in the text component, so that the - * displayed content is shown (almost) exactly where it would be in the - * editor. + * displayed content is shown (almost) exactly where it would be in the editor. * - * @param e - * The mouse location. + * @param e The mouse location. */ @Override public Point getToolTipLocation(MouseEvent e) { @@ -231,12 +228,11 @@ public class FoldIndicator extends AbstractGutterComponent { p.y += 16; return p; } - + /** * Overridden to show the content of a collapsed fold on mouse-overs. * - * @param e - * The mouse location. + * @param e The mouse location. */ @Override public String getToolTipText(MouseEvent e) { @@ -275,7 +271,7 @@ public class FoldIndicator extends AbstractGutterComponent { } return text; } - + @Override void handleDocumentEvent(DocumentEvent e) { int newLineCount = textArea.getLineCount(); @@ -284,7 +280,7 @@ public class FoldIndicator extends AbstractGutterComponent { repaint(); } } - + @Override protected void init() { super.init(); @@ -296,12 +292,12 @@ public class FoldIndicator extends AbstractGutterComponent { visibleRect = new Rectangle(); setShowCollapsedRegionToolTips(true); } - + @Override void lineHeightsChanged() { // TODO Auto-generated method stub } - + @Override protected void paintComponent(Graphics g) { if (textArea == null) { @@ -399,12 +395,11 @@ public class FoldIndicator extends AbstractGutterComponent { y += cellHeight; } } - + /** * Paints folding icons when line wrapping is enabled. * - * @param g - * The graphics context. + * @param g The graphics context. */ private void paintComponentWrapped(Graphics g) { // The variables we use are as follows: @@ -499,7 +494,7 @@ public class FoldIndicator extends AbstractGutterComponent { } } } - + private int rowAtPoint(Point p) { int line = 0; try { @@ -512,43 +507,39 @@ public class FoldIndicator extends AbstractGutterComponent { } return line; } - + /** - * Sets the color to use for the "background" of armed fold icons. This - * will be ignored if custom icons are used. + * Sets the color to use for the "background" of armed fold icons. This will be + * ignored if custom icons are used. * - * @param bg - * The new background color. If {@code null} is passed in, - * there will be no special color for armed fold icons. + * @param bg The new background color. If {@code null} is passed in, there will + * be no special color for armed fold icons. * @see #getFoldIconArmedBackground() * @see #setFoldIconBackground(Color) */ public void setFoldIconArmedBackground(Color bg) { foldIconArmedBackground = bg; } - + /** - * Sets the color to use for the "background" of fold icons. This will - * be ignored if custom icons are used. + * Sets the color to use for the "background" of fold icons. This will be + * ignored if custom icons are used. * - * @param bg - * The new background color. This should not be {@code null}. + * @param bg The new background color. This should not be {@code null}. * @see #getFoldIconBackground() * @see #setFoldIconArmedBackground(Color) */ public void setFoldIconBackground(Color bg) { foldIconBackground = bg; } - + /** * Sets the icons to use to represent collapsed and expanded folds. * - * @param collapsedIcon - * The collapsed fold icon. This cannot be - * null. - * @param expandedIcon - * The expanded fold icon. This cannot be - * null. + * @param collapsedIcon The collapsed fold icon. This cannot be + * null. + * @param expandedIcon The expanded fold icon. This cannot be + * null. */ public void setFoldIcons(Icon collapsedIcon, Icon expandedIcon) { this.collapsedFoldIcon = collapsedIcon; @@ -556,13 +547,12 @@ public class FoldIndicator extends AbstractGutterComponent { revalidate(); // Icons may be different sizes. repaint(); } - + /** * Toggles whether tool tips should be displayed showing the contents of * collapsed fold regions when the mouse hovers over a +/- icon. * - * @param show - * Whether to show these tool tips. + * @param show Whether to show these tool tips. * @see #getShowCollapsedRegionToolTips() */ public void setShowCollapsedRegionToolTips(boolean show) { @@ -575,7 +565,7 @@ public class FoldIndicator extends AbstractGutterComponent { showFoldRegionTips = show; } } - + /** * Overridden so we can track when code folding is enabled/disabled. */ @@ -589,28 +579,28 @@ public class FoldIndicator extends AbstractGutterComponent { this.textArea.addPropertyChangeListener(RSyntaxTextArea.CODE_FOLDING_PROPERTY, listener); } } - + /** * The default +/- icon for expanding and collapsing folds. */ private class FoldIcon implements Icon { - + private boolean collapsed; - + FoldIcon(boolean collapsed) { this.collapsed = collapsed; } - + @Override public int getIconHeight() { return 8; } - + @Override public int getIconWidth() { return 8; } - + @Override public void paintIcon(Component c, Graphics g, int x, int y) { Color bg = foldIconBackground; @@ -627,17 +617,17 @@ public class FoldIndicator extends AbstractGutterComponent { } } } - + /** * Listens for events in this component. */ private class Listener extends MouseInputAdapter implements PropertyChangeListener { - + Listener(FoldIndicator fgc) { fgc.addMouseListener(this); fgc.addMouseMotionListener(this); } - + @Override public void mouseClicked(MouseEvent e) { Point p = e.getPoint(); @@ -651,7 +641,7 @@ public class FoldIndicator extends AbstractGutterComponent { textArea.repaint(); } } - + @Override public void mouseExited(MouseEvent e) { if (foldWithOutlineShowing != null) { @@ -660,19 +650,20 @@ public class FoldIndicator extends AbstractGutterComponent { repaint(); } } - + @Override public void mouseMoved(MouseEvent e) { boolean oldMouseOverFoldIcon = mouseOverFoldIcon; Fold newSelectedFold = findOpenFoldClosestTo(e.getPoint()); - if (newSelectedFold != foldWithOutlineShowing && newSelectedFold != null && !newSelectedFold.isOnSingleLine()) { + if (newSelectedFold != foldWithOutlineShowing && newSelectedFold != null + && !newSelectedFold.isOnSingleLine()) { foldWithOutlineShowing = newSelectedFold; repaint(); } else if (mouseOverFoldIcon != oldMouseOverFoldIcon) { repaint(); } } - + @Override public void propertyChange(PropertyChangeEvent e) { // Whether folding is enabled in the editor has changed. diff --git a/src/org/fife/ui/rtextarea/Gutter.java b/src/org/fife/ui/rtextarea/Gutter.java index ff84f3e..faf7494 100644 --- a/src/org/fife/ui/rtextarea/Gutter.java +++ b/src/org/fife/ui/rtextarea/Gutter.java @@ -40,20 +40,20 @@ import org.fife.ui.rsyntaxtextarea.folding.FoldManager; *

        * * Icons can be added on a per-line basis to visually mark syntax errors, lines - * with breakpoints set on them, etc. To add icons to the gutter, you must - * first call {@link RTextScrollPane#setIconRowHeaderEnabled(boolean)} on the - * parent scroll pane, to make the icon area visible. Then, you can add icons - * that track either lines in the document, or offsets, via + * with breakpoints set on them, etc. To add icons to the gutter, you must first + * call {@link RTextScrollPane#setIconRowHeaderEnabled(boolean)} on the parent + * scroll pane, to make the icon area visible. Then, you can add icons that + * track either lines in the document, or offsets, via * {@link #addLineTrackingIcon(int, Icon)} and - * {@link #addOffsetTrackingIcon(int, Icon)}, respectively. To remove an - * icon you've added, use {@link #removeTrackingIcon(GutterIconInfo)}. + * {@link #addOffsetTrackingIcon(int, Icon)}, respectively. To remove an icon + * you've added, use {@link #removeTrackingIcon(GutterIconInfo)}. *

        * - * In addition to support for arbitrary per-line icons, this component also - * has built-in support for displaying icons representing "bookmarks;" that is, + * In addition to support for arbitrary per-line icons, this component also has + * built-in support for displaying icons representing "bookmarks;" that is, * lines a user can cycle through via F2 and Shift+F2. Bookmarked lines are - * toggled via Ctrl+F2. In order to enable bookmarking, you must first assign - * an icon to represent a bookmarked line, then actually enable the feature: + * toggled via Ctrl+F2. In order to enable bookmarking, you must first assign an + * icon to represent a bookmarked line, then actually enable the feature: * *

          * Gutter gutter = scrollPane.getGutter();
        @@ -66,7 +66,7 @@ import org.fife.ui.rsyntaxtextarea.folding.FoldManager;
          * @see GutterIconInfo
          */
         public class Gutter extends JPanel {
        -	
        +
         	/**
         	 * The color used to highlight active line ranges if none is specified.
         	 */
        @@ -96,8 +96,8 @@ public class Gutter extends JPanel {
         	 */
         	private IconRowHeader iconArea;
         	/**
        -	 * Whether the icon area inherits the gutter background (as opposed to
        -	 * painting with its own, default "panel" color).
        +	 * Whether the icon area inherits the gutter background (as opposed to painting
        +	 * with its own, default "panel" color).
         	 */
         	private boolean iconRowHeaderInheritsGutterBackground;
         	/**
        @@ -108,12 +108,11 @@ public class Gutter extends JPanel {
         	 * Listens for events in our text area.
         	 */
         	private transient TextAreaListener listener;
        -	
        +
         	/**
         	 * Constructor.
         	 *
        -	 * @param textArea
        -	 *            The parent text area.
        +	 * @param textArea The parent text area.
         	 */
         	public Gutter(RTextArea textArea) {
         		listener = new TextAreaListener();
        @@ -139,22 +138,18 @@ public class Gutter extends JPanel {
         		}
         		setBackground(bg != null ? bg : Color.WHITE);
         	}
        -	
        +
         	/**
        -	 * Adds an icon that tracks an offset in the document, and is displayed
        -	 * adjacent to the line numbers. This is useful for marking things such
        -	 * as source code errors.
        +	 * Adds an icon that tracks an offset in the document, and is displayed adjacent
        +	 * to the line numbers. This is useful for marking things such as source code
        +	 * errors.
         	 *
        -	 * @param line
        -	 *            The line to track (zero-based).
        -	 * @param icon
        -	 *            The icon to display. This should be small (say 16x16).
        +	 * @param line The line to track (zero-based).
        +	 * @param icon The icon to display. This should be small (say 16x16).
         	 * @return A tag for this icon. This can later be used in a call to
        -	 *         {@link #removeTrackingIcon(GutterIconInfo)} to remove this
        -	 *         icon.
        -	 * @throws BadLocationException
        -	 *             If offs is an invalid offset
        -	 *             into the text area.
        +	 *         {@link #removeTrackingIcon(GutterIconInfo)} to remove this icon.
        +	 * @throws BadLocationException If offs is an invalid offset into
        +	 *                              the text area.
         	 * @see #addLineTrackingIcon(int, Icon, String)
         	 * @see #addOffsetTrackingIcon(int, Icon)
         	 * @see #removeTrackingIcon(GutterIconInfo)
        @@ -162,24 +157,19 @@ public class Gutter extends JPanel {
         	public GutterIconInfo addLineTrackingIcon(int line, Icon icon) throws BadLocationException {
         		return addLineTrackingIcon(line, icon, null);
         	}
        -	
        +
         	/**
        -	 * Adds an icon that tracks an offset in the document, and is displayed
        -	 * adjacent to the line numbers. This is useful for marking things such
        -	 * as source code errors.
        +	 * Adds an icon that tracks an offset in the document, and is displayed adjacent
        +	 * to the line numbers. This is useful for marking things such as source code
        +	 * errors.
         	 *
        -	 * @param line
        -	 *            The line to track (zero-based).
        -	 * @param icon
        -	 *            The icon to display. This should be small (say 16x16).
        -	 * @param tip
        -	 *            An optional tool tip for the icon.
        +	 * @param line The line to track (zero-based).
        +	 * @param icon The icon to display. This should be small (say 16x16).
        +	 * @param tip  An optional tool tip for the icon.
         	 * @return A tag for this icon. This can later be used in a call to
        -	 *         {@link #removeTrackingIcon(GutterIconInfo)} to remove this
        -	 *         icon.
        -	 * @throws BadLocationException
        -	 *             If offs is an invalid offset
        -	 *             into the text area.
        +	 *         {@link #removeTrackingIcon(GutterIconInfo)} to remove this icon.
        +	 * @throws BadLocationException If offs is an invalid offset into
        +	 *                              the text area.
         	 * @see #addLineTrackingIcon(int, Icon)
         	 * @see #addOffsetTrackingIcon(int, Icon)
         	 * @see #removeTrackingIcon(GutterIconInfo)
        @@ -188,20 +178,17 @@ public class Gutter extends JPanel {
         		int offs = textArea.getLineStartOffset(line);
         		return addOffsetTrackingIcon(offs, icon, tip);
         	}
        -	
        +
         	/**
        -	 * Adds an icon that tracks an offset in the document, and is displayed
        -	 * adjacent to the line numbers. This is useful for marking things such
        -	 * as source code errors.
        +	 * Adds an icon that tracks an offset in the document, and is displayed adjacent
        +	 * to the line numbers. This is useful for marking things such as source code
        +	 * errors.
         	 *
        -	 * @param offs
        -	 *            The offset to track.
        -	 * @param icon
        -	 *            The icon to display. This should be small (say 16x16).
        +	 * @param offs The offset to track.
        +	 * @param icon The icon to display. This should be small (say 16x16).
         	 * @return A tag for this icon.
        -	 * @throws BadLocationException
        -	 *             If offs is an invalid offset
        -	 *             into the text area.
        +	 * @throws BadLocationException If offs is an invalid offset into
        +	 *                              the text area.
         	 * @see #addOffsetTrackingIcon(int, Icon, String)
         	 * @see #addLineTrackingIcon(int, Icon)
         	 * @see #removeTrackingIcon(GutterIconInfo)
        @@ -209,22 +196,18 @@ public class Gutter extends JPanel {
         	public GutterIconInfo addOffsetTrackingIcon(int offs, Icon icon) throws BadLocationException {
         		return addOffsetTrackingIcon(offs, icon, null);
         	}
        -	
        +
         	/**
        -	 * Adds an icon that tracks an offset in the document, and is displayed
        -	 * adjacent to the line numbers. This is useful for marking things such
        -	 * as source code errors.
        +	 * Adds an icon that tracks an offset in the document, and is displayed adjacent
        +	 * to the line numbers. This is useful for marking things such as source code
        +	 * errors.
         	 *
        -	 * @param offs
        -	 *            The offset to track.
        -	 * @param icon
        -	 *            The icon to display. This should be small (say 16x16).
        -	 * @param tip
        -	 *            An optional tool tip for the icon.
        +	 * @param offs The offset to track.
        +	 * @param icon The icon to display. This should be small (say 16x16).
        +	 * @param tip  An optional tool tip for the icon.
         	 * @return A tag for this icon.
        -	 * @throws BadLocationException
        -	 *             If offs is an invalid offset
        -	 *             into the text area.
        +	 * @throws BadLocationException If offs is an invalid offset into
        +	 *                              the text area.
         	 * @see #addOffsetTrackingIcon(int, Icon)
         	 * @see #addLineTrackingIcon(int, Icon)
         	 * @see #removeTrackingIcon(GutterIconInfo)
        @@ -232,7 +215,7 @@ public class Gutter extends JPanel {
         	public GutterIconInfo addOffsetTrackingIcon(int offs, Icon icon, String tip) throws BadLocationException {
         		return iconArea.addOffsetTrackingIcon(offs, icon, tip);
         	}
        -	
        +
         	/**
         	 * Clears the active line range.
         	 *
        @@ -241,7 +224,7 @@ public class Gutter extends JPanel {
         	private void clearActiveLineRange() {
         		iconArea.clearActiveLineRange();
         	}
        -	
        +
         	/**
         	 * Returns the color used to paint the active line range, if any.
         	 *
        @@ -251,10 +234,10 @@ public class Gutter extends JPanel {
         	public Color getActiveLineRangeColor() {
         		return iconArea.getActiveLineRangeColor();
         	}
        -	
        +
         	/**
        -	 * Returns the background color used by the (default) fold icons when they
        -	 * are armed.
        +	 * Returns the background color used by the (default) fold icons when they are
        +	 * armed.
         	 *
         	 * @return The background color.
         	 * @see #setArmedFoldBackground(Color)
        @@ -263,7 +246,7 @@ public class Gutter extends JPanel {
         	public Color getArmedFoldBackground() {
         		return foldIndicator.getFoldIconArmedBackground();
         	}
        -	
        +
         	/**
         	 * Returns the icon to use for bookmarks.
         	 *
        @@ -275,18 +258,17 @@ public class Gutter extends JPanel {
         	public Icon getBookmarkIcon() {
         		return iconArea.getBookmarkIcon();
         	}
        -	
        +
         	/**
         	 * Returns the bookmarks known to this gutter.
         	 *
        -	 * @return The bookmarks. If there are no bookmarks, an empty array is
        -	 *         returned.
        +	 * @return The bookmarks. If there are no bookmarks, an empty array is returned.
         	 * @see #toggleBookmark(int)
         	 */
         	public GutterIconInfo[] getBookmarks() {
         		return iconArea.getBookmarks();
         	}
        -	
        +
         	/**
         	 * Returns the color of the "border" line.
         	 *
        @@ -296,7 +278,7 @@ public class Gutter extends JPanel {
         	public Color getBorderColor() {
         		return ((GutterBorder) getBorder()).getColor();
         	}
        -	
        +
         	/**
         	 * Returns the background color used by the (default) fold icons.
         	 *
        @@ -306,7 +288,7 @@ public class Gutter extends JPanel {
         	public Color getFoldBackground() {
         		return foldIndicator.getFoldIconBackground();
         	}
        -	
        +
         	/**
         	 * Returns the foreground color of the fold indicator.
         	 *
        @@ -316,10 +298,10 @@ public class Gutter extends JPanel {
         	public Color getFoldIndicatorForeground() {
         		return foldIndicator.getForeground();
         	}
        -	
        +
         	/**
        -	 * Returns whether the icon area inherits the gutter background (as opposed
        -	 * to painting with its own, default "panel" color, which is the default).
        +	 * Returns whether the icon area inherits the gutter background (as opposed to
        +	 * painting with its own, default "panel" color, which is the default).
         	 *
         	 * @return Whether the gutter background is used in the icon row header.
         	 * @see #setIconRowHeaderInheritsGutterBackground(boolean)
        @@ -327,7 +309,7 @@ public class Gutter extends JPanel {
         	public boolean getIconRowHeaderInheritsGutterBackground() {
         		return iconRowHeaderInheritsGutterBackground;
         	}
        -	
        +
         	/**
         	 * Returns the color to use to paint line numbers.
         	 *
        @@ -337,7 +319,7 @@ public class Gutter extends JPanel {
         	public Color getLineNumberColor() {
         		return lineNumberColor;
         	}
        -	
        +
         	/**
         	 * Returns the font used for line numbers.
         	 *
        @@ -347,10 +329,9 @@ public class Gutter extends JPanel {
         	public Font getLineNumberFont() {
         		return lineNumberFont;
         	}
        -	
        +
         	/**
        -	 * Returns the starting line's line number. The default value is
        -	 * 1.
        +	 * Returns the starting line's line number. The default value is 1.
         	 *
         	 * @return The index
         	 * @see #setLineNumberingStartIndex(int)
        @@ -358,7 +339,7 @@ public class Gutter extends JPanel {
         	public int getLineNumberingStartIndex() {
         		return lineNumberingStartIndex;
         	}
        -	
        +
         	/**
         	 * Returns true if the line numbers are enabled and visible.
         	 *
        @@ -372,10 +353,10 @@ public class Gutter extends JPanel {
         		}
         		return false;
         	}
        -	
        +
         	/**
        -	 * Returns whether tool tips are displayed showing the contents of
        -	 * collapsed fold regions when the mouse hovers over a +/- icon.
        +	 * Returns whether tool tips are displayed showing the contents of collapsed
        +	 * fold regions when the mouse hovers over a +/- icon.
         	 *
         	 * @return Whether these tool tips are displayed.
         	 * @see #setShowCollapsedRegionToolTips(boolean)
        @@ -383,23 +364,21 @@ public class Gutter extends JPanel {
         	public boolean getShowCollapsedRegionToolTips() {
         		return foldIndicator.getShowCollapsedRegionToolTips();
         	}
        -	
        +
         	/**
         	 * Returns the tracking icons at the specified view position.
         	 *
        -	 * @param p
        -	 *            The view position.
        -	 * @return The tracking icons at that position. If there are no tracking
        -	 *         icons there, this will be an empty array.
        -	 * @throws BadLocationException
        -	 *             If p is invalid.
        +	 * @param p The view position.
        +	 * @return The tracking icons at that position. If there are no tracking icons
        +	 *         there, this will be an empty array.
        +	 * @throws BadLocationException If p is invalid.
         	 */
         	public GutterIconInfo[] getTrackingIcons(Point p) throws BadLocationException {
         		int offs = textArea.viewToModel(new Point(0, p.y));
         		int line = textArea.getLineOfOffset(offs);
         		return iconArea.getTrackingIcons(line);
         	}
        -	
        +
         	/**
         	 * Returns whether the fold indicator is enabled.
         	 *
        @@ -414,7 +393,7 @@ public class Gutter extends JPanel {
         		}
         		return false;
         	}
        -	
        +
         	/**
         	 * Returns whether bookmarking is enabled.
         	 *
        @@ -424,7 +403,7 @@ public class Gutter extends JPanel {
         	public boolean isBookmarkingEnabled() {
         		return iconArea.isBookmarkingEnabled();
         	}
        -	
        +
         	/**
         	 * Returns whether the icon row header is enabled.
         	 *
        @@ -438,7 +417,7 @@ public class Gutter extends JPanel {
         		}
         		return false;
         	}
        -	
        +
         	/**
         	 * Removes all tracking icons.
         	 *
        @@ -448,12 +427,11 @@ public class Gutter extends JPanel {
         	public void removeAllTrackingIcons() {
         		iconArea.removeAllTrackingIcons();
         	}
        -	
        +
         	/**
         	 * Removes the specified tracking icon.
         	 *
        -	 * @param tag
        -	 *            A tag for an icon in the gutter, as returned from either
        +	 * @param tag A tag for an icon in the gutter, as returned from either
         	 *            {@link #addLineTrackingIcon(int, Icon)} or
         	 *            {@link #addOffsetTrackingIcon(int, Icon)}.
         	 * @see #removeAllTrackingIcons()
        @@ -463,68 +441,61 @@ public class Gutter extends JPanel {
         	public void removeTrackingIcon(GutterIconInfo tag) {
         		iconArea.removeTrackingIcon(tag);
         	}
        -	
        +
         	/**
         	 * Sets the color to use to render active line ranges.
         	 *
        -	 * @param color
        -	 *            The color to use. If this is null, then the default
        -	 *            color is used.
        +	 * @param color The color to use. If this is null, then the default color is
        +	 *              used.
         	 * @see #getActiveLineRangeColor()
         	 * @see #DEFAULT_ACTIVE_LINE_RANGE_COLOR
         	 */
         	public void setActiveLineRangeColor(Color color) {
         		iconArea.setActiveLineRangeColor(color);
         	}
        -	
        +
         	/**
        -	 * Highlights a range of lines in the icon area. This, of course, will
        -	 * only be visible if the icon area is visible.
        +	 * Highlights a range of lines in the icon area. This, of course, will only be
        +	 * visible if the icon area is visible.
         	 *
        -	 * @param startLine
        -	 *            The start of the line range.
        -	 * @param endLine
        -	 *            The end of the line range.
        +	 * @param startLine The start of the line range.
        +	 * @param endLine   The end of the line range.
         	 * @see #clearActiveLineRange()
         	 */
         	private void setActiveLineRange(int startLine, int endLine) {
         		iconArea.setActiveLineRange(startLine, endLine);
         	}
        -	
        +
         	/**
        -	 * Sets the background color used by the (default) fold icons when they
        -	 * are armed.
        +	 * Sets the background color used by the (default) fold icons when they are
        +	 * armed.
         	 *
        -	 * @param bg
        -	 *            The new background color. If this is {@code null}, then
        -	 *            armed fold icons will not render with a special color.
        +	 * @param bg The new background color. If this is {@code null}, then armed fold
        +	 *           icons will not render with a special color.
         	 * @see #getArmedFoldBackground()
         	 * @see #setFoldBackground(Color)
         	 */
         	public void setArmedFoldBackground(Color bg) {
         		foldIndicator.setFoldIconArmedBackground(bg);
         	}
        -	
        +
         	/**
         	 * Sets the icon to use for bookmarks.
         	 *
        -	 * @param icon
        -	 *            The new bookmark icon. If this is null,
        -	 *            bookmarking is effectively disabled.
        +	 * @param icon The new bookmark icon. If this is null, bookmarking
        +	 *             is effectively disabled.
         	 * @see #getBookmarkIcon()
         	 * @see #isBookmarkingEnabled()
         	 */
         	public void setBookmarkIcon(Icon icon) {
         		iconArea.setBookmarkIcon(icon);
         	}
        -	
        +
         	/**
        -	 * Sets whether bookmarking is enabled. Note that a bookmarking icon
        -	 * must be set via {@link #setBookmarkIcon(Icon)} before bookmarks are
        -	 * truly enabled.
        +	 * Sets whether bookmarking is enabled. Note that a bookmarking icon must be set
        +	 * via {@link #setBookmarkIcon(Icon)} before bookmarks are truly enabled.
         	 *
        -	 * @param enabled
        -	 *            Whether bookmarking is enabled.
        +	 * @param enabled Whether bookmarking is enabled.
         	 * @see #isBookmarkingEnabled()
         	 * @see #setBookmarkIcon(Icon)
         	 */
        @@ -534,19 +505,18 @@ public class Gutter extends JPanel {
         			setIconRowHeaderEnabled(true);
         		}
         	}
        -	
        +
         	/**
         	 * Sets the color for the "border" line.
         	 *
        -	 * @param color
        -	 *            The new color.
        +	 * @param color The new color.
         	 * @see #getBorderColor()
         	 */
         	public void setBorderColor(Color color) {
         		((GutterBorder) getBorder()).setColor(color);
         		repaint();
         	}
        -	
        +
         	/**
         	 * {@inheritDoc}
         	 */
        @@ -564,28 +534,25 @@ public class Gutter extends JPanel {
         		}
         		super.setComponentOrientation(o);
         	}
        -	
        +
         	/**
         	 * Sets the icons to use to represent collapsed and expanded folds.
         	 *
        -	 * @param collapsedIcon
        -	 *            The collapsed fold icon. This cannot be
        -	 *            null.
        -	 * @param expandedIcon
        -	 *            The expanded fold icon. This cannot be
        -	 *            null.
        +	 * @param collapsedIcon The collapsed fold icon. This cannot be
        +	 *                      null.
        +	 * @param expandedIcon  The expanded fold icon. This cannot be
        +	 *                      null.
         	 */
         	public void setFoldIcons(Icon collapsedIcon, Icon expandedIcon) {
         		if (foldIndicator != null) {
         			foldIndicator.setFoldIcons(collapsedIcon, expandedIcon);
         		}
         	}
        -	
        +
         	/**
         	 * Toggles whether the fold indicator is enabled.
         	 *
        -	 * @param enabled
        -	 *            Whether the fold indicator should be enabled.
        +	 * @param enabled Whether the fold indicator should be enabled.
         	 * @see #isFoldIndicatorEnabled()
         	 */
         	public void setFoldIndicatorEnabled(boolean enabled) {
        @@ -598,12 +565,11 @@ public class Gutter extends JPanel {
         			revalidate();
         		}
         	}
        -	
        +
         	/**
         	 * Sets the background color used by the (default) fold icons.
         	 *
        -	 * @param bg
        -	 *            The new background color.
        +	 * @param bg The new background color.
         	 * @see #getFoldBackground()
         	 * @see #setArmedFoldBackground(Color)
         	 */
        @@ -613,12 +579,11 @@ public class Gutter extends JPanel {
         		}
         		foldIndicator.setFoldIconBackground(bg);
         	}
        -	
        +
         	/**
         	 * Sets the foreground color used by the fold indicator.
         	 *
        -	 * @param fg
        -	 *            The new fold indicator foreground.
        +	 * @param fg The new fold indicator foreground.
         	 * @see #getFoldIndicatorForeground()
         	 */
         	public void setFoldIndicatorForeground(Color fg) {
        @@ -627,13 +592,12 @@ public class Gutter extends JPanel {
         		}
         		foldIndicator.setForeground(fg);
         	}
        -	
        +
         	/**
        -	 * Toggles whether the icon row header (used for breakpoints, bookmarks,
        -	 * etc.) is enabled.
        +	 * Toggles whether the icon row header (used for breakpoints, bookmarks, etc.)
        +	 * is enabled.
         	 *
        -	 * @param enabled
        -	 *            Whether the icon row header is enabled.
        +	 * @param enabled Whether the icon row header is enabled.
         	 * @see #isIconRowHeaderEnabled()
         	 */
         	void setIconRowHeaderEnabled(boolean enabled) {
        @@ -646,15 +610,14 @@ public class Gutter extends JPanel {
         			revalidate();
         		}
         	}
        -	
        +
         	/**
        -	 * Sets whether the icon area inherits the gutter background (as opposed
        -	 * to painting with its own, default "panel" color, which is the default).
        +	 * Sets whether the icon area inherits the gutter background (as opposed to
        +	 * painting with its own, default "panel" color, which is the default).
         	 *
        -	 * @param inherits
        -	 *            Whether the gutter background should be used in the icon
        -	 *            row header. If this is false, a default,
        -	 *            Look-and-feel-dependent color is used.
        +	 * @param inherits Whether the gutter background should be used in the icon row
        +	 *                 header. If this is false, a default,
        +	 *                 Look-and-feel-dependent color is used.
         	 * @see #getIconRowHeaderInheritsGutterBackground()
         	 */
         	public void setIconRowHeaderInheritsGutterBackground(boolean inherits) {
        @@ -665,12 +628,11 @@ public class Gutter extends JPanel {
         			}
         		}
         	}
        -	
        +
         	/**
         	 * Sets the color to use to paint line numbers.
         	 *
        -	 * @param color
        -	 *            The color to use when painting line numbers.
        +	 * @param color The color to use when painting line numbers.
         	 * @see #getLineNumberColor()
         	 */
         	public void setLineNumberColor(Color color) {
        @@ -681,12 +643,11 @@ public class Gutter extends JPanel {
         			}
         		}
         	}
        -	
        +
         	/**
         	 * Sets the font used for line numbers.
         	 *
        -	 * @param font
        -	 *            The font to use. This cannot be null.
        +	 * @param font The font to use. This cannot be null.
         	 * @see #getLineNumberFont()
         	 */
         	public void setLineNumberFont(Font font) {
        @@ -700,14 +661,13 @@ public class Gutter extends JPanel {
         			}
         		}
         	}
        -	
        +
         	/**
        -	 * Sets the starting line's line number. The default value is
        -	 * 1. Applications can call this method to change this value
        -	 * if they are displaying a subset of lines in a file, for example.
        +	 * Sets the starting line's line number. The default value is 1.
        +	 * Applications can call this method to change this value if they are displaying
        +	 * a subset of lines in a file, for example.
         	 *
        -	 * @param index
        -	 *            The new index.
        +	 * @param index The new index.
         	 * @see #getLineNumberingStartIndex()
         	 */
         	public void setLineNumberingStartIndex(int index) {
        @@ -716,12 +676,11 @@ public class Gutter extends JPanel {
         			lineNumberList.setLineNumberingStartIndex(index);
         		}
         	}
        -	
        +
         	/**
         	 * Toggles whether or not line numbers are visible.
         	 *
        -	 * @param enabled
        -	 *            Whether or not line numbers should be visible.
        +	 * @param enabled Whether or not line numbers should be visible.
         	 * @see #getLineNumbersEnabled()
         	 */
         	void setLineNumbersEnabled(boolean enabled) {
        @@ -734,13 +693,12 @@ public class Gutter extends JPanel {
         			revalidate();
         		}
         	}
        -	
        +
         	/**
         	 * Toggles whether tool tips should be displayed showing the contents of
         	 * collapsed fold regions when the mouse hovers over a +/- icon.
         	 *
        -	 * @param show
        -	 *            Whether to show these tool tips.
        +	 * @param show Whether to show these tool tips.
         	 * @see #getShowCollapsedRegionToolTips()
         	 */
         	public void setShowCollapsedRegionToolTips(boolean show) {
        @@ -748,13 +706,12 @@ public class Gutter extends JPanel {
         			foldIndicator.setShowCollapsedRegionToolTips(show);
         		}
         	}
        -	
        +
         	/**
        -	 * Sets the text area being displayed. This will clear any tracking
        -	 * icons currently displayed.
        +	 * Sets the text area being displayed. This will clear any tracking icons
        +	 * currently displayed.
         	 *
        -	 * @param textArea
        -	 *            The text area.
        +	 * @param textArea The text area.
         	 */
         	void setTextArea(RTextArea textArea) {
         		if (this.textArea != null) {
        @@ -785,23 +742,21 @@ public class Gutter extends JPanel {
         		}
         		this.textArea = textArea;
         	}
        -	
        +
         	/**
        -	 * Programatically toggles whether there is a bookmark for the specified
        -	 * line. If bookmarking is not enabled, this method does nothing.
        +	 * Programatically toggles whether there is a bookmark for the specified line.
        +	 * If bookmarking is not enabled, this method does nothing.
         	 *
        -	 * @param line
        -	 *            The line.
        +	 * @param line The line.
         	 * @return Whether a bookmark is now at the specified line.
        -	 * @throws BadLocationException
        -	 *             If line is an invalid line
        -	 *             number in the text area.
        +	 * @throws BadLocationException If line is an invalid line number
        +	 *                              in the text area.
         	 * @see #getBookmarks()
         	 */
         	public boolean toggleBookmark(int line) throws BadLocationException {
         		return iconArea.toggleBookmark(line);
         	}
        -	
        +
         	// public void setUI(ComponentUI ui) {
         	//
         	// Border gutterBorder = getBorder();
        @@ -824,25 +779,25 @@ public class Gutter extends JPanel {
         			super.setBorder(border);
         		}
         	}
        -	
        +
         	/**
         	 * The border used by the gutter.
         	 */
         	public static class GutterBorder extends EmptyBorder {
        -		
        +
         		private Color color;
         		private Rectangle visibleRect;
        -		
        +
         		public GutterBorder(int top, int left, int bottom, int right) {
         			super(top, left, bottom, right);
         			color = new Color(221, 221, 221);
         			visibleRect = new Rectangle();
         		}
        -		
        +
         		public Color getColor() {
         			return color;
         		}
        -		
        +
         		@Override
         		public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
         			visibleRect = g.getClipBounds(visibleRect);
        @@ -856,11 +811,11 @@ public class Gutter extends JPanel {
         				g.drawLine(width - 1, visibleRect.y, width - 1, visibleRect.y + visibleRect.height);
         			}
         		}
        -		
        +
         		public void setColor(Color color) {
         			this.color = color;
         		}
        -		
        +
         		public void setEdges(int top, int left, int bottom, int right) {
         			this.top = top;
         			this.left = left;
        @@ -868,12 +823,13 @@ public class Gutter extends JPanel {
         			this.right = right;
         		}
         	}
        -	
        +
         	/**
         	 * Listens for the text area resizing.
         	 */
        -	private class TextAreaListener extends ComponentAdapter implements DocumentListener, PropertyChangeListener, ActiveLineRangeListener {
        -		
        +	private class TextAreaListener extends ComponentAdapter
        +			implements DocumentListener, PropertyChangeListener, ActiveLineRangeListener {
        +
         		// This is necessary to keep child components the same height as the
         		// text
         		// area. The worse case is when the user toggles word-wrap and it
        @@ -884,12 +840,11 @@ public class Gutter extends JPanel {
         		// instead for ComponentEvents so we change size after the text area has
         		// resized.
         		private boolean installed;
        -		
        +
         		/**
         		 * Modifies the "active line range" that is painted in this component.
         		 *
        -		 * @param e
        -		 *            Information about the new "active line range."
        +		 * @param e Information about the new "active line range."
         		 */
         		@Override
         		public void activeLineRangeChanged(ActiveLineRangeEvent e) {
        @@ -899,27 +854,28 @@ public class Gutter extends JPanel {
         				setActiveLineRange(e.getMin(), e.getMax());
         			}
         		}
        -		
        +
         		@Override
        -		public void changedUpdate(DocumentEvent e) {}
        -		
        +		public void changedUpdate(DocumentEvent e) {
        +		}
        +
         		@Override
         		public void componentResized(java.awt.event.ComponentEvent e) {
         			revalidate();
         		}
        -		
        +
         		protected void handleDocumentEvent(DocumentEvent e) {
         			for (int i = 0; i < getComponentCount(); i++) {
         				AbstractGutterComponent agc = (AbstractGutterComponent) getComponent(i);
         				agc.handleDocumentEvent(e);
         			}
         		}
        -		
        +
         		@Override
         		public void insertUpdate(DocumentEvent e) {
         			handleDocumentEvent(e);
         		}
        -		
        +
         		public void install(RTextArea textArea) {
         			if (installed) {
         				uninstall();
        @@ -934,7 +890,7 @@ public class Gutter extends JPanel {
         			}
         			installed = true;
         		}
        -		
        +
         		@Override
         		public void propertyChange(PropertyChangeEvent e) {
         			String name = e.getPropertyName();
        @@ -970,12 +926,12 @@ public class Gutter extends JPanel {
         				}
         			}
         		}
        -		
        +
         		@Override
         		public void removeUpdate(DocumentEvent e) {
         			handleDocumentEvent(e);
         		}
        -		
        +
         		public void uninstall() {
         			if (installed) {
         				textArea.removeComponentListener(this);
        diff --git a/src/org/fife/ui/rtextarea/GutterIconInfo.java b/src/org/fife/ui/rtextarea/GutterIconInfo.java
        index 1acc89f..a8749e2 100644
        --- a/src/org/fife/ui/rtextarea/GutterIconInfo.java
        +++ b/src/org/fife/ui/rtextarea/GutterIconInfo.java
        @@ -11,32 +11,32 @@ import javax.swing.Icon;
         /**
          * Information about an icon displayed in a {@link Gutter}. Instances of this
          * class are returned by {@link Gutter#addLineTrackingIcon(int, Icon)} and
        - * {@link Gutter#addOffsetTrackingIcon(int, Icon)}. They can later be used
        - * in calls to {@link Gutter#removeTrackingIcon(GutterIconInfo)} to be
        - * individually removed.
        + * {@link Gutter#addOffsetTrackingIcon(int, Icon)}. They can later be used in
        + * calls to {@link Gutter#removeTrackingIcon(GutterIconInfo)} to be individually
        + * removed.
          *
          * @author Robert Futrell
          * @version 1.0
          * @see Gutter
          */
         public interface GutterIconInfo {
        -	
        +
         	/**
         	 * Returns the icon being rendered.
         	 *
         	 * @return The icon being rendered.
         	 */
         	Icon getIcon();
        -	
        +
         	/**
        -	 * Returns the offset that is being tracked. The line of this offset is
        -	 * where the icon is rendered. This offset may change as the user types
        -	 * to track the new location of the marked offset.
        +	 * Returns the offset that is being tracked. The line of this offset is where
        +	 * the icon is rendered. This offset may change as the user types to track the
        +	 * new location of the marked offset.
         	 *
         	 * @return The offset being tracked.
         	 */
         	int getMarkedOffset();
        -	
        +
         	/**
         	 * Returns the tool tip to display when the mouse hovers over this icon.
         	 *
        diff --git a/src/org/fife/ui/rtextarea/IconGroup.java b/src/org/fife/ui/rtextarea/IconGroup.java
        index 56e4b3d..74edc73 100644
        --- a/src/org/fife/ui/rtextarea/IconGroup.java
        +++ b/src/org/fife/ui/rtextarea/IconGroup.java
        @@ -18,15 +18,15 @@ import javax.swing.ImageIcon;
         
         /**
          * This class encapsulates the location, properties, etc. of an icon set used
        - * for an instance of RTextArea. If the location of the icon
        - * group is invalid in any way, any attempt to retrieve icons from an icon
        - * group will return null.
        + * for an instance of RTextArea. If the location of the icon group
        + * is invalid in any way, any attempt to retrieve icons from an icon group will
        + * return null.
          *
          * @author Robert Futrell
          * @version 0.5
          */
         public class IconGroup {
        -	
        +
         	private String path;
         	private boolean separateLargeIcons;
         	private String largeIconSubDir;
        @@ -34,76 +34,62 @@ public class IconGroup {
         	private String name;
         	private String jarFile;
         	private static final String DEFAULT_EXTENSION = "gif";
        -	
        +
         	/**
         	 * Creates an icon set without "large versions" of the icons.
         	 *
        -	 * @param name
        -	 *            The name of the icon group.
        -	 * @param path
        -	 *            The directory containing the icon group.
        +	 * @param name The name of the icon group.
        +	 * @param path The directory containing the icon group.
         	 */
         	public IconGroup(String name, String path) {
         		this(name, path, null);
         	}
        -	
        +
         	/**
         	 * Constructor.
         	 *
        -	 * @param name
        -	 *            The name of the icon group.
        -	 * @param path
        -	 *            The directory containing the icon group.
        -	 * @param largeIconSubDir
        -	 *            The subdirectory containing "large versions" of
        -	 *            the icons. If no subdirectory exists, pass in
        -	 *            null.
        +	 * @param name            The name of the icon group.
        +	 * @param path            The directory containing the icon group.
        +	 * @param largeIconSubDir The subdirectory containing "large versions" of the
        +	 *                        icons. If no subdirectory exists, pass in
        +	 *                        null.
         	 */
         	public IconGroup(String name, String path, String largeIconSubDir) {
         		this(name, path, largeIconSubDir, DEFAULT_EXTENSION);
         	}
        -	
        +
         	/**
         	 * Constructor.
         	 *
        -	 * @param name
        -	 *            The name of the icon group.
        -	 * @param path
        -	 *            The directory containing the icon group.
        -	 * @param largeIconSubDir
        -	 *            The subdirectory containing "large versions" of
        -	 *            the icons. If no subdirectory exists, pass in
        -	 *            null.
        -	 * @param extension
        -	 *            The extension of the icons (one of gif,
        -	 *            jpg, or png).
        +	 * @param name            The name of the icon group.
        +	 * @param path            The directory containing the icon group.
        +	 * @param largeIconSubDir The subdirectory containing "large versions" of the
        +	 *                        icons. If no subdirectory exists, pass in
        +	 *                        null.
        +	 * @param extension       The extension of the icons (one of gif,
        +	 *                        jpg, or png).
         	 */
         	public IconGroup(String name, String path, String largeIconSubDir, String extension) {
         		this(name, path, largeIconSubDir, extension, null);
         	}
        -	
        +
         	/**
         	 * Constructor.
         	 *
        -	 * @param name
        -	 *            The name of the icon group.
        -	 * @param path
        -	 *            The directory containing the icon group.
        -	 * @param largeIconSubDir
        -	 *            The subdirectory containing "large versions" of
        -	 *            the icons. If no subdirectory exists, pass in
        -	 *            null.
        -	 * @param extension
        -	 *            The extension of the icons (one of gif,
        -	 *            jpg, or png).
        -	 * @param jar
        -	 *            The Jar file containing the icons, or null if
        -	 *            the icons are on the local file system. If a Jar is specified,
        -	 *            the value of path must be a path in the Jar file.
        -	 *            If this is not a valid Jar file, then no Jar file will be
        -	 *            used,
        -	 *            meaning all icons returned from this icon group will be
        -	 *            null.
        +	 * @param name            The name of the icon group.
        +	 * @param path            The directory containing the icon group.
        +	 * @param largeIconSubDir The subdirectory containing "large versions" of the
        +	 *                        icons. If no subdirectory exists, pass in
        +	 *                        null.
        +	 * @param extension       The extension of the icons (one of gif,
        +	 *                        jpg, or png).
        +	 * @param jar             The Jar file containing the icons, or
        +	 *                        null if the icons are on the local file
        +	 *                        system. If a Jar is specified, the value of
        +	 *                        path must be a path in the Jar file. If
        +	 *                        this is not a valid Jar file, then no Jar file will be
        +	 *                        used, meaning all icons returned from this icon group
        +	 *                        will be null.
         	 */
         	public IconGroup(String name, String path, String largeIconSubDir, String extension, String jar) {
         		this.name = name;
        @@ -116,14 +102,12 @@ public class IconGroup {
         		this.extension = extension != null ? extension : DEFAULT_EXTENSION;
         		this.jarFile = jar;
         	}
        -	
        +
         	/**
         	 * Returns whether two icon groups are equal.
         	 *
        -	 * @param o2
        -	 *            The object to check against.
        -	 * @return Whether o2 represents the same icons as this icon
        -	 *         group.
        +	 * @param o2 The object to check against.
        +	 * @return Whether o2 represents the same icons as this icon group.
         	 */
         	@Override
         	public boolean equals(Object o2) {
        @@ -141,16 +125,13 @@ public class IconGroup {
         		}
         		return false;
         	}
        -	
        +
         	/**
         	 * Returns the icon from this icon group with the specified name.
         	 *
        -	 * @param name
        -	 *            The name of the icon. For example, if you want the icon
        -	 *            specified in new.gif, this value should be
        -	 *            new.
        -	 * @return The icon, or null if it could not be found or
        -	 *         loaded.
        +	 * @param name The name of the icon. For example, if you want the icon specified
        +	 *             in new.gif, this value should be new.
        +	 * @return The icon, or null if it could not be found or loaded.
         	 * @see #getLargeIcon
         	 */
         	public Icon getIcon(String name) {
        @@ -165,14 +146,13 @@ public class IconGroup {
         		}
         		return icon;
         	}
        -	
        +
         	/**
         	 * Does the dirty work of loading an image.
         	 *
        -	 * @param iconFullPath
        -	 *            The full path to the icon, either on the local
        -	 *            file system or in the Jar file, if this icon group represents
        -	 *            icons in a Jar file.
        +	 * @param iconFullPath The full path to the icon, either on the local file
        +	 *                     system or in the Jar file, if this icon group represents
        +	 *                     icons in a Jar file.
         	 * @return The icon.
         	 */
         	private Icon getIconImpl(String iconFullPath) {
        @@ -198,24 +178,20 @@ public class IconGroup {
         			return null;
         		}
         	}
        -	
        +
         	/**
        -	 * Returns the large icon from this icon group with the specified name.
        -	 * If this icon group does not have large icons, null is
        -	 * returned.
        +	 * Returns the large icon from this icon group with the specified name. If this
        +	 * icon group does not have large icons, null is returned.
         	 *
        -	 * @param name
        -	 *            The name of the icon. For example, if you want the icon
        -	 *            specified in new.gif, this value should be
        -	 *            new.
        -	 * @return The icon, or null if it could not be found or
        -	 *         loaded.
        +	 * @param name The name of the icon. For example, if you want the icon specified
        +	 *             in new.gif, this value should be new.
        +	 * @return The icon, or null if it could not be found or loaded.
         	 * @see #getLargeIcon
         	 */
         	public Icon getLargeIcon(String name) {
         		return getIconImpl(path + largeIconSubDir + "/" + name + "." + extension);
         	}
        -	
        +
         	/**
         	 * Returns the name of this icon group.
         	 *
        @@ -224,22 +200,21 @@ public class IconGroup {
         	public String getName() {
         		return name;
         	}
        -	
        +
         	/**
         	 * Returns whether a separate directory for the large icons exists.
         	 *
        -	 * @return Whether a directory containing "large versions" ov the icons
        -	 *         exists.
        +	 * @return Whether a directory containing "large versions" ov the icons exists.
         	 * @see #getLargeIcon(String)
         	 */
         	public boolean hasSeparateLargeIcons() {
         		return separateLargeIcons;
         	}
        -	
        +
         	/**
        -	 * Overridden since we also override {@link #equals(Object)}, to honor
        -	 * the invariant that equal objects must have equal hashcodes. This also
        -	 * keeps FindBugs happy.
        +	 * Overridden since we also override {@link #equals(Object)}, to honor the
        +	 * invariant that equal objects must have equal hashcodes. This also keeps
        +	 * FindBugs happy.
         	 */
         	@Override
         	public int hashCode() {
        diff --git a/src/org/fife/ui/rtextarea/IconRowHeader.java b/src/org/fife/ui/rtextarea/IconRowHeader.java
        index cf5995d..78910cf 100644
        --- a/src/org/fife/ui/rtextarea/IconRowHeader.java
        +++ b/src/org/fife/ui/rtextarea/IconRowHeader.java
        @@ -31,16 +31,16 @@ import javax.swing.text.Position;
         import javax.swing.text.View;
         
         /**
        - * Renders icons in the {@link Gutter}. This can be used to visually mark
        - * lines containing syntax errors, lines with breakpoints set on them, etc.
        + * Renders icons in the {@link Gutter}. This can be used to visually mark lines
        + * containing syntax errors, lines with breakpoints set on them, etc.
          * 

        * * This component has built-in support for displaying icons representing * "bookmarks;" that is, lines a user can cycle through via F2 and Shift+F2. - * Bookmarked lines are toggled via Ctrl+F2, or by clicking in the icon area - * at the line to bookmark. In order to enable bookmarking, you must first - * assign an icon to represent a bookmarked line, then actually enable the - * feature. This is actually done on the parent {@link Gutter} component: + * Bookmarked lines are toggled via Ctrl+F2, or by clicking in the icon area at + * the line to bookmark. In order to enable bookmarking, you must first assign + * an icon to represent a bookmarked line, then actually enable the feature. + * This is actually done on the parent {@link Gutter} component: *

        * *

        @@ -54,7 +54,7 @@ import javax.swing.text.View;
          * @see org.fife.ui.rsyntaxtextarea.FoldingAwareIconRowHeader
          */
         public class IconRowHeader extends AbstractGutterComponent implements MouseListener {
        -	
        +
         	/**
         	 * The icons to render.
         	 */
        @@ -64,8 +64,8 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         	 */
         	protected int width;
         	/**
        -	 * Whether this component listens for mouse clicks and toggles "bookmark"
        -	 * icons on them.
        +	 * Whether this component listens for mouse clicks and toggles "bookmark" icons
        +	 * on them.
         	 */
         	private boolean bookmarkingEnabled;
         	/**
        @@ -73,13 +73,13 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         	 */
         	private Icon bookmarkIcon;
         	/**
        -	 * Used in {@link #paintComponent(Graphics)} to prevent reallocation on
        -	 * each paint.
        +	 * Used in {@link #paintComponent(Graphics)} to prevent reallocation on each
        +	 * paint.
         	 */
         	protected Rectangle visibleRect;
         	/**
        -	 * Used in {@link #paintComponent(Graphics)} to prevent reallocation on
        -	 * each paint.
        +	 * Used in {@link #paintComponent(Graphics)} to prevent reallocation on each
        +	 * paint.
         	 */
         	protected Insets textAreaInsets;
         	/**
        @@ -95,56 +95,47 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         	 */
         	private Color activeLineRangeColor;
         	/**
        -	 * Whether this component should use the gutter's background color (as
        -	 * opposed to using a LookAndFeel-dependent color, which is the default
        -	 * behavior).
        +	 * Whether this component should use the gutter's background color (as opposed
        +	 * to using a LookAndFeel-dependent color, which is the default behavior).
         	 */
         	private boolean inheritsGutterBackground;
        -	
        +
         	/**
         	 * Constructor.
         	 *
        -	 * @param textArea
        -	 *            The parent text area.
        +	 * @param textArea The parent text area.
         	 */
         	public IconRowHeader(RTextArea textArea) {
         		super(textArea);
         	}
        -	
        +
         	/**
        -	 * Adds an icon that tracks an offset in the document, and is displayed
        -	 * adjacent to the line numbers. This is useful for marking things such
        -	 * as source code errors.
        +	 * Adds an icon that tracks an offset in the document, and is displayed adjacent
        +	 * to the line numbers. This is useful for marking things such as source code
        +	 * errors.
         	 *
        -	 * @param offs
        -	 *            The offset to track.
        -	 * @param icon
        -	 *            The icon to display. This should be small (say 16x16).
        +	 * @param offs The offset to track.
        +	 * @param icon The icon to display. This should be small (say 16x16).
         	 * @return A tag for this icon.
        -	 * @throws BadLocationException
        -	 *             If offs is an invalid offset
        -	 *             into the text area.
        +	 * @throws BadLocationException If offs is an invalid offset into
        +	 *                              the text area.
         	 * @see #removeTrackingIcon(Object)
         	 */
         	public GutterIconInfo addOffsetTrackingIcon(int offs, Icon icon) throws BadLocationException {
         		return addOffsetTrackingIcon(offs, icon, null);
         	}
        -	
        +
         	/**
        -	 * Adds an icon that tracks an offset in the document, and is displayed
        -	 * adjacent to the line numbers. This is useful for marking things such
        -	 * as source code errors.
        +	 * Adds an icon that tracks an offset in the document, and is displayed adjacent
        +	 * to the line numbers. This is useful for marking things such as source code
        +	 * errors.
         	 *
        -	 * @param offs
        -	 *            The offset to track.
        -	 * @param icon
        -	 *            The icon to display. This should be small (say 16x16).
        -	 * @param tip
        -	 *            A tool tip for the icon.
        +	 * @param offs The offset to track.
        +	 * @param icon The icon to display. This should be small (say 16x16).
        +	 * @param tip  A tool tip for the icon.
         	 * @return A tag for this icon.
        -	 * @throws BadLocationException
        -	 *             If offs is an invalid offset
        -	 *             into the text area.
        +	 * @throws BadLocationException If offs is an invalid offset into
        +	 *                              the text area.
         	 * @see #removeTrackingIcon(Object)
         	 */
         	public GutterIconInfo addOffsetTrackingIcon(int offs, Icon icon, String tip) throws BadLocationException {
        @@ -152,8 +143,8 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		// when creating sticky positions for offsets that do not exist.
         		// We must check for that ourselves.
         		if (offs < 0 || offs > textArea.getDocument().getLength()) {
        -			throw new BadLocationException("Offset " + offs + " not in " + "required range of 0-" + textArea.getDocument().getLength(),
        -					offs);
        +			throw new BadLocationException(
        +					"Offset " + offs + " not in " + "required range of 0-" + textArea.getDocument().getLength(), offs);
         		}
         		Position pos = textArea.getDocument().createPosition(offs);
         		GutterIconImpl ti = new GutterIconImpl(icon, pos, tip);
        @@ -168,7 +159,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		repaint();
         		return ti;
         	}
        -	
        +
         	/**
         	 * Clears the active line range.
         	 *
        @@ -180,7 +171,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			repaint();
         		}
         	}
        -	
        +
         	/**
         	 * Returns the color used to paint the active line range, if any.
         	 *
        @@ -190,7 +181,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         	public Color getActiveLineRangeColor() {
         		return activeLineRangeColor;
         	}
        -	
        +
         	/**
         	 * Returns the icon to use for bookmarks.
         	 *
        @@ -202,12 +193,11 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         	public Icon getBookmarkIcon() {
         		return bookmarkIcon;
         	}
        -	
        +
         	/**
         	 * Returns the bookmarks known to this gutter.
         	 *
        -	 * @return The bookmarks. If there are no bookmarks, an empty array is
        -	 *         returned.
        +	 * @return The bookmarks. If there are no bookmarks, an empty array is returned.
         	 */
         	public GutterIconInfo[] getBookmarks() {
         		List retVal = new ArrayList(1);
        @@ -222,7 +212,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		GutterIconInfo[] array = new GutterIconInfo[retVal.size()];
         		return retVal.toArray(array);
         	}
        -	
        +
         	/**
         	 * {@inheritDoc}
         	 */
        @@ -234,7 +224,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			repaint();
         		}
         	}
        -	
        +
         	/**
         	 * {@inheritDoc}
         	 */
        @@ -243,12 +233,11 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		int h = textArea != null ? textArea.getHeight() : 100; // Arbitrary
         		return new Dimension(width, h);
         	}
        -	
        +
         	/**
         	 * Overridden to display the tool tip of any icons on this line.
         	 *
        -	 * @param e
        -	 *            The location the mouse is hovering over.
        +	 * @param e The location the mouse is hovering over.
         	 */
         	@Override
         	public String getToolTipText(MouseEvent e) {
        @@ -266,20 +255,18 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		}
         		return null;
         	}
        -	
        +
         	protected GutterIconImpl getTrackingIcon(int index) {
         		return trackingIcons.get(index);
         	}
        -	
        +
         	/**
         	 * Returns the tracking icons at the specified line.
         	 *
        -	 * @param line
        -	 *            The line.
        -	 * @return The tracking icons at that line. If there are no tracking
        -	 *         icons there, this will be an empty array.
        -	 * @throws BadLocationException
        -	 *             If line is invalid.
        +	 * @param line The line.
        +	 * @return The tracking icons at that line. If there are no tracking icons
        +	 *         there, this will be an empty array.
        +	 * @throws BadLocationException If line is invalid.
         	 */
         	public GutterIconInfo[] getTrackingIcons(int line) throws BadLocationException {
         		List retVal = new ArrayList(1);
        @@ -302,7 +289,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		GutterIconInfo[] array = new GutterIconInfo[retVal.size()];
         		return retVal.toArray(array);
         	}
        -	
        +
         	@Override
         	protected void init() {
         		super.init();
        @@ -316,7 +303,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		updateBackground();
         		ToolTipManager.sharedInstance().registerComponent(this);
         	}
        -	
        +
         	/**
         	 * Returns whether bookmarking is enabled.
         	 *
        @@ -326,7 +313,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         	public boolean isBookmarkingEnabled() {
         		return bookmarkingEnabled;
         	}
        -	
        +
         	/**
         	 * {@inheritDoc}
         	 */
        @@ -334,16 +321,19 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         	void lineHeightsChanged() {
         		repaint();
         	}
        -	
        +
         	@Override
        -	public void mouseClicked(MouseEvent e) {}
        -	
        +	public void mouseClicked(MouseEvent e) {
        +	}
        +
         	@Override
        -	public void mouseEntered(MouseEvent e) {}
        -	
        +	public void mouseEntered(MouseEvent e) {
        +	}
        +
         	@Override
        -	public void mouseExited(MouseEvent e) {}
        -	
        +	public void mouseExited(MouseEvent e) {
        +	}
        +
         	@Override
         	public void mousePressed(MouseEvent e) {
         		if (bookmarkingEnabled && bookmarkIcon != null) {
        @@ -357,10 +347,11 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			}
         		}
         	}
        -	
        +
         	@Override
        -	public void mouseReleased(MouseEvent e) {}
        -	
        +	public void mouseReleased(MouseEvent e) {
        +	}
        +
         	/**
         	 * {@inheritDoc}
         	 */
        @@ -448,14 +439,12 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			}
         		}
         	}
        -	
        +
         	/**
         	 * Paints the background of this component.
         	 *
        -	 * @param g
        -	 *            The graphics context.
        -	 * @param visibleRect
        -	 *            The visible bounds of this component.
        +	 * @param g           The graphics context.
        +	 * @param visibleRect The visible bounds of this component.
         	 */
         	protected void paintBackgroundImpl(Graphics g, Rectangle visibleRect) {
         		Color bg = getBackground();
        @@ -465,12 +454,11 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		g.setColor(bg);
         		g.fillRect(0, visibleRect.y, width, visibleRect.height);
         	}
        -	
        +
         	/**
         	 * Paints icons when line wrapping is enabled.
         	 *
        -	 * @param g
        -	 *            The graphics context.
        +	 * @param g The graphics context.
         	 */
         	private void paintComponentWrapped(Graphics g) {
         		// The variables we use are as follows:
        @@ -538,12 +526,10 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			r = getChildViewBounds(v, topLine, visibleEditorRect);
         			// int lineEndY = r.y+r.height;
         			/*
        -			 * // Highlight the current line's line number, if desired.
        -			 * if (currentLineHighlighted && topLine==currentLine) {
        -			 * g.setColor(textArea.getCurrentLineHighlightColor());
        -			 * g.fillRect(0,y, width,lineEndY-y);
        -			 * g.setColor(getForeground());
        -			 * }
        +			 * // Highlight the current line's line number, if desired. if
        +			 * (currentLineHighlighted && topLine==currentLine) {
        +			 * g.setColor(textArea.getCurrentLineHighlightColor()); g.fillRect(0,y,
        +			 * width,lineEndY-y); g.setColor(getForeground()); }
         			 */
         			// Possibly paint an icon.
         			if (currentIcon > -1) {
        @@ -581,12 +567,11 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			}
         		}
         	}
        -	
        +
         	/**
         	 * Removes the specified tracking icon.
         	 *
        -	 * @param tag
        -	 *            A tag for a tracking icon.
        +	 * @param tag A tag for a tracking icon.
         	 * @see #removeAllTrackingIcons()
         	 * @see #addOffsetTrackingIcon(int, Icon)
         	 */
        @@ -595,7 +580,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			repaint();
         		}
         	}
        -	
        +
         	/**
         	 * Removes all tracking icons.
         	 *
        @@ -608,7 +593,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			repaint();
         		}
         	}
        -	
        +
         	/**
         	 * Removes all bookmark tracking icons.
         	 */
        @@ -622,14 +607,12 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			}
         		}
         	}
        -	
        +
         	/**
         	 * Highlights a range of lines in the icon area.
         	 *
        -	 * @param startLine
        -	 *            The start of the line range.
        -	 * @param endLine
        -	 *            The end of the line range.
        +	 * @param startLine The start of the line range.
        +	 * @param endLine   The end of the line range.
         	 * @see #clearActiveLineRange()
         	 */
         	public void setActiveLineRange(int startLine, int endLine) {
        @@ -639,13 +622,12 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			repaint();
         		}
         	}
        -	
        +
         	/**
         	 * Sets the color to use to render active line ranges.
         	 *
        -	 * @param color
        -	 *            The color to use. If this is null, then the default
        -	 *            color is used.
        +	 * @param color The color to use. If this is null, then the default color is
        +	 *              used.
         	 * @see #getActiveLineRangeColor()
         	 * @see Gutter#DEFAULT_ACTIVE_LINE_RANGE_COLOR
         	 */
        @@ -658,14 +640,12 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			repaint();
         		}
         	}
        -	
        +
         	/**
        -	 * Sets the icon to use for bookmarks. Any previous bookmark icons
        -	 * are removed.
        +	 * Sets the icon to use for bookmarks. Any previous bookmark icons are removed.
         	 *
        -	 * @param icon
        -	 *            The new bookmark icon. If this is null,
        -	 *            bookmarking is effectively disabled.
        +	 * @param icon The new bookmark icon. If this is null, bookmarking
        +	 *             is effectively disabled.
         	 * @see #getBookmarkIcon()
         	 * @see #isBookmarkingEnabled()
         	 */
        @@ -674,15 +654,13 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		bookmarkIcon = icon;
         		repaint();
         	}
        -	
        +
         	/**
        -	 * Sets whether bookmarking is enabled. Note that a bookmarking icon
        -	 * must be set via {@link #setBookmarkIcon(Icon)} before bookmarks are
        -	 * truly enabled.
        +	 * Sets whether bookmarking is enabled. Note that a bookmarking icon must be set
        +	 * via {@link #setBookmarkIcon(Icon)} before bookmarks are truly enabled.
         	 *
        -	 * @param enabled
        -	 *            Whether bookmarking is enabled. If this is
        -	 *            false, any bookmark icons are removed.
        +	 * @param enabled Whether bookmarking is enabled. If this is false,
        +	 *                any bookmark icons are removed.
         	 * @see #isBookmarkingEnabled()
         	 * @see #setBookmarkIcon(Icon)
         	 */
        @@ -695,15 +673,14 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			repaint();
         		}
         	}
        -	
        +
         	/**
        -	 * Sets whether the icon area inherits the gutter background (as opposed
        -	 * to painting with its own, default "panel" color, which is the default).
        +	 * Sets whether the icon area inherits the gutter background (as opposed to
        +	 * painting with its own, default "panel" color, which is the default).
         	 *
        -	 * @param inherits
        -	 *            Whether the gutter background should be used in the icon
        -	 *            row header. If this is false, a default,
        -	 *            Look-and-feel-dependent color is used.
        +	 * @param inherits Whether the gutter background should be used in the icon row
        +	 *                 header. If this is false, a default,
        +	 *                 Look-and-feel-dependent color is used.
         	 */
         	public void setInheritsGutterBackground(boolean inherits) {
         		if (inherits != inheritsGutterBackground) {
        @@ -711,30 +688,27 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			repaint();
         		}
         	}
        -	
        +
         	/**
        -	 * Sets the text area being displayed. This will clear any tracking
        -	 * icons currently displayed.
        +	 * Sets the text area being displayed. This will clear any tracking icons
        +	 * currently displayed.
         	 *
        -	 * @param textArea
        -	 *            The text area.
        +	 * @param textArea The text area.
         	 */
         	@Override
         	public void setTextArea(RTextArea textArea) {
         		removeAllTrackingIcons();
         		super.setTextArea(textArea);
         	}
        -	
        +
         	/**
        -	 * Programatically toggles whether there is a bookmark for the specified
        -	 * line. If bookmarking is not enabled, this method does nothing.
        +	 * Programatically toggles whether there is a bookmark for the specified line.
        +	 * If bookmarking is not enabled, this method does nothing.
         	 *
        -	 * @param line
        -	 *            The line.
        +	 * @param line The line.
         	 * @return Whether a bookmark is now at the specified line.
        -	 * @throws BadLocationException
        -	 *             If line is an invalid line
        -	 *             number in the text area.
        +	 * @throws BadLocationException If line is an invalid line number
        +	 *                              in the text area.
         	 */
         	public boolean toggleBookmark(int line) throws BadLocationException {
         		if (!isBookmarkingEnabled() || getBookmarkIcon() == null) {
        @@ -765,11 +739,11 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		}
         		return !found;
         	}
        -	
        +
         	/**
        -	 * Sets our background color to that of standard "panels" in this
        -	 * LookAndFeel. This is necessary because, otherwise, we'd inherit the
        -	 * background color of our parent component (the Gutter).
        +	 * Sets our background color to that of standard "panels" in this LookAndFeel.
        +	 * This is necessary because, otherwise, we'd inherit the background color of
        +	 * our parent component (the Gutter).
         	 */
         	private void updateBackground() {
         		Color bg = UIManager.getColor("Panel.background");
        @@ -778,7 +752,7 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		}
         		setBackground(bg);
         	}
        -	
        +
         	/**
         	 * {@inheritDoc}
         	 */
        @@ -787,36 +761,34 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         		super.updateUI(); // Does nothing
         		updateBackground();
         	}
        -	
        +
         	/**
         	 * Returns the line rendered at the specified location.
         	 *
        -	 * @param p
        -	 *            The location in this row header.
        +	 * @param p The location in this row header.
         	 * @return The corresponding line in the editor.
        -	 * @throws BadLocationException
        -	 *             ble If an error occurs.
        +	 * @throws BadLocationException ble If an error occurs.
         	 */
         	private int viewToModelLine(Point p) throws BadLocationException {
         		int offs = textArea.viewToModel(p);
         		return offs > -1 ? textArea.getLineOfOffset(offs) : -1;
         	}
        -	
        +
         	/**
         	 * Implementation of the icons rendered.
         	 */
         	private static class GutterIconImpl implements GutterIconInfo, Comparable {
        -		
        +
         		private Icon icon;
         		private Position pos;
         		private String toolTip;
        -		
        +
         		GutterIconImpl(Icon icon, Position pos, String toolTip) {
         			this.icon = icon;
         			this.pos = pos;
         			this.toolTip = toolTip;
         		}
        -		
        +
         		@Override
         		public int compareTo(GutterIconInfo other) {
         			if (other != null) {
        @@ -824,27 +796,27 @@ public class IconRowHeader extends AbstractGutterComponent implements MouseListe
         			}
         			return -1;
         		}
        -		
        +
         		@Override
         		public boolean equals(Object o) {
         			return o == this;
         		}
        -		
        +
         		@Override
         		public Icon getIcon() {
         			return icon;
         		}
        -		
        +
         		@Override
         		public int getMarkedOffset() {
         			return pos.getOffset();
         		}
        -		
        +
         		@Override
         		public String getToolTip() {
         			return toolTip;
         		}
        -		
        +
         		@Override
         		public int hashCode() {
         			return icon.hashCode(); // FindBugs
        diff --git a/src/org/fife/ui/rtextarea/ImageBackgroundPainterStrategy.java b/src/org/fife/ui/rtextarea/ImageBackgroundPainterStrategy.java
        index 66ae04f..c6e4805 100644
        --- a/src/org/fife/ui/rtextarea/ImageBackgroundPainterStrategy.java
        +++ b/src/org/fife/ui/rtextarea/ImageBackgroundPainterStrategy.java
        @@ -17,17 +17,16 @@ import java.net.URL;
         import javax.imageio.ImageIO;
         
         /**
        - * A strategy for painting the background of an RTextAreaBase
        - * as an image. The image is always stretched to completely fill the
        + * A strategy for painting the background of an RTextAreaBase as an
        + * image. The image is always stretched to completely fill the
          * RTextAreaBase.
          * 

        * - * You can set the scaling hint used when stretching/skewing the image - * to fit in the RTextAreaBase's background via the - * setScalingHint method, but keep in mind the more - * accurate the scaling hint, the less responsive your application will - * be when stretching the window (as that's the only time the image's - * size is recalculated). + * You can set the scaling hint used when stretching/skewing the image to fit in + * the RTextAreaBase's background via the + * setScalingHint method, but keep in mind the more accurate the + * scaling hint, the less responsive your application will be when stretching + * the window (as that's the only time the image's size is recalculated). * * @author Robert Futrell * @version 0.1 @@ -35,25 +34,24 @@ import javax.imageio.ImageIO; * @see org.fife.ui.rtextarea.VolatileImageBackgroundPainterStrategy */ public abstract class ImageBackgroundPainterStrategy implements BackgroundPainterStrategy { - + protected MediaTracker tracker; private RTextAreaBase textArea; private Image master; private int oldWidth, oldHeight; private int scalingHint; - + /** * Constructor. * - * @param textArea - * The text area using this image as its background. + * @param textArea The text area using this image as its background. */ public ImageBackgroundPainterStrategy(RTextAreaBase textArea) { this.textArea = textArea; tracker = new MediaTracker(textArea); scalingHint = Image.SCALE_FAST; } - + /** * Returns the text area using this strategy. * @@ -62,18 +60,18 @@ public abstract class ImageBackgroundPainterStrategy implements BackgroundPainte public RTextAreaBase getRTextAreaBase() { return textArea; } - + /** - * Returns the "master" image; that is, the original, unscaled image. - * When the image needs to be rescaled, scaling should be done from - * this image, to prevent repeated scaling from distorting the image. + * Returns the "master" image; that is, the original, unscaled image. When the + * image needs to be rescaled, scaling should be done from this image, to + * prevent repeated scaling from distorting the image. * * @return The master image. */ public Image getMasterImage() { return master; } - + /** * Returns the scaling hint being used. * @@ -83,15 +81,13 @@ public abstract class ImageBackgroundPainterStrategy implements BackgroundPainte public int getScalingHint() { return scalingHint; } - + /** * Paints the image at the specified location and at the specified size. * - * @param g - * The graphics context. - * @param bounds - * The bounds in which to paint the image. The image - * will be scaled to fit exactly in these bounds if necessary. + * @param g The graphics context. + * @param bounds The bounds in which to paint the image. The image will be + * scaled to fit exactly in these bounds if necessary. */ @Override public final void paint(Graphics g, Rectangle bounds) { @@ -102,38 +98,30 @@ public abstract class ImageBackgroundPainterStrategy implements BackgroundPainte } paintImage(g, bounds.x, bounds.y); } - + /** - * Paints the image at the specified location. This method assumes - * scaling has already been done, and simply paints the background - * image "as-is." + * Paints the image at the specified location. This method assumes scaling has + * already been done, and simply paints the background image "as-is." * - * @param g - * The graphics context. - * @param x - * The x-coordinate at which to paint. - * @param y - * The y-coordinate at which to paint. + * @param g The graphics context. + * @param x The x-coordinate at which to paint. + * @param y The y-coordinate at which to paint. */ protected abstract void paintImage(Graphics g, int x, int y); - + /** * Rescales the displayed image to be the specified size. * - * @param width - * The new width of the image. - * @param height - * The new height of the image. - * @param hint - * The scaling hint to use. + * @param width The new width of the image. + * @param height The new height of the image. + * @param hint The scaling hint to use. */ protected abstract void rescaleImage(int width, int height, int hint); - + /** * Sets the image this background painter displays. * - * @param imageURL - * URL of a file containing the image to display. + * @param imageURL URL of a file containing the image to display. */ public void setImage(URL imageURL) { BufferedImage image = null; @@ -144,23 +132,21 @@ public abstract class ImageBackgroundPainterStrategy implements BackgroundPainte } setImage(image); } - + /** * Sets the image this background painter displays. * - * @param image - * The new image to use for the background. + * @param image The new image to use for the background. */ public void setImage(Image image) { master = image; oldWidth = -1; // To trick us into fixing bgImage. } - + /** * Sets the scaling hint to use when scaling the image. * - * @param hint - * The hint to apply; e.g. Image.SCALE_DEFAULT. + * @param hint The hint to apply; e.g. Image.SCALE_DEFAULT. * @see #getScalingHint */ public void setScalingHint(int hint) { diff --git a/src/org/fife/ui/rtextarea/LineHighlightManager.java b/src/org/fife/ui/rtextarea/LineHighlightManager.java index f7c720f..a257c2f 100644 --- a/src/org/fife/ui/rtextarea/LineHighlightManager.java +++ b/src/org/fife/ui/rtextarea/LineHighlightManager.java @@ -24,33 +24,28 @@ import javax.swing.text.Position; * @version 1.0 */ class LineHighlightManager { - + private RTextArea textArea; private List lineHighlights; private LineHighlightInfoComparator comparator; - + /** * Constructor. * - * @param textArea - * The parent text area. + * @param textArea The parent text area. */ LineHighlightManager(RTextArea textArea) { this.textArea = textArea; comparator = new LineHighlightInfoComparator(); } - + /** * Highlights the specified line. * - * @param line - * The line to highlight. - * @param color - * The color to highlight with. + * @param line The line to highlight. + * @param color The color to highlight with. * @return A tag for the highlight. - * @throws BadLocationException - * If line is not a valid line - * number. + * @throws BadLocationException If line is not a valid line number. * @see #removeLineHighlight(Object) */ public Object addLineHighlight(int line, Color color) throws BadLocationException { @@ -67,17 +62,17 @@ class LineHighlightManager { repaintLine(lhi); return lhi; } - + /** * Returns the current line highlights' tags. * - * @return The current line highlights' tags, or an empty list if there - * are none. + * @return The current line highlights' tags, or an empty list if there are + * none. */ protected List getCurrentLineHighlightTags() { return lineHighlights == null ? Collections.emptyList() : new ArrayList(lineHighlights); } - + /** * Returns the current number of line highlights. Useful for testing. * @@ -86,12 +81,11 @@ class LineHighlightManager { protected int getLineHighlightCount() { return lineHighlights == null ? 0 : lineHighlights.size(); } - + /** * Paints any highlighted lines in the specified line range. * - * @param g - * The graphics context. + * @param g The graphics context. */ public void paintLineHighlights(Graphics g) { int count = lineHighlights == null ? 0 : lineHighlights.size(); @@ -120,7 +114,7 @@ class LineHighlightManager { } } } - + /** * Removes all line highlights. * @@ -132,12 +126,11 @@ class LineHighlightManager { textArea.repaint(); } } - + /** * Removes a line highlight. * - * @param tag - * The tag of the line highlight to remove. + * @param tag The tag of the line highlight to remove. * @see #addLineHighlight(int, Color) */ public void removeLineHighlight(Object tag) { @@ -146,12 +139,11 @@ class LineHighlightManager { repaintLine((LineHighlightInfo) tag); } } - + /** * Repaints the line pointed to by the specified highlight information. * - * @param lhi - * The highlight information. + * @param lhi The highlight information. */ private void repaintLine(LineHighlightInfo lhi) { int offs = lhi.getOffset(); @@ -167,44 +159,43 @@ class LineHighlightManager { } } } - + /** * Information about a line highlight. */ private static class LineHighlightInfo { - + private Position offs; private Color color; - + LineHighlightInfo(Position offs, Color c) { this.offs = offs; this.color = c; } - + public Color getColor() { return color; } - + public int getOffset() { return offs.getOffset(); } - + @Override public int hashCode() { return getOffset(); } } - + /** - * Comparator used when adding new highlights. This is done here instead - * of making LineHighlightInfo implement - * Comparable as correctly implementing the latter prevents - * two LHI's pointing to the same line from correctly being distinguished - * from one another. See: + * Comparator used when adding new highlights. This is done here instead of + * making LineHighlightInfo implement Comparable as + * correctly implementing the latter prevents two LHI's pointing to the same + * line from correctly being distinguished from one another. See: * https://github.com/bobbylight/RSyntaxTextArea/issues/161 */ private static class LineHighlightInfoComparator implements Comparator { - + @Override public int compare(LineHighlightInfo lhi1, LineHighlightInfo lhi2) { if (lhi1.getOffset() < lhi2.getOffset()) { diff --git a/src/org/fife/ui/rtextarea/LineNumberList.java b/src/org/fife/ui/rtextarea/LineNumberList.java index 0b00346..a1954bd 100644 --- a/src/org/fife/ui/rtextarea/LineNumberList.java +++ b/src/org/fife/ui/rtextarea/LineNumberList.java @@ -41,7 +41,7 @@ import org.fife.ui.rsyntaxtextarea.folding.FoldManager; * @version 1.0 */ public class LineNumberList extends AbstractGutterComponent implements MouseInputListener { - + private int currentLine; // The last line the caret was on. private int lastY = -1; // Used to check if caret changes lines when line // wrap is enabled. @@ -57,43 +57,39 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu */ private Listener l; /** - * Used in {@link #paintComponent(Graphics)} to prevent reallocation on - * each paint. + * Used in {@link #paintComponent(Graphics)} to prevent reallocation on each + * paint. */ private Insets textAreaInsets; /** - * Used in {@link #paintComponent(Graphics)} to prevent reallocation on - * each paint. + * Used in {@link #paintComponent(Graphics)} to prevent reallocation on each + * paint. */ private Rectangle visibleRect; /** * The index at which line numbering should start. The default value is - * 1, but applications can change this if, for example, they - * are displaying a subset of lines in a file. + * 1, but applications can change this if, for example, they are + * displaying a subset of lines in a file. */ private int lineNumberingStartIndex; - + /** - * Constructs a new LineNumberList using default values for - * line number color (gray) and highlighting the current line. + * Constructs a new LineNumberList using default values for line + * number color (gray) and highlighting the current line. * - * @param textArea - * The text component for which line numbers will be - * displayed. + * @param textArea The text component for which line numbers will be displayed. */ public LineNumberList(RTextArea textArea) { this(textArea, null); } - + /** * Constructs a new LineNumberList. * - * @param textArea - * The text component for which line numbers will be - * displayed. - * @param numberColor - * The color to use for the line numbers. If this is - * null, gray will be used. + * @param textArea The text component for which line numbers will be + * displayed. + * @param numberColor The color to use for the line numbers. If this is + * null, gray will be used. */ public LineNumberList(RTextArea textArea, Color numberColor) { super(textArea); @@ -103,11 +99,11 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu setForeground(Color.GRAY); } } - + /** * Overridden to set width of this component correctly when we are first - * displayed (as keying off of the RTextArea gives us (0,0) when it isn't - * yet displayed. + * displayed (as keying off of the RTextArea gives us (0,0) when it isn't yet + * displayed. */ @Override public void addNotify() { @@ -118,7 +114,7 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu updateCellWidths(); updateCellHeights(); } - + /** * Calculates the last line number index painted in this component. * @@ -131,10 +127,9 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu } return lastLine; } - + /** - * Returns the starting line's line number. The default value is - * 1. + * Returns the starting line's line number. The default value is 1. * * @return The index * @see #setLineNumberingStartIndex(int) @@ -142,7 +137,7 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu public int getLineNumberingStartIndex() { return lineNumberingStartIndex; } - + /** * {@inheritDoc} */ @@ -151,10 +146,10 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu int h = textArea != null ? textArea.getHeight() : 100; // Arbitrary return new Dimension(cellWidth, h); } - + /** - * Returns the width of the empty border on this component's right-hand - * side (or left-hand side, if the orientation is RTL). + * Returns the width of the empty border on this component's right-hand side (or + * left-hand side, if the orientation is RTL). * * @return The border width. */ @@ -167,7 +162,7 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu } return w; } - + /** * {@inheritDoc} */ @@ -184,7 +179,7 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu repaint(); } } - + @Override protected void init() { super.init(); @@ -197,7 +192,7 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu addMouseMotionListener(this); aaHints = RSyntaxUtilities.getDesktopAntiAliasHints(); } - + /** * {@inheritDoc} */ @@ -205,10 +200,11 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu void lineHeightsChanged() { updateCellHeights(); } - + @Override - public void mouseClicked(MouseEvent e) {} - + public void mouseClicked(MouseEvent e) { + } + @Override public void mouseDragged(MouseEvent e) { if (mouseDragStartOffset > -1) { @@ -219,16 +215,19 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu } } } - + @Override - public void mouseEntered(MouseEvent e) {} - + public void mouseEntered(MouseEvent e) { + } + @Override - public void mouseExited(MouseEvent e) {} - + public void mouseExited(MouseEvent e) { + } + @Override - public void mouseMoved(MouseEvent e) {} - + public void mouseMoved(MouseEvent e) { + } + @Override public void mousePressed(MouseEvent e) { if (textArea == null) { @@ -244,15 +243,15 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu mouseDragStartOffset = -1; } } - + @Override - public void mouseReleased(MouseEvent e) {} - + public void mouseReleased(MouseEvent e) { + } + /** * Paints this component. * - * @param g - * The graphics context. + * @param g The graphics context. */ @Override protected void paintComponent(Graphics g) { @@ -301,13 +300,12 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu } final int rhsBorderWidth = getRhsBorderWidth(); /* - * // Highlight the current line's line number, if desired. - * if (textArea.getHighlightCurrentLine() && currentLine>=topLine && + * // Highlight the current line's line number, if desired. if + * (textArea.getHighlightCurrentLine() && currentLine>=topLine && * currentLine<=bottomLine) { * g.setColor(textArea.getCurrentLineHighlightColor()); * g.fillRect(0,actualTopY+(currentLine-topLine)*cellHeight, - * cellWidth,cellHeight); - * } + * cellWidth,cellHeight); } */ // Paint line numbers g.setColor(getForeground()); @@ -360,14 +358,12 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu } } } - + /** * Paints line numbers for text areas with line wrap enabled. * - * @param g - * The graphics context. - * @param visibleRect - * The visible rectangle of these line numbers. + * @param g The graphics context. + * @param visibleRect The visible rectangle of these line numbers. */ private void paintWrappedLineNumbers(Graphics g, Rectangle visibleRect) { // The variables we use are as follows: @@ -433,12 +429,10 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu while (y < visibleBottom) { r = LineNumberList.getChildViewBounds(v, topLine, visibleEditorRect); /* - * // Highlight the current line's line number, if desired. - * if (currentLineHighlighted && topLine==currentLine) { - * g.setColor(textArea.getCurrentLineHighlightColor()); - * g.fillRect(0,y, width,(r.y+r.height)-y); - * g.setColor(getForeground()); - * } + * // Highlight the current line's line number, if desired. if + * (currentLineHighlighted && topLine==currentLine) { + * g.setColor(textArea.getCurrentLineHighlightColor()); g.fillRect(0,y, + * width,(r.y+r.height)-y); g.setColor(getForeground()); } */ // Paint the line number. int index = (topLine + 1) + getLineNumberingStartIndex() - 1; @@ -467,7 +461,7 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu } } } - + /** * Called when this component is removed from the view hierarchy. */ @@ -478,25 +472,23 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu l.uninstall(textArea); } } - + /** * Repaints a single line in this list. * - * @param line - * The line to repaint. + * @param line The line to repaint. */ private void repaintLine(int line) { int y = textArea.getInsets().top; y += line * cellHeight; repaint(0, y, cellWidth, cellHeight); } - + /** - * Overridden to ensure line number cell sizes are updated with the - * font size change. + * Overridden to ensure line number cell sizes are updated with the font size + * change. * - * @param font - * The new font to use for line numbers. + * @param font The new font to use for line numbers. */ @Override public void setFont(Font font) { @@ -504,14 +496,13 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu updateCellWidths(); updateCellHeights(); } - + /** - * Sets the starting line's line number. The default value is - * 1. Applications can call this method to change this value - * if they are displaying a subset of lines in a file, for example. + * Sets the starting line's line number. The default value is 1. + * Applications can call this method to change this value if they are displaying + * a subset of lines in a file, for example. * - * @param index - * The new index. + * @param index The new index. * @see #getLineNumberingStartIndex() */ public void setLineNumberingStartIndex(int index) { @@ -521,12 +512,11 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu repaint(); } } - + /** * Sets the text area being displayed. * - * @param textArea - * The text area. + * @param textArea The text area. */ @Override public void setTextArea(RTextArea textArea) { @@ -544,11 +534,11 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu updateCellWidths(); } } - + /** * Changes the height of the cells in the JList so that they are as tall as - * font. This function should be called whenever the user changes the Font - * of textArea. + * font. This function should be called whenever the user changes the Font of + * textArea. */ private void updateCellHeights() { if (textArea != null) { @@ -560,10 +550,10 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu } repaint(); } - + /** - * Changes the width of the cells in the JList so you can see every digit - * of each. + * Changes the width of the cells in the JList so you can see every digit of + * each. */ void updateCellWidths() { int oldCellWidth = cellWidth; @@ -586,14 +576,14 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu revalidate(); } } - + /** * Listens for events in the text area we're interested in. */ private class Listener implements CaretListener, PropertyChangeListener { - + private boolean installed; - + @Override public void caretUpdate(CaretEvent e) { int dot = textArea.getCaretPosition(); @@ -624,7 +614,7 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu } } } - + public void install(RTextArea textArea) { if (!installed) { // System.out.println("Installing"); @@ -634,16 +624,17 @@ public class LineNumberList extends AbstractGutterComponent implements MouseInpu installed = true; } } - + @Override public void propertyChange(PropertyChangeEvent e) { String name = e.getPropertyName(); // If they change the current line highlight in any way... - if (RTextArea.HIGHLIGHT_CURRENT_LINE_PROPERTY.equals(name) || RTextArea.CURRENT_LINE_HIGHLIGHT_COLOR_PROPERTY.equals(name)) { + if (RTextArea.HIGHLIGHT_CURRENT_LINE_PROPERTY.equals(name) + || RTextArea.CURRENT_LINE_HIGHLIGHT_COLOR_PROPERTY.equals(name)) { repaintLine(currentLine); } } - + public void uninstall(RTextArea textArea) { if (installed) { // System.out.println("Uninstalling"); diff --git a/src/org/fife/ui/rtextarea/Macro.java b/src/org/fife/ui/rtextarea/Macro.java index d01ff17..5a2ebc2 100644 --- a/src/org/fife/ui/rtextarea/Macro.java +++ b/src/org/fife/ui/rtextarea/Macro.java @@ -48,20 +48,19 @@ import org.xml.sax.InputSource; *
      • {@link RTextArea#beginRecordingMacro()} (this discards the previous * "current" macro, if any) *
      • {@link RTextArea#endRecordingMacro()} (at this point, you could call - * playbackLastMacro() to play this macro immediately if - * desired) + * playbackLastMacro() to play this macro immediately if desired) *
      • {@link RTextArea#getCurrentMacro()}.{@link #saveToFile(File)} * * - * As Macros save themselves as XML files, a common technique is - * to save all macros in files named "{@link #getName()}.xml", and + * As Macros save themselves as XML files, a common technique is to + * save all macros in files named "{@link #getName()}.xml", and * place them all in a common directory. * * @author Robert Futrell * @version 0.1 */ public class Macro { - + private String name; private ArrayList macroRecords; private static final String ROOT_ELEMENT = "macro"; @@ -70,22 +69,20 @@ public class Macro { private static final String ID = "id"; private static final String UNTITLED_MACRO_NAME = ""; private static final String FILE_ENCODING = "UTF-8"; - + /** * Constructor. */ public Macro() { this(UNTITLED_MACRO_NAME); } - + /** * Loads a macro from a file on disk. * - * @param file - * The file from which to load the macro. - * @throws IOException - * If the file does not exist or an I/O exception occurs - * while reading the file. + * @param file The file from which to load the macro. + * @throws IOException If the file does not exist or an I/O exception occurs + * while reading the file. * @see #saveToFile(String) * @see #saveToFile(File) */ @@ -117,24 +114,21 @@ public class Macro { throw new IOException("Error parsing XML!"); } } - + /** * Constructor. * - * @param name - * The name of the macro. + * @param name The name of the macro. */ public Macro(String name) { this(name, null); } - + /** * Constructor. * - * @param name - * The name of the macro. - * @param records - * The initial records of the macro. + * @param name The name of the macro. + * @param records The initial records of the macro. */ public Macro(String name, List records) { this.name = name; @@ -147,12 +141,11 @@ public class Macro { macroRecords = new ArrayList(10); } } - + /** * Adds a macro record to this macro. * - * @param record - * The record to add. If null, nothing happens. + * @param record The record to add. If null, nothing happens. * @see #getMacroRecords */ public void addMacroRecord(MacroRecord record) { @@ -160,7 +153,7 @@ public class Macro { macroRecords.add(record); } } - + /** * Returns the macro records that make up this macro. * @@ -170,11 +163,11 @@ public class Macro { public List getMacroRecords() { return macroRecords; } - + /** * Returns the name of this macro. A macro's name is simply something to - * identify it with in a UI; it has nothing to do with the name of the file - * to save the macro to. + * identify it with in a UI; it has nothing to do with the name of the file to + * save the macro to. * * @return The macro's name. * @see #setName(String) @@ -182,25 +175,20 @@ public class Macro { public String getName() { return name; } - + /** - * Used in parsing an XML document containing a macro. This method - * initializes this macro with the data contained in the passed-in node. + * Used in parsing an XML document containing a macro. This method initializes + * this macro with the data contained in the passed-in node. * - * @param node - * The root node of the parsed XML document. + * @param node The root node of the parsed XML document. * @return true if the macro initialization went okay; * false if an error occurred. */ private boolean initializeFromXMLFile(Element root) { /* - * This method expects the XML document to be in the following format: - * - * - * test - * abcdefg - * [...] - * ... + * This method expects the XML document to be in the following format: test abcdefg [...] ... * */ NodeList childNodes = root.getChildNodes(); @@ -209,97 +197,89 @@ public class Macro { Node node = childNodes.item(i); int type = node.getNodeType(); switch (type) { - // Handle element nodes. - case Node.ELEMENT_NODE: - String nodeName = node.getNodeName(); - if (nodeName.equals(MACRO_NAME)) { - NodeList childNodes2 = node.getChildNodes(); - name = UNTITLED_MACRO_NAME; - if (childNodes2.getLength() > 0) { - node = childNodes2.item(0); - int type2 = node.getNodeType(); - if (type2 != Node.CDATA_SECTION_NODE && type2 != Node.TEXT_NODE) { - return false; - } - name = node.getNodeValue().trim(); - } - // System.err.println("Macro name==" + name); - } else if (nodeName.equals(ACTION)) { - NamedNodeMap attributes = node.getAttributes(); - if (attributes == null || attributes.getLength() != 1) { + // Handle element nodes. + case Node.ELEMENT_NODE: + String nodeName = node.getNodeName(); + if (nodeName.equals(MACRO_NAME)) { + NodeList childNodes2 = node.getChildNodes(); + name = UNTITLED_MACRO_NAME; + if (childNodes2.getLength() > 0) { + node = childNodes2.item(0); + int type2 = node.getNodeType(); + if (type2 != Node.CDATA_SECTION_NODE && type2 != Node.TEXT_NODE) { return false; } - Node node2 = attributes.item(0); - MacroRecord macroRecord = new MacroRecord(); - if (!node2.getNodeName().equals(ID)) { - return false; - } - macroRecord.id = node2.getNodeValue(); - NodeList childNodes2 = node.getChildNodes(); - int length = childNodes2.getLength(); - if (length == 0) { // Could be empty "" command. - // System.err.println("... empty actionCommand"); - macroRecord.actionCommand = ""; - // System.err.println("... adding action: " + - // macroRecord); - macroRecords.add(macroRecord); - break; - } else { - node = childNodes2.item(0); - int type2 = node.getNodeType(); - if (type2 != Node.CDATA_SECTION_NODE && type2 != Node.TEXT_NODE) { - return false; - } - macroRecord.actionCommand = node.getNodeValue(); - macroRecords.add(macroRecord); - } + name = node.getNodeValue().trim(); } - break; - default: - break; // Skip whitespace nodes, etc. + // System.err.println("Macro name==" + name); + } else if (nodeName.equals(ACTION)) { + NamedNodeMap attributes = node.getAttributes(); + if (attributes == null || attributes.getLength() != 1) { + return false; + } + Node node2 = attributes.item(0); + MacroRecord macroRecord = new MacroRecord(); + if (!node2.getNodeName().equals(ID)) { + return false; + } + macroRecord.id = node2.getNodeValue(); + NodeList childNodes2 = node.getChildNodes(); + int length = childNodes2.getLength(); + if (length == 0) { // Could be empty "" command. + // System.err.println("... empty actionCommand"); + macroRecord.actionCommand = ""; + // System.err.println("... adding action: " + + // macroRecord); + macroRecords.add(macroRecord); + break; + } else { + node = childNodes2.item(0); + int type2 = node.getNodeType(); + if (type2 != Node.CDATA_SECTION_NODE && type2 != Node.TEXT_NODE) { + return false; + } + macroRecord.actionCommand = node.getNodeValue(); + macroRecords.add(macroRecord); + } + } + break; + default: + break; // Skip whitespace nodes, etc. } } // Everything went okay. return true; } - + /** * Saves this macro to an XML file. This file can later be read in by the - * constructor taking a File parameter; this is the mechanism - * for saving macros. + * constructor taking a File parameter; this is the mechanism for + * saving macros. * - * @param file - * The file in which to save the macro. - * @throws IOException - * If an error occurs while generating the XML for - * the output file. + * @param file The file in which to save the macro. + * @throws IOException If an error occurs while generating the XML for the + * output file. * @see #saveToFile(String) */ public void saveToFile(File file) throws IOException { saveToFile(file.getAbsolutePath()); } - + /** - * Saves this macro to a file. This file can later be read in by the - * constructor taking a File parameter; this is the mechanism - * for saving macros. + * Saves this macro to a file. This file can later be read in by the constructor + * taking a File parameter; this is the mechanism for saving + * macros. * - * @param fileName - * The name of the file in which to save the macro. - * @throws IOException - * If an error occurs while generating the XML for - * the output file. + * @param fileName The name of the file in which to save the macro. + * @throws IOException If an error occurs while generating the XML for the + * output file. * @see #saveToFile(File) */ public void saveToFile(String fileName) throws IOException { /* - * This method writes the XML document in the following format: - * - * - * test - * abcdefg - * [...] - * ... + * This method writes the XML document in the following format: test abcdefg [...] ... * */ try { @@ -351,35 +331,33 @@ public class Macro { throw new IOException("Error generating XML!"); } } - + /** - * Sets the name of this macro. A macro's name is simply something to - * identify it with in a UI; it has nothing to do with the name of the file - * to save the macro to. + * Sets the name of this macro. A macro's name is simply something to identify + * it with in a UI; it has nothing to do with the name of the file to save the + * macro to. * - * @param name - * The new name for the macro. + * @param name The new name for the macro. * @see #getName() */ public void setName(String name) { this.name = name; } - + /** - * A "record" of a macro is a single action in the macro (corresponding to - * a key type and some action in the editor, such as a letter inserted into - * the document, scrolling one page down, selecting the current line, - * etc.). + * A "record" of a macro is a single action in the macro (corresponding to a key + * type and some action in the editor, such as a letter inserted into the + * document, scrolling one page down, selecting the current line, etc.). */ static class MacroRecord { - + String id; String actionCommand; - + MacroRecord() { this(null, null); } - + MacroRecord(String id, String actionCommand) { this.id = id; this.actionCommand = actionCommand; diff --git a/src/org/fife/ui/rtextarea/RDocument.java b/src/org/fife/ui/rtextarea/RDocument.java index 081570c..2d682ac 100644 --- a/src/org/fife/ui/rtextarea/RDocument.java +++ b/src/org/fife/ui/rtextarea/RDocument.java @@ -17,32 +17,30 @@ import javax.swing.text.PlainDocument; * @version 1.0 */ public class RDocument extends PlainDocument { - + /** * Constructor. */ public RDocument() { super(new RGapContent()); } - + /** * Returns the character in the document at the specified offset. * - * @param offset - * The offset of the character. + * @param offset The offset of the character. * @return The character. - * @throws BadLocationException - * If the offset is invalid. + * @throws BadLocationException If the offset is invalid. */ public char charAt(int offset) throws BadLocationException { return ((RGapContent) getContent()).charAt(offset); } - + /** * Document content that provides fast access to individual characters. */ private static class RGapContent extends GapContent { - + public char charAt(int offset) throws BadLocationException { if (offset < 0 || offset >= length()) { throw new BadLocationException("Invalid offset", offset); diff --git a/src/org/fife/ui/rtextarea/RDocumentCharSequence.java b/src/org/fife/ui/rtextarea/RDocumentCharSequence.java index dd6cbd0..561bae0 100644 --- a/src/org/fife/ui/rtextarea/RDocumentCharSequence.java +++ b/src/org/fife/ui/rtextarea/RDocumentCharSequence.java @@ -18,40 +18,35 @@ import javax.swing.text.BadLocationException; * @version 1.0 */ class RDocumentCharSequence implements CharSequence { - + private RDocument doc; private int start; private int end; - + /** - * Creates a CharSequence representing the text in a document - * from the specified offset to the end of that document. + * Creates a CharSequence representing the text in a document from + * the specified offset to the end of that document. * - * @param doc - * The document. - * @param start - * The starting offset in the document, inclusive. + * @param doc The document. + * @param start The starting offset in the document, inclusive. */ RDocumentCharSequence(RDocument doc, int start) { this(doc, start, doc.getLength()); } - + /** * Constructor. * - * @param doc - * The document. - * @param start - * The starting offset in the document, inclusive. - * @param end - * the ending offset in the document, exclusive. + * @param doc The document. + * @param start The starting offset in the document, inclusive. + * @param end the ending offset in the document, exclusive. */ RDocumentCharSequence(RDocument doc, int start, int end) { this.doc = doc; this.start = start; this.end = end; } - + /** * {@inheritDoc} */ @@ -66,7 +61,7 @@ class RDocumentCharSequence implements CharSequence { throw new IndexOutOfBoundsException(ble.toString()); } } - + /** * {@inheritDoc} */ @@ -74,7 +69,7 @@ class RDocumentCharSequence implements CharSequence { public int length() { return end - start; } - + /** * {@inheritDoc} */ @@ -93,7 +88,7 @@ class RDocumentCharSequence implements CharSequence { int newEnd = this.start + end; return new RDocumentCharSequence(doc, newStart, newEnd); } - + /** * {@inheritDoc} */ diff --git a/src/org/fife/ui/rtextarea/RTextArea.java b/src/org/fife/ui/rtextarea/RTextArea.java index a1cfc0f..9e80d92 100644 --- a/src/org/fife/ui/rtextarea/RTextArea.java +++ b/src/org/fife/ui/rtextarea/RTextArea.java @@ -74,7 +74,7 @@ import org.fife.ui.rtextarea.Macro.MacroRecord; * @version 1.0 */ public class RTextArea extends RTextAreaBase implements Printable { - + /** * Constant representing insert mode. * @@ -137,10 +137,8 @@ public class RTextArea extends RTextAreaBase implements Printable { */ private static String selectedOccurrenceText; /** - * Can return tool tips for this text area. Subclasses can install a - * supplier as - * a means of adding custom tool tips without subclassing - * RTextArea. + * Can return tool tips for this text area. Subclasses can install a supplier as + * a means of adding custom tool tips without subclassing RTextArea. * {@link #getToolTipText()} checks this supplier before calling the super * class's version. */ @@ -159,114 +157,97 @@ public class RTextArea extends RTextAreaBase implements Printable { private boolean markAllOnOccurrenceSearches; private CaretStyle[] carets; // Index 0=>insert caret, 1=>overwrite. private static final String MSG = "org.fife.ui.rtextarea.RTextArea"; - + /** * Constructor. */ - public RTextArea() {} - + public RTextArea() { + } + /** * Constructor. * - * @param doc - * The document for the editor. + * @param doc The document for the editor. */ public RTextArea(AbstractDocument doc) { super(doc); } - + /** * Constructor. * - * @param text - * The initial text to display. + * @param text The initial text to display. */ public RTextArea(String text) { super(text); } - + /** * Constructor. * - * @param rows - * The number of rows to display. - * @param cols - * The number of columns to display. - * @throws IllegalArgumentException - * If either rows or cols is negative. + * @param rows The number of rows to display. + * @param cols The number of columns to display. + * @throws IllegalArgumentException If either rows or + * cols is negative. */ public RTextArea(int rows, int cols) { super(rows, cols); } - + /** * Constructor. * - * @param text - * The initial text to display. - * @param rows - * The number of rows to display. - * @param cols - * The number of columns to display. - * @throws IllegalArgumentException - * If either rows or cols is negative. + * @param text The initial text to display. + * @param rows The number of rows to display. + * @param cols The number of columns to display. + * @throws IllegalArgumentException If either rows or + * cols is negative. */ public RTextArea(String text, int rows, int cols) { super(text, rows, cols); } - + /** * Constructor. * - * @param doc - * The document for the editor. - * @param text - * The initial text to display. - * @param rows - * The number of rows to display. - * @param cols - * The number of columns to display. - * @throws IllegalArgumentException - * If either rows or cols is negative. + * @param doc The document for the editor. + * @param text The initial text to display. + * @param rows The number of rows to display. + * @param cols The number of columns to display. + * @throws IllegalArgumentException If either rows or + * cols is negative. */ public RTextArea(AbstractDocument doc, String text, int rows, int cols) { super(doc, text, rows, cols); } - + /** * Creates a new RTextArea. * - * @param textMode - * Either INSERT_MODE or - * OVERWRITE_MODE. + * @param textMode Either INSERT_MODE or + * OVERWRITE_MODE. */ public RTextArea(int textMode) { setTextMode(textMode); } - + /** - * Adds an action event to the current macro. This shouldn't be called - * directly, + * Adds an action event to the current macro. This shouldn't be called directly, * as it is called by the actions themselves. * - * @param id - * The ID of the recordable text action. - * @param actionCommand - * The "command" of the action event passed to it. + * @param id The ID of the recordable text action. + * @param actionCommand The "command" of the action event passed to it. */ static synchronized void addToCurrentMacro(String id, String actionCommand) { currentMacro.addMacroRecord(new Macro.MacroRecord(id, actionCommand)); } - + /** * Adds a line highlight. * - * @param line - * The line to highlight. This is zero-based. - * @param color - * The color to highlight the line with. - * @throws BadLocationException - * If line is an invalid line number. + * @param line The line to highlight. This is zero-based. + * @param color The color to highlight the line with. + * @throws BadLocationException If line is an invalid line number. * @see #removeLineHighlight(Object) * @see #removeAllLineHighlights() */ @@ -276,16 +257,14 @@ public class RTextArea extends RTextAreaBase implements Printable { } return lineHighlightManager.addLineHighlight(line, color); } - + /** - * Begins an "atomic edit." All text editing operations between this call - * and + * Begins an "atomic edit." All text editing operations between this call and * the next call to endAtomicEdit() will be treated as a single * operation by the undo manager. *

        * - * Using this method should be done with great care. You should probably - * wrap + * Using this method should be done with great care. You should probably wrap * the call to endAtomicEdit() in a finally block: * *

        @@ -302,13 +281,11 @@ public class RTextArea extends RTextAreaBase implements Printable {
         	public void beginAtomicEdit() {
         		undoManager.beginInternalAtomicEdit();
         	}
        -	
        +
         	/**
         	 * Begins recording a macro. After this method is called, all input/caret
        -	 * events, etc. are recorded until endMacroRecording is called.
        -	 * If
        -	 * this method is called but the text component is already recording a
        -	 * macro,
        +	 * events, etc. are recorded until endMacroRecording is called. If
        +	 * this method is called but the text component is already recording a macro,
         	 * nothing happens (but the macro keeps recording).
         	 *
         	 * @see #isRecordingMacro()
        @@ -326,7 +303,7 @@ public class RTextArea extends RTextAreaBase implements Printable {
         		currentMacro = new Macro();
         		recordingMacro = true;
         	}
        -	
        +
         	/**
         	 * Returns whether an undo is possible.
         	 *
        @@ -336,7 +313,7 @@ public class RTextArea extends RTextAreaBase implements Printable {
         	public boolean canUndo() {
         		return undoManager.canUndo();
         	}
        -	
        +
         	/**
         	 * Returns whether a redo is possible.
         	 *
        @@ -346,7 +323,7 @@ public class RTextArea extends RTextAreaBase implements Printable {
         	public boolean canRedo() {
         		return undoManager.canRedo();
         	}
        -	
        +
         	/**
         	 * Clears any "mark all" highlights, if any.
         	 *
        @@ -359,7 +336,7 @@ public class RTextArea extends RTextAreaBase implements Printable {
         		// markedWord = null;
         		repaint();
         	}
        -	
        +
         	/**
         	 * Configures the popup menu for this text area. This method is called right
         	 * before it is displayed, so a hosting application can do any custom
        @@ -370,12 +347,10 @@ public class RTextArea extends RTextAreaBase implements Printable {
         	 * 

        * * If you set the popup menu via {@link #setPopupMenu(JPopupMenu)}, you will - * want to override this method, especially if you removed any of the menu - * items + * want to override this method, especially if you removed any of the menu items * in the default popup menu. * - * @param popupMenu - * The popup menu. This will never be null. + * @param popupMenu The popup menu. This will never be null. * @see #createPopupMenu() * @see #setPopupMenu(JPopupMenu) */ @@ -391,10 +366,9 @@ public class RTextArea extends RTextAreaBase implements Printable { deleteMenuItem.setEnabled(deleteAction.isEnabled() && canType); } } - + /** - * Creates the default implementation of the model to be used at - * construction if + * Creates the default implementation of the model to be used at construction if * one isn't explicitly given. A new instance of RDocument is returned. * * @return The default document. @@ -403,7 +377,7 @@ public class RTextArea extends RTextAreaBase implements Printable { protected Document createDefaultModel() { return new RDocument(); } - + /** * Returns the caret event/mouse listener for RTextAreas. * @@ -413,10 +387,9 @@ public class RTextArea extends RTextAreaBase implements Printable { protected RTAMouseListener createMouseListener() { return new RTextAreaMutableCaretEvent(this); } - + /** - * Creates the right-click popup menu. Subclasses can override this method - * to + * Creates the right-click popup menu. Subclasses can override this method to * replace or augment the popup menu returned. * * @return The popup menu. @@ -437,12 +410,11 @@ public class RTextArea extends RTextAreaBase implements Printable { menu.add(createPopupMenuItem(selectAllAction)); return menu; } - + /** * Creates the actions used in the popup menu and retrievable by * {@link #getAction(int)}. TODO: Remove these horrible hacks and move - * localizing of actions into the editor kits, where it should be! The - * context + * localizing of actions into the editor kits, where it should be! The context * menu should contain actions from the editor kits. */ private static void createPopupMenuActions() { @@ -473,18 +445,17 @@ public class RTextArea extends RTextAreaBase implements Printable { selectAllAction.setProperties(msg, "Action.SelectAll"); selectAllAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, mod)); } - + /** * Creates and configures a menu item for used in the popup menu. * - * @param a - * The action for the menu item. + * @param a The action for the menu item. * @return The menu item. * @see #createPopupMenu() */ protected JMenuItem createPopupMenuItem(Action a) { JMenuItem item = new JMenuItem(a) { - + @Override public void setToolTipText(String text) { // Ignore! Actions (e.g. undo/redo) set this when changing @@ -494,7 +465,7 @@ public class RTextArea extends RTextAreaBase implements Printable { item.setAccelerator(null); return item; } - + /** * Returns the a real UI to install on this text area. * @@ -504,12 +475,11 @@ public class RTextArea extends RTextAreaBase implements Printable { protected RTextAreaUI createRTextAreaUI() { return new RTextAreaUI(this); } - + /** * Creates a string of space characters of the specified size. * - * @param size - * The number of spaces. + * @param size The number of spaces. * @return The string of spaces. */ private String createSpacer(int size) { @@ -519,7 +489,7 @@ public class RTextArea extends RTextAreaBase implements Printable { } return sb.toString(); } - + /** * Creates an undo manager for use in this text area. * @@ -528,15 +498,14 @@ public class RTextArea extends RTextAreaBase implements Printable { protected RUndoManager createUndoManager() { return new RUndoManager(this); } - + /** * Removes all undoable edits from this document's undo manager. This method * also makes the undo/redo actions disabled. */ /* * NOTE: For some reason, it appears I have to create an entirely new - * undoManager for undo/redo to continue functioning properly; - * if I + * undoManager for undo/redo to continue functioning properly; if I * don't, it only ever lets you do one undo. Not too sure why this is... */ public void discardAllEdits() { @@ -546,7 +515,7 @@ public class RTextArea extends RTextAreaBase implements Printable { getDocument().addUndoableEditListener(undoManager); undoManager.updateActions(); } - + /** * Completes an "atomic" edit. * @@ -555,10 +524,9 @@ public class RTextArea extends RTextAreaBase implements Printable { public void endAtomicEdit() { undoManager.endInternalAtomicEdit(); } - + /** - * Ends recording a macro. If this method is called but the text component - * is + * Ends recording a macro. If this method is called but the text component is * not recording a macro, nothing happens. * * @see #isRecordingMacro() @@ -574,12 +542,11 @@ public class RTextArea extends RTextAreaBase implements Printable { } recordingMacro = false; } - + /** * Notifies all listeners that a caret change has occurred. * - * @param e - * The caret event. + * @param e The caret event. */ @Override protected void fireCaretUpdate(CaretEvent e) { @@ -603,7 +570,7 @@ public class RTextArea extends RTextAreaBase implements Printable { } super.fireCaretUpdate(e); } - + /** * Removes the "Ctrl+H <=> Backspace" behavior that Java shows, for some odd * reason... @@ -621,50 +588,44 @@ public class RTextArea extends RTextAreaBase implements Printable { inputMap.put(backspace, DefaultEditorKit.deletePrevCharAction); } } - + /** - * Provides a way to gain access to the editor actions on the right-click - * popup + * Provides a way to gain access to the editor actions on the right-click popup * menu. This way you can make toolbar/menu bar items use the actual actions - * used by all RTextAreas, so that icons stay synchronized and - * you + * used by all RTextAreas, so that icons stay synchronized and you * don't have to worry about enabling/disabling them yourself. *

        * Keep in mind that these actions are shared across all instances of - * RTextArea, so a change to any action returned by this method - * is + * RTextArea, so a change to any action returned by this method is * global across all RTextArea editors in your application. * - * @param action - * The action to retrieve, such as {@link #CUT_ACTION}. If the - * action - * name is invalid, null is returned. - * @return The action, or null if an invalid action is - * requested. + * @param action The action to retrieve, such as {@link #CUT_ACTION}. If the + * action name is invalid, null is returned. + * @return The action, or null if an invalid action is requested. */ public static RecordableTextAction getAction(int action) { if (action < MIN_ACTION_CONSTANT || action > MAX_ACTION_CONSTANT) { return null; } switch (action) { - case COPY_ACTION: - return copyAction; - case CUT_ACTION: - return cutAction; - case DELETE_ACTION: - return deleteAction; - case PASTE_ACTION: - return pasteAction; - case REDO_ACTION: - return redoAction; - case SELECT_ALL_ACTION: - return selectAllAction; - case UNDO_ACTION: - return undoAction; + case COPY_ACTION: + return copyAction; + case CUT_ACTION: + return cutAction; + case DELETE_ACTION: + return deleteAction; + case PASTE_ACTION: + return pasteAction; + case REDO_ACTION: + return redoAction; + case SELECT_ALL_ACTION: + return selectAllAction; + case UNDO_ACTION: + return undoAction; } return null; } - + /** * Returns the macro currently stored in this RTextArea. Since * macros are shared, all RTextAreas in the currently- running @@ -677,7 +638,7 @@ public class RTextArea extends RTextAreaBase implements Printable { public static synchronized Macro getCurrentMacro() { return currentMacro; } - + /** * Returns the default color used for "mark all" highlights. * @@ -688,7 +649,7 @@ public class RTextArea extends RTextAreaBase implements Printable { public static final Color getDefaultMarkAllHighlightColor() { return DEFAULT_MARK_ALL_COLOR; } - + /** * Returns the icon group being used for the actions of this text area. * @@ -698,11 +659,10 @@ public class RTextArea extends RTextAreaBase implements Printable { public static IconGroup getIconGroup() { return iconGroup; } - + /** * Returns whether "mark all" should be enabled when a user does a "find - * next/find previous" action via Ctrl+K or Ctrl+Shift+K (the default - * shortcut + * next/find previous" action via Ctrl+K or Ctrl+Shift+K (the default shortcut * keys for this action). The default value is {@code true}. * * @return Whether "mark all" should be enabled. @@ -711,7 +671,7 @@ public class RTextArea extends RTextAreaBase implements Printable { public boolean getMarkAllOnOccurrenceSearches() { return markAllOnOccurrenceSearches; } - + /** * Returns the line highlight manager. * @@ -720,7 +680,7 @@ public class RTextArea extends RTextAreaBase implements Printable { LineHighlightManager getLineHighlightManager() { return lineHighlightManager; } - + /** * Returns the color used in "mark all" highlights. * @@ -730,10 +690,9 @@ public class RTextArea extends RTextAreaBase implements Printable { public Color getMarkAllHighlightColor() { return (Color) markAllHighlightPainter.getPaint(); } - + /** - * Returns the maximum ascent of all fonts used in this text area. In the - * case + * Returns the maximum ascent of all fonts used in this text area. In the case * of a standard RTextArea, this is simply the ascent of the * current font. *

        @@ -746,10 +705,9 @@ public class RTextArea extends RTextAreaBase implements Printable { public int getMaxAscent() { return getFontMetrics(getFont()).getAscent(); } - + /** - * Returns the popup menu for this component, lazily creating it if - * necessary. + * Returns the popup menu for this component, lazily creating it if necessary. * * @return The popup menu. * @see #createPopupMenu() @@ -766,7 +724,7 @@ public class RTextArea extends RTextAreaBase implements Printable { } return popupMenu; } - + /** * Returns the text last selected and used in a Ctrl+K operation. * @@ -776,7 +734,7 @@ public class RTextArea extends RTextAreaBase implements Printable { public static String getSelectedOccurrenceText() { return selectedOccurrenceText; } - + /** * Returns the text mode this editor pane is currently in. * @@ -786,28 +744,24 @@ public class RTextArea extends RTextAreaBase implements Printable { public final int getTextMode() { return textMode; } - + /** * Returns the tool tip supplier. * - * @return The tool tip supplier, or null if one isn't - * installed. + * @return The tool tip supplier, or null if one isn't installed. * @see #setToolTipSupplier(ToolTipSupplier) */ public ToolTipSupplier getToolTipSupplier() { return toolTipSupplier; } - + /** - * Returns the tooltip to display for a mouse event at the given location. - * This - * method is overridden to check for a {@link ToolTipSupplier}; if there is - * one + * Returns the tooltip to display for a mouse event at the given location. This + * method is overridden to check for a {@link ToolTipSupplier}; if there is one * installed, it is queried for tool tip text before using the super class's * implementation of this method. * - * @param e - * The mouse event. + * @param e The mouse event. * @return The tool tip text, or null if none. * @see #getToolTipSupplier() * @see #setToolTipSupplier(ToolTipSupplier) @@ -820,22 +774,19 @@ public class RTextArea extends RTextAreaBase implements Printable { } return tip != null ? tip : super.getToolTipText(); } - + /** - * Does the actual dirty-work of replacing the selected text in this text - * area - * (i.e., in its document). This method provides a hook for subclasses to - * handle + * Does the actual dirty-work of replacing the selected text in this text area + * (i.e., in its document). This method provides a hook for subclasses to handle * this in a different way. * - * @param content - * The content to add. + * @param content The content to add. */ protected void handleReplaceSelection(String content) { // Call into super to handle composed text. super.replaceSelection(content); } - + @Override protected void init() { super.init(); @@ -864,7 +815,7 @@ public class RTextArea extends RTextAreaBase implements Printable { // Fix the odd "Ctrl+H <=> Backspace" Java behavior. fixCtrlH(); } - + /** * Returns whether or not a macro is being recorded. * @@ -875,32 +826,28 @@ public class RTextArea extends RTextAreaBase implements Printable { public static synchronized boolean isRecordingMacro() { return recordingMacro; } - + /** * Loads a macro to be used by all RTextAreas in the current * application. * - * @param macro - * The macro to load. + * @param macro The macro to load. * @see #getCurrentMacro() */ public static synchronized void loadMacro(Macro macro) { currentMacro = macro; } - + /** - * Marks all ranges specified with the "mark all" highlighter. Typically, - * this - * method is called indirectly from {@link SearchEngine} when doing a fine - * or + * Marks all ranges specified with the "mark all" highlighter. Typically, this + * method is called indirectly from {@link SearchEngine} when doing a fine or * replace operation. *

        * * This method fires a property change event of type * {@link #MARK_ALL_OCCURRENCES_CHANGED_PROPERTY}. * - * @param ranges - * The ranges to mark. This should not be null. + * @param ranges The ranges to mark. This should not be null. * @see SearchEngine * @see SearchContext#setMarkAll(boolean) * @see #clearMarkAllHighlights() @@ -924,7 +871,7 @@ public class RTextArea extends RTextAreaBase implements Printable { firePropertyChange(MARK_ALL_OCCURRENCES_CHANGED_PROPERTY, null, ranges); } } - + @Override public void paste() { // Treat paste operations as atomic, otherwise the removal and @@ -936,7 +883,7 @@ public class RTextArea extends RTextAreaBase implements Printable { endAtomicEdit(); } } - + /** * "Plays back" the last recorded macro in this text area. */ @@ -951,7 +898,8 @@ public class RTextArea extends RTextAreaBase implements Printable { for (int i = 0; i < actions.length; i++) { if ((actions[i] instanceof RecordableTextAction) && record.id.equals(((RecordableTextAction) actions[i]).getMacroID())) { - actions[i].actionPerformed(new ActionEvent(this, ActionEvent.ACTION_PERFORMED, record.actionCommand)); + actions[i].actionPerformed( + new ActionEvent(this, ActionEvent.ACTION_PERFORMED, record.actionCommand)); break; } } @@ -962,28 +910,22 @@ public class RTextArea extends RTextAreaBase implements Printable { } } } - + /** - * Method called when it's time to print this badboy (the old-school, AWT - * way). + * Method called when it's time to print this badboy (the old-school, AWT way). * - * @param g - * The context into which the page is drawn. - * @param pageFormat - * The size and orientation of the page being drawn. - * @param pageIndex - * The zero based index of the page to be drawn. + * @param g The context into which the page is drawn. + * @param pageFormat The size and orientation of the page being drawn. + * @param pageIndex The zero based index of the page to be drawn. */ @Override public int print(Graphics g, PageFormat pageFormat, int pageIndex) { return RPrintUtilities.printDocumentWordWrap(g, this, getFont(), pageIndex, pageFormat, getTabSize()); } - + /** - * We override this method because the super version gives us an entirely - * new - * Document, thus requiring us to re-attach our Undo manager. - * With + * We override this method because the super version gives us an entirely new + * Document, thus requiring us to re-attach our Undo manager. With * this version we just replace the text. */ @Override @@ -1001,12 +943,11 @@ public class RTextArea extends RTextAreaBase implements Printable { throw new IOException(e.getMessage()); } } - + /** * De-serializes a text area. * - * @param s - * The stream to read from. + * @param s The stream to read from. * @throws ClassNotFoundException * @throws IOException */ @@ -1018,7 +959,7 @@ public class RTextArea extends RTextAreaBase implements Printable { getDocument().addUndoableEditListener(undoManager); lineHighlightManager = null; // Keep FindBugs happy. } - + /** * Attempt to redo the last action. * @@ -1034,7 +975,7 @@ public class RTextArea extends RTextAreaBase implements Printable { cre.printStackTrace(); } } - + /** * Removes all line highlights. * @@ -1045,12 +986,11 @@ public class RTextArea extends RTextAreaBase implements Printable { lineHighlightManager.removeAllLineHighlights(); } } - + /** * Removes a line highlight. * - * @param tag - * The tag of the line highlight to remove. + * @param tag The tag of the line highlight to remove. * @see #removeAllLineHighlights() * @see #addLineHighlight(int, Color) */ @@ -1059,28 +999,23 @@ public class RTextArea extends RTextAreaBase implements Printable { lineHighlightManager.removeLineHighlight(tag); } } - + /** * Replaces text from the indicated start to end position with the new text - * specified. Does nothing if the model is null. Simply does a delete if the - * new + * specified. Does nothing if the model is null. Simply does a delete if the new * string is null or empty. *

        * This method is thread safe, although most Swing methods are not. *

        - * This method is overridden so that our Undo manager remembers it as a - * single + * This method is overridden so that our Undo manager remembers it as a single * operation (it has trouble with this, especially for * RSyntaxTextArea and the "auto-indent" feature). * - * @param str - * the text to use as the replacement - * @param start - * the start position >= 0 - * @param end - * the end position >= start - * @exception IllegalArgumentException - * if part of the range is an invalid position in the model + * @param str the text to use as the replacement + * @param start the start position >= 0 + * @param end the end position >= start + * @exception IllegalArgumentException if part of the range is an invalid + * position in the model * @see #insert(String, int) * @see #replaceRange(String, int, int) */ @@ -1108,14 +1043,13 @@ public class RTextArea extends RTextAreaBase implements Printable { } } } - + /** * This method overrides JTextComponent's * replaceSelection, so that if textMode is * {@link #OVERWRITE_MODE}, it actually overwrites. * - * @param text - * The content to replace the selection with. + * @param text The content to replace the selection with. */ @Override public void replaceSelection(String text) { @@ -1166,10 +1100,10 @@ public class RTextArea extends RTextAreaBase implements Printable { // overwrite mode. handleReplaceSelection(text); } - + private static StringBuilder repTabsSB; private static Segment repTabsSeg = new Segment(); - + /** * Replaces all instances of the tab character in text with the * number of spaces equivalent to a tab in this text area. @@ -1178,21 +1112,14 @@ public class RTextArea extends RTextAreaBase implements Printable { * This method should only be called from thread-safe methods, such as * {@link #replaceSelection(String)}. * - * @param text - * The java.lang.String in which to replace tabs - * with - * spaces. This has already been verified to have at least one - * tab - * character in it. - * @param docOffs - * The offset in the document at which the text is being - * inserted. - * @param firstTab - * The offset into text of the first tab. Assumed to - * be - * >= 0. - * @return A String just like text, but with - * spaces + * @param text The java.lang.String in which to replace tabs + * with spaces. This has already been verified to have at least + * one tab character in it. + * @param docOffs The offset in the document at which the text is being + * inserted. + * @param firstTab The offset into text of the first tab. Assumed + * to be >= 0. + * @return A String just like text, but with spaces * instead of tabs. */ private String replaceTabsWithSpaces(String text, int docOffs, int firstTab) throws BadLocationException { @@ -1232,21 +1159,21 @@ public class RTextArea extends RTextAreaBase implements Printable { for (int pos = firstTab; pos < array.length; pos++) { char ch = array[pos]; switch (ch) { - case '\t': - if (pos > lastPos) { - repTabsSB.append(array, lastPos, pos - lastPos); - } - int thisTabSize = tabSize - (offsInLine % tabSize); - repTabsSB.append(createSpacer(thisTabSize)); - lastPos = pos + 1; - offsInLine = 0; - break; - case '\n': - offsInLine = 0; - break; - default: - offsInLine++; - break; + case '\t': + if (pos > lastPos) { + repTabsSB.append(array, lastPos, pos - lastPos); + } + int thisTabSize = tabSize - (offsInLine % tabSize); + repTabsSB.append(createSpacer(thisTabSize)); + lastPos = pos + 1; + offsInLine = 0; + break; + case '\n': + offsInLine = 0; + break; + default: + offsInLine++; + break; } } if (lastPos < array.length) { @@ -1254,74 +1181,63 @@ public class RTextArea extends RTextAreaBase implements Printable { } return repTabsSB.toString(); } - + /** * Sets the properties of one of the actions this text area owns. * - * @param action - * The action to modify; for example, {@link #CUT_ACTION}. - * @param name - * The new name for the action. - * @param mnemonic - * The new mnemonic for the action. - * @param accelerator - * The new accelerator key for the action. + * @param action The action to modify; for example, {@link #CUT_ACTION}. + * @param name The new name for the action. + * @param mnemonic The new mnemonic for the action. + * @param accelerator The new accelerator key for the action. */ public static void setActionProperties(int action, String name, char mnemonic, KeyStroke accelerator) { setActionProperties(action, name, Integer.valueOf(mnemonic), accelerator); } - + /** * Sets the properties of one of the actions this text area owns. * - * @param action - * The action to modify; for example, {@link #CUT_ACTION}. - * @param name - * The new name for the action. - * @param mnemonic - * The new mnemonic for the action. - * @param accelerator - * The new accelerator key for the action. + * @param action The action to modify; for example, {@link #CUT_ACTION}. + * @param name The new name for the action. + * @param mnemonic The new mnemonic for the action. + * @param accelerator The new accelerator key for the action. */ public static void setActionProperties(int action, String name, Integer mnemonic, KeyStroke accelerator) { Action tempAction = null; switch (action) { - case CUT_ACTION: - tempAction = cutAction; - break; - case COPY_ACTION: - tempAction = copyAction; - break; - case PASTE_ACTION: - tempAction = pasteAction; - break; - case DELETE_ACTION: - tempAction = deleteAction; - break; - case SELECT_ALL_ACTION: - tempAction = selectAllAction; - break; - case UNDO_ACTION: - case REDO_ACTION: - default: - return; + case CUT_ACTION: + tempAction = cutAction; + break; + case COPY_ACTION: + tempAction = copyAction; + break; + case PASTE_ACTION: + tempAction = pasteAction; + break; + case DELETE_ACTION: + tempAction = deleteAction; + break; + case SELECT_ALL_ACTION: + tempAction = selectAllAction; + break; + case UNDO_ACTION: + case REDO_ACTION: + default: + return; } tempAction.putValue(Action.NAME, name); tempAction.putValue(Action.SHORT_DESCRIPTION, name); tempAction.putValue(Action.ACCELERATOR_KEY, accelerator); tempAction.putValue(Action.MNEMONIC_KEY, mnemonic); } - + /** * Sets the caret to use in this text area. It is strongly encouraged to use - * {@link ConfigurableCaret}s (which is used by default), or a subclass, - * since - * they know how to render themselves differently when the user toggles - * between + * {@link ConfigurableCaret}s (which is used by default), or a subclass, since + * they know how to render themselves differently when the user toggles between * insert and overwrite modes. * - * @param caret - * The caret to use. + * @param caret The caret to use. * @see #setCaretStyle(int, CaretStyle) */ @Override @@ -1332,14 +1248,12 @@ public class RTextArea extends RTextAreaBase implements Printable { ((ConfigurableCaret) caret).setStyle(carets[getTextMode()]); } } - + /** * Sets the style of caret used when in insert or overwrite mode. * - * @param mode - * Either {@link #INSERT_MODE} or {@link #OVERWRITE_MODE}. - * @param style - * The style for the caret. + * @param mode Either {@link #INSERT_MODE} or {@link #OVERWRITE_MODE}. + * @param style The style for the caret. * @see ConfigurableCaret */ public void setCaretStyle(int mode, CaretStyle style) { @@ -1352,14 +1266,13 @@ public class RTextArea extends RTextAreaBase implements Printable { ((ConfigurableCaret) getCaret()).setStyle(style); } } - + /** * Sets the document used by this text area. * - * @param document - * The new document to use. - * @throws IllegalArgumentException - * If the document is not an instance of {@link RDocument}. + * @param document The new document to use. + * @throws IllegalArgumentException If the document is not an instance of + * {@link RDocument}. */ @Override public void setDocument(Document document) { @@ -1378,12 +1291,10 @@ public class RTextArea extends RTextAreaBase implements Printable { discardAllEdits(); } } - + /** - * Sets the path in which to find images to associate with the editor's - * actions. - * The path MUST contain the following images (with the appropriate - * extension as + * Sets the path in which to find images to associate with the editor's actions. + * The path MUST contain the following images (with the appropriate extension as * defined by the icon group):
        *

          *
        • cut
        • @@ -1397,8 +1308,7 @@ public class RTextArea extends RTextAreaBase implements Printable { * If any of the above images don't exist, the corresponding action will not * have an icon. * - * @param group - * The icon group to load. + * @param group The icon group to load. * @see #getIconGroup() */ public static synchronized void setIconGroup(IconGroup group) { @@ -1418,13 +1328,12 @@ public class RTextArea extends RTextAreaBase implements Printable { selectAllAction.putValue(Action.SMALL_ICON, icon); iconGroup = group; } - + /** * Sets the color used for "mark all." This fires a property change of type * {@link #MARK_ALL_COLOR_PROPERTY}. * - * @param color - * The color to use for "mark all." + * @param color The color to use for "mark all." * @see #getMarkAllHighlightColor() */ public void setMarkAllHighlightColor(Color color) { @@ -1438,19 +1347,16 @@ public class RTextArea extends RTextAreaBase implements Printable { firePropertyChange(MARK_ALL_COLOR_PROPERTY, old, color); } } - + /** - * Sets whether "mark all" should be enabled when a user does a "find - * next/find - * previous" action via Ctrl+K or Ctrl+Shift+K (the default shortcut keys - * for + * Sets whether "mark all" should be enabled when a user does a "find next/find + * previous" action via Ctrl+K or Ctrl+Shift+K (the default shortcut keys for * this action). The default value is {@code true}. *

          * This method fires a property change event of type * {@link #MARK_ALL_ON_OCCURRENCE_SEARCHES_PROPERTY}. * - * @param markAll - * Whether "mark all" should be enabled. + * @param markAll Whether "mark all" should be enabled. * @see #getMarkAllOnOccurrenceSearches() */ public void setMarkAllOnOccurrenceSearches(boolean markAll) { @@ -1459,20 +1365,17 @@ public class RTextArea extends RTextAreaBase implements Printable { firePropertyChange(MARK_ALL_ON_OCCURRENCE_SEARCHES_PROPERTY, !markAll, markAll); } } - + /** * Sets the popup menu used by this text area. *

          * * If you set the popup menu with this method, you'll want to consider also - * overriding {@link #configurePopupMenu(JPopupMenu)}, especially if you - * removed + * overriding {@link #configurePopupMenu(JPopupMenu)}, especially if you removed * any of the default menu items. * - * @param popupMenu - * The popup menu. If this is null, no popup menu - * will - * be displayed. + * @param popupMenu The popup menu. If this is null, no popup menu + * will be displayed. * @see #getPopupMenu() * @see #configurePopupMenu(JPopupMenu) */ @@ -1480,7 +1383,7 @@ public class RTextArea extends RTextAreaBase implements Printable { this.popupMenu = popupMenu; popupMenuCreated = true; } - + @Override public void setRoundedSelectionEdges(boolean rounded) { if (getRoundedSelectionEdges() != rounded) { @@ -1488,40 +1391,31 @@ public class RTextArea extends RTextAreaBase implements Printable { super.setRoundedSelectionEdges(rounded); // Fires event. } } - + /** - * Sets the text last selected/Ctrl+K'd in an RTextArea. This - * text - * will be searched for in subsequent Ctrl+K/Ctrl+Shift+K actions (Cmd+K on - * OS + * Sets the text last selected/Ctrl+K'd in an RTextArea. This text + * will be searched for in subsequent Ctrl+K/Ctrl+Shift+K actions (Cmd+K on OS * X). *

          * - * Since the selected occurrence actions are built into RTextArea, - * applications - * usually do not have to call this method directly, but can choose to do so - * if - * they wish (for example, if they wish to set this value when the user does - * a + * Since the selected occurrence actions are built into RTextArea, applications + * usually do not have to call this method directly, but can choose to do so if + * they wish (for example, if they wish to set this value when the user does a * search via a Find dialog). * - * @param text - * The selected text. + * @param text The selected text. * @see #getSelectedOccurrenceText() */ public static void setSelectedOccurrenceText(String text) { selectedOccurrenceText = text; } - + /** - * Sets the text mode for this editor pane. If the currently installed caret - * is - * an instance of {@link ConfigurableCaret}, it will be automatically - * updated to + * Sets the text mode for this editor pane. If the currently installed caret is + * an instance of {@link ConfigurableCaret}, it will be automatically updated to * render itself appropriately for the new text mode. * - * @param mode - * Either {@link #INSERT_MODE} or {@link #OVERWRITE_MODE}. + * @param mode Either {@link #INSERT_MODE} or {@link #OVERWRITE_MODE}. * @see #getTextMode() */ public void setTextMode(int mode) { @@ -1540,31 +1434,27 @@ public class RTextArea extends RTextAreaBase implements Printable { caret.setVisible(true); } } - + /** * Sets the tool tip supplier. * - * @param supplier - * The new tool tip supplier, or null if there is to - * be - * no supplier. + * @param supplier The new tool tip supplier, or null if there is + * to be no supplier. * @see #getToolTipSupplier() */ public void setToolTipSupplier(ToolTipSupplier supplier) { this.toolTipSupplier = supplier; } - + /** * Sets the UI used by this text area. This is overridden so only the * right-click popup menu's UI is updated. The look and feel of an - * RTextArea is independent of the Java Look and Feel, and so - * this + * RTextArea is independent of the Java Look and Feel, and so this * method does not change the text area itself. Subclasses (such as * RSyntaxTextArea can call setRTextAreaUI if they * wish to install a new UI. * - * @param ui - * This parameter is ignored. + * @param ui This parameter is ignored. */ @Override public final void setUI(TextUI ui) { @@ -1579,7 +1469,7 @@ public class RTextArea extends RTextAreaBase implements Printable { rtaui.installDefaults(); } } - + /** * Attempt to undo an "action" done in this text area. * @@ -1595,14 +1485,12 @@ public class RTextArea extends RTextAreaBase implements Printable { cre.printStackTrace(); } } - + /** * Serializes this text area. * - * @param s - * The stream to write to. - * @throws IOException - * If an IO error occurs. + * @param s The stream to write to. + * @throws IOException If an IO error occurs. */ private void writeObject(ObjectOutputStream s) throws IOException { // UndoManagers cannot be serialized without Exceptions. See @@ -1611,22 +1499,19 @@ public class RTextArea extends RTextAreaBase implements Printable { s.defaultWriteObject(); getDocument().addUndoableEditListener(undoManager); } - + /** - * Modified from MutableCaretEvent in - * JTextComponent - * so that mouse events get fired when the user is selecting text with the - * mouse - * as well. This class also displays the popup menu when the user - * right-clicks + * Modified from MutableCaretEvent in JTextComponent + * so that mouse events get fired when the user is selecting text with the mouse + * as well. This class also displays the popup menu when the user right-clicks * in the text area. */ protected class RTextAreaMutableCaretEvent extends RTAMouseListener { - + protected RTextAreaMutableCaretEvent(RTextArea textArea) { super(textArea); } - + @Override public void focusGained(FocusEvent e) { Caret c = getCaret(); @@ -1635,10 +1520,11 @@ public class RTextArea extends RTextAreaBase implements Printable { copyAction.setEnabled(enabled); undoManager.updateActions(); // To reflect this text area. } - + @Override - public void focusLost(FocusEvent e) {} - + public void focusLost(FocusEvent e) { + } + @Override public void mouseDragged(MouseEvent e) { // WORKAROUND: Since JTextComponent only updates the caret @@ -1651,7 +1537,7 @@ public class RTextArea extends RTextAreaBase implements Printable { fireCaretUpdate(this); } } - + @Override public void mousePressed(MouseEvent e) { if (e.isPopupTrigger()) { // OS X popup triggers are on pressed @@ -1663,21 +1549,19 @@ public class RTextArea extends RTextAreaBase implements Printable { fireCaretUpdate(this); } } - + @Override public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { showPopup(e); } } - + /** - * Shows a popup menu with cut, copy, paste, etc. options if the user - * clicked + * Shows a popup menu with cut, copy, paste, etc. options if the user clicked * the right button. * - * @param e - * The mouse event that caused this method to be called. + * @param e The mouse event that caused this method to be called. */ private void showPopup(MouseEvent e) { JPopupMenu popupMenu = getPopupMenu(); diff --git a/src/org/fife/ui/rtextarea/RTextAreaBase.java b/src/org/fife/ui/rtextarea/RTextAreaBase.java index f27c3f4..49a4abc 100644 --- a/src/org/fife/ui/rtextarea/RTextAreaBase.java +++ b/src/org/fife/ui/rtextarea/RTextAreaBase.java @@ -41,7 +41,7 @@ import javax.swing.text.StyleContext; * @version 0.8 */ public abstract class RTextAreaBase extends JTextArea { - + public static final String BACKGROUND_IMAGE_PROPERTY = "background.image"; public static final String CURRENT_LINE_HIGHLIGHT_COLOR_PROPERTY = "RTA.currentLineHighlightColor"; public static final String CURRENT_LINE_HIGHLIGHT_FADE_PROPERTY = "RTA.currentLineHighlightFade"; @@ -71,65 +71,56 @@ public abstract class RTextAreaBase extends JTextArea { private static final Color DEFAULT_MARGIN_LINE_COLOR = new Color(255, 224, 224); private static final int DEFAULT_TAB_SIZE = 4; private static final int DEFAULT_MARGIN_LINE_POSITION = 80; - + /** * Constructor. */ public RTextAreaBase() { init(); } - + /** * Constructor. * - * @param doc - * The document for the editor. + * @param doc The document for the editor. */ public RTextAreaBase(AbstractDocument doc) { super(doc); init(); } - + /** * Constructor. * - * @param text - * The initial text to display. + * @param text The initial text to display. */ public RTextAreaBase(String text) { // Don't call super(text) to avoid NPE due to our funky RTextAreaUI... init(); setText(text); } - + /** * Constructor. * - * @param rows - * The number of rows to display. - * @param cols - * The number of columns to display. - * @throws IllegalArgumentException - * If either rows or - * cols is negative. + * @param rows The number of rows to display. + * @param cols The number of columns to display. + * @throws IllegalArgumentException If either rows or + * cols is negative. */ public RTextAreaBase(int rows, int cols) { super(rows, cols); init(); } - + /** * Constructor. * - * @param text - * The initial text to display. - * @param rows - * The number of rows to display. - * @param cols - * The number of columns to display. - * @throws IllegalArgumentException - * If either rows or - * cols is negative. + * @param text The initial text to display. + * @param rows The number of rows to display. + * @param cols The number of columns to display. + * @throws IllegalArgumentException If either rows or + * cols is negative. */ public RTextAreaBase(String text, int rows, int cols) { // Don't call this super() due to NPE from our funky RTextAreaUI... @@ -138,21 +129,16 @@ public abstract class RTextAreaBase extends JTextArea { init(); setText(text); } - + /** * Constructor. * - * @param doc - * The document for the editor. - * @param text - * The initial text to display. - * @param rows - * The number of rows to display. - * @param cols - * The number of columns to display. - * @throws IllegalArgumentException - * If either rows or - * cols is negative. + * @param doc The document for the editor. + * @param text The initial text to display. + * @param rows The number of rows to display. + * @param cols The number of columns to display. + * @throws IllegalArgumentException If either rows or + * cols is negative. */ public RTextAreaBase(AbstractDocument doc, String text, int rows, int cols) { // Don't call super() with text due to NPE from our funky RTextAreaUI... @@ -160,12 +146,12 @@ public abstract class RTextAreaBase extends JTextArea { init(); setText(text); } - + /** - * Adds listeners that listen for changes to the current line, so we can - * update our "current line highlight." This is needed only because of an - * apparent difference between the JRE 1.4.2 and 1.5.0 (needed on 1.4.2, - * not needed on 1.5.0). + * Adds listeners that listen for changes to the current line, so we can update + * our "current line highlight." This is needed only because of an apparent + * difference between the JRE 1.4.2 and 1.5.0 (needed on 1.4.2, not needed on + * 1.5.0). */ private void addCurrentLineHighlightListeners() { boolean add = true; @@ -192,7 +178,7 @@ public abstract class RTextAreaBase extends JTextArea { addMouseListener(mouseListener); } } - + @Override public void addNotify() { super.addNotify(); @@ -201,7 +187,7 @@ public abstract class RTextAreaBase extends JTextArea { // the best way to do it. if (getCaretPosition() != 0) { SwingUtilities.invokeLater(new Runnable() { - + @Override public void run() { possiblyUpdateCurrentLineHighlightLocation(); @@ -209,7 +195,7 @@ public abstract class RTextAreaBase extends JTextArea { }); } } - + /* * TODO: Figure out why RTextArea doesn't work with RTL orientation! */ @@ -217,8 +203,8 @@ public abstract class RTextAreaBase extends JTextArea { // super.applyComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); // } /** - * Converts all instances of a number of spaces equal to a tab size - * into a tab in this text area. + * Converts all instances of a number of spaces equal to a tab size into a tab + * in this text area. * * @see #convertTabsToSpaces * @see #getTabsEmulated @@ -244,10 +230,10 @@ public abstract class RTextAreaBase extends JTextArea { setCaretPosition(newDocumentLength - 1); } } - + /** - * Converts all instances of a tab into a number of spaces equivalent - * to a tab in this text area. + * Converts all instances of a tab into a number of spaces equivalent to a tab + * in this text area. * * @see #convertSpacesToTabs * @see #getTabsEmulated @@ -268,30 +254,29 @@ public abstract class RTextAreaBase extends JTextArea { // Put caret back at same place in document. setCaretPosition(caretPosition); } - + /** * Returns the caret event/mouse listener for RTextAreas. * * @return The caret event/mouse listener. */ protected abstract RTAMouseListener createMouseListener(); - + /** - * Returns the a real UI to install on this text component. Subclasses - * can override this method to return an extended version of + * Returns the a real UI to install on this text component. Subclasses can + * override this method to return an extended version of * RTextAreaUI. * * @return The UI. */ protected abstract RTextAreaUI createRTextAreaUI(); - + /** - * Forces the current line highlight to be repainted. This hack is - * necessary for those situations when the view (appearance) changes - * but the caret's location hasn't (and thus the current line highlight - * coordinates won't get changed). Examples of this are when - * word wrap is toggled and when syntax styles are changed in an - * RSyntaxTextArea. + * Forces the current line highlight to be repainted. This hack is necessary for + * those situations when the view (appearance) changes but the caret's location + * hasn't (and thus the current line highlight coordinates won't get changed). + * Examples of this are when word wrap is toggled and when syntax styles are + * changed in an RSyntaxTextArea. */ protected void forceCurrentLineHighlightRepaint() { // Check isShowing() to prevent BadLocationException @@ -304,25 +289,25 @@ public abstract class RTextAreaBase extends JTextArea { fireCaretUpdate(mouseListener); } } - + /** - * Returns the java.awt.Color used as the background color for - * this text area. If a java.awt.Image image is currently - * being used instead, null is returned. + * Returns the java.awt.Color used as the background color for this + * text area. If a java.awt.Image image is currently being used + * instead, null is returned. * - * @return The current background color, or null if an image - * is currently the background. + * @return The current background color, or null if an image is + * currently the background. */ @Override public final Color getBackground() { Object bg = getBackgroundObject(); return (bg instanceof Color) ? (Color) bg : null; } - + /** - * Returns the image currently used for the background. - * If the current background is currently a java.awt.Color and - * not a java.awt.Image, then null is returned. + * Returns the image currently used for the background. If the current + * background is currently a java.awt.Color and not a + * java.awt.Image, then null is returned. * * @return A java.awt.Image used for the background, or * null if the background is not an image. @@ -332,12 +317,12 @@ public abstract class RTextAreaBase extends JTextArea { Object bg = getBackgroundObject(); return (bg instanceof Image) ? (Image) bg : null; } - + /** - * Returns the Object representing the background for all - * documents in this tabbed pane; either a java.awt.Color or a - * java.lang.Image containing the image used as the background - * for this text area. + * Returns the Object representing the background for all documents + * in this tabbed pane; either a java.awt.Color or a + * java.lang.Image containing the image used as the background for + * this text area. * * @return The Object used for the background. * @see #setBackgroundObject(Object newBackground) @@ -350,7 +335,7 @@ public abstract class RTextAreaBase extends JTextArea { ? (Object) ((ImageBackgroundPainterStrategy) backgroundPainter).getMasterImage() : (Object) ((ColorBackgroundPainterStrategy) backgroundPainter).getColor(); } - + /** * Gets the line number that the caret is on. * @@ -363,13 +348,13 @@ public abstract class RTextAreaBase extends JTextArea { return 0; // Never happens } } - + /** - * Gets the position from the beginning of the current line that the caret - * is on. + * Gets the position from the beginning of the current line that the caret is + * on. * - * @return The zero-based position from the beginning of the current line - * that the caret is on. + * @return The zero-based position from the beginning of the current line that + * the caret is on. */ public final int getCaretOffsetFromLineStart() { try { @@ -379,7 +364,7 @@ public abstract class RTextAreaBase extends JTextArea { return 0; // Never happens } } - + /** * Returns the y-offset of the caret. * @@ -388,11 +373,11 @@ public abstract class RTextAreaBase extends JTextArea { protected int getCurrentCaretY() { return currentCaretY; } - + /** - * Returns the color being used to highlight the current line. Note that - * if highlighting the current line is turned off, you will not be seeing - * this highlight. + * Returns the color being used to highlight the current line. Note that if + * highlighting the current line is turned off, you will not be seeing this + * highlight. * * @return The color being used to highlight the current line. * @see #getHighlightCurrentLine() @@ -402,7 +387,7 @@ public abstract class RTextAreaBase extends JTextArea { public Color getCurrentLineHighlightColor() { return currentLineColor; } - + /** * Returns the default caret color. * @@ -411,18 +396,18 @@ public abstract class RTextAreaBase extends JTextArea { public static final Color getDefaultCaretColor() { return DEFAULT_CARET_COLOR; } - + /** - * Returns the "default" color for highlighting the current line. Note - * that this color was chosen only because it looks nice (to me) against a - * white background. + * Returns the "default" color for highlighting the current line. Note that this + * color was chosen only because it looks nice (to me) against a white + * background. * * @return The default color for highlighting the current line. */ public static final Color getDefaultCurrentLineHighlightColor() { return DEFAULT_CURRENT_LINE_HIGHLIGHT_COLOR; } - + /** * Returns the default font for text areas. * @@ -453,7 +438,7 @@ public abstract class RTextAreaBase extends JTextArea { // System.out.println(font.getFamily() + ", " + font.getName()); return font; } - + /** * Returns the default foreground color for text in this text area. * @@ -462,7 +447,7 @@ public abstract class RTextAreaBase extends JTextArea { public static final Color getDefaultForeground() { return Color.BLACK; } - + /** * Returns the default color for the margin line. * @@ -473,7 +458,7 @@ public abstract class RTextAreaBase extends JTextArea { public static final Color getDefaultMarginLineColor() { return DEFAULT_MARGIN_LINE_COLOR; } - + /** * Returns the default margin line position. * @@ -484,7 +469,7 @@ public abstract class RTextAreaBase extends JTextArea { public static final int getDefaultMarginLinePosition() { return DEFAULT_MARGIN_LINE_POSITION; } - + /** * Returns the default tab size, in spaces. * @@ -493,7 +478,7 @@ public abstract class RTextAreaBase extends JTextArea { public static final int getDefaultTabSize() { return DEFAULT_TAB_SIZE; } - + /** * Returns whether the current line highlight is faded. * @@ -503,7 +488,7 @@ public abstract class RTextAreaBase extends JTextArea { public boolean getFadeCurrentLineHighlight() { return fadeCurrentLineHighlight; } - + /** * Returns whether or not the current line is highlighted. * @@ -515,10 +500,9 @@ public abstract class RTextAreaBase extends JTextArea { public boolean getHighlightCurrentLine() { return highlightCurrentLine; } - + /** - * Returns the offset of the last character of the line that the caret is - * on. + * Returns the offset of the last character of the line that the caret is on. * * @return The last offset of the line that the caret is currently on. */ @@ -529,7 +513,7 @@ public abstract class RTextAreaBase extends JTextArea { return 0; // Never happens } } - + /** * Returns the height of a line of text in this text area. * @@ -538,10 +522,9 @@ public abstract class RTextAreaBase extends JTextArea { public int getLineHeight() { return getRowHeight(); } - + /** - * Returns the offset of the first character of the line that the caret is - * on. + * Returns the offset of the first character of the line that the caret is on. * * @return The first offset of the line that the caret is currently on. */ @@ -552,7 +535,7 @@ public abstract class RTextAreaBase extends JTextArea { return 0; // Never happens } } - + /** * Returns the color used to paint the margin line. * @@ -562,10 +545,10 @@ public abstract class RTextAreaBase extends JTextArea { public Color getMarginLineColor() { return marginLineColor; } - + /** - * Returns the margin line position (in pixels) from the left-hand side of - * the text area. + * Returns the margin line position (in pixels) from the left-hand side of the + * text area. * * @return The margin line position. * @see #getDefaultMarginLinePosition @@ -574,10 +557,10 @@ public abstract class RTextAreaBase extends JTextArea { public int getMarginLinePixelLocation() { return marginLineX; } - + /** - * Returns the margin line position (which is the number of 'm' widths in - * the current font the margin line is over). + * Returns the margin line position (which is the number of 'm' widths in the + * current font the margin line is over). * * @return The margin line position. * @see #getDefaultMarginLinePosition @@ -586,7 +569,7 @@ public abstract class RTextAreaBase extends JTextArea { public int getMarginLinePosition() { return marginSizeInChars; } - + /** * Returns whether selection edges are rounded in this text area. * @@ -596,10 +579,9 @@ public abstract class RTextAreaBase extends JTextArea { public boolean getRoundedSelectionEdges() { return roundedSelectionEdges; } - + /** - * Returns whether or not tabs are emulated with spaces (i.e., "soft" - * tabs). + * Returns whether or not tabs are emulated with spaces (i.e., "soft" tabs). * * @return true if tabs are emulated with spaces; * false if they aren't. @@ -608,7 +590,7 @@ public abstract class RTextAreaBase extends JTextArea { public boolean getTabsEmulated() { return tabsEmulatedWithSpaces; } - + /** * Initializes this text area. */ @@ -640,7 +622,7 @@ public abstract class RTextAreaBase extends JTextArea { addFocusListener(mouseListener); addCurrentLineHighlightListeners(); } - + /** * Returns whether or not the margin line is being painted. * @@ -650,7 +632,7 @@ public abstract class RTextAreaBase extends JTextArea { public boolean isMarginLineEnabled() { return marginLineEnabled; } - + /** * Returns whether the OS we're running on is OS X. * @@ -662,12 +644,11 @@ public abstract class RTextAreaBase extends JTextArea { String osName = System.getProperty("os.name").toLowerCase(); return osName.startsWith("mac os x"); } - + /** * Paints the text area. * - * @param g - * The graphics context with which to paint. + * @param g The graphics context with which to paint. */ @Override protected void paintComponent(Graphics g) { @@ -687,7 +668,7 @@ public abstract class RTextAreaBase extends JTextArea { // long endTime = System.currentTimeMillis(); // System.err.println(endTime-startTime); } - + /** * Updates the current line highlight location. */ @@ -738,15 +719,14 @@ public abstract class RTextAreaBase extends JTextArea { } previousCaretY = currentCaretY; } - + /** * Overridden so we can tell when the text area is resized and update the - * current-line highlight, if necessary (i.e., if it is enabled and if - * lineWrap is enabled. + * current-line highlight, if necessary (i.e., if it is enabled and if lineWrap + * is enabled. * - * @param e - * The component event about to be sent to all registered - * ComponentListeners. + * @param e The component event about to be sent to all registered + * ComponentListeners. */ @Override protected void processComponentEvent(ComponentEvent e) { @@ -760,25 +740,23 @@ public abstract class RTextAreaBase extends JTextArea { } super.processComponentEvent(e); } - + /** - * Sets the background color of this text editor. Note that this is - * equivalent to calling setBackgroundObject(bg). + * Sets the background color of this text editor. Note that this is equivalent + * to calling setBackgroundObject(bg). *

          * - * NOTE: the opaque property is set to true when the - * background is set to a color with 1.0 alpha (by this method). When an - * image is used for the background, opaque is set to false. This is - * because we perform better when setOpaque is true, but if we use an - * image for the background when opaque is true, we get on-screen - * garbage when the user scrolls via the arrow keys. Thus we - * need setOpaque to be false in that case. + * NOTE: the opaque property is set to true when the background is + * set to a color with 1.0 alpha (by this method). When an image is used for the + * background, opaque is set to false. This is because we perform better when + * setOpaque is true, but if we use an image for the background when opaque is + * true, we get on-screen garbage when the user scrolls via the arrow keys. Thus + * we need setOpaque to be false in that case. *

          - * You never have to change the opaque property yourself; it is always done - * for you. + * You never have to change the opaque property yourself; it is always done for + * you. * - * @param bg - * The color to use as the background color. + * @param bg The color to use as the background color. */ @Override public void setBackground(Color bg) { @@ -792,25 +770,23 @@ public abstract class RTextAreaBase extends JTextArea { firePropertyChange("background", oldBG, bg); repaint(); } - + /** - * Sets this image as the background image. This method fires a - * property change event of type {@link #BACKGROUND_IMAGE_PROPERTY}. + * Sets this image as the background image. This method fires a property change + * event of type {@link #BACKGROUND_IMAGE_PROPERTY}. *

          * - * NOTE: the opaque property is set to true when the - * background is set to a color. When an image is used for the - * background (by this method), opaque is set to false. This is because - * we perform better when setOpaque is true, but if we use an - * image for the background when opaque is true, we get on-screen - * garbage when the user scrolls via the arrow keys. Thus we - * need setOpaque to be false in that case. + * NOTE: the opaque property is set to true when the background is + * set to a color. When an image is used for the background (by this method), + * opaque is set to false. This is because we perform better when setOpaque is + * true, but if we use an image for the background when opaque is true, we get + * on-screen garbage when the user scrolls via the arrow keys. Thus we need + * setOpaque to be false in that case. *

          - * You never have to change the opaque property yourself; it is always done - * for you. + * You never have to change the opaque property yourself; it is always done for + * you. * - * @param image - * The image to use as this text area's background. + * @param image The image to use as this text area's background. * @see #getBackgroundImage */ public void setBackgroundImage(Image image) { @@ -826,15 +802,14 @@ public abstract class RTextAreaBase extends JTextArea { firePropertyChange(BACKGROUND_IMAGE_PROPERTY, oldBG, image); repaint(); } - + /** * Makes the background into this Object. * - * @param newBackground - * The java.awt.Color or - * java.awt.Image object. If - * newBackground - * is not either of these, the background is set to plain white. + * @param newBackground The java.awt.Color or + * java.awt.Image object. If + * newBackground is not either of these, the + * background is set to plain white. */ public void setBackgroundObject(Object newBackground) { if (newBackground instanceof Color) { @@ -845,10 +820,10 @@ public abstract class RTextAreaBase extends JTextArea { setBackground(Color.WHITE); } } - + /* - * TODO: Figure out why RTextArea doesn't work with RTL (e.g. Arabic) - * and fix it! + * TODO: Figure out why RTextArea doesn't work with RTL (e.g. Arabic) and fix + * it! */ // public void setComponentOrientation(ComponentOrientation o) { // if (!o.isLeftToRight()) { @@ -858,14 +833,12 @@ public abstract class RTextAreaBase extends JTextArea { // } /** * Sets the color to use to highlight the current line. Note that if - * highlighting the current line is turned off, you will not be able to - * see this highlight. This method fires a property change of type + * highlighting the current line is turned off, you will not be able to see this + * highlight. This method fires a property change of type * {@link #CURRENT_LINE_HIGHLIGHT_COLOR_PROPERTY}. * - * @param color - * The color to use to highlight the current line. - * @throws NullPointerException - * if color is null. + * @param color The color to use to highlight the current line. + * @throws NullPointerException if color is null. * @see #getHighlightCurrentLine() * @see #setHighlightCurrentLine(boolean) * @see #getCurrentLineHighlightColor @@ -880,14 +853,13 @@ public abstract class RTextAreaBase extends JTextArea { firePropertyChange(CURRENT_LINE_HIGHLIGHT_COLOR_PROPERTY, old, color); } } - + /** - * Sets whether the current line highlight should have a "fade" effect. - * This method fires a property change event of type + * Sets whether the current line highlight should have a "fade" effect. This + * method fires a property change event of type * CURRENT_LINE_HIGHLIGHT_FADE_PROPERTY. * - * @param fade - * Whether the fade effect should be enabled. + * @param fade Whether the fade effect should be enabled. * @see #getFadeCurrentLineHighlight */ public void setFadeCurrentLineHighlight(boolean fade) { @@ -899,14 +871,13 @@ public abstract class RTextAreaBase extends JTextArea { firePropertyChange(CURRENT_LINE_HIGHLIGHT_FADE_PROPERTY, !fade, fade); } } - + /** - * Sets the font for this text area. This is overridden only so that we - * can update the size of the "current line highlight" and the location of - * the "margin line," if necessary. + * Sets the font for this text area. This is overridden only so that we can + * update the size of the "current line highlight" and the location of the + * "margin line," if necessary. * - * @param font - * The font to use for this text component. + * @param font The font to use for this text component. */ @Override public void setFont(Font font) { @@ -921,13 +892,12 @@ public abstract class RTextAreaBase extends JTextArea { } } } - + /** - * Sets whether or not the current line is highlighted. This method - * fires a property change of type {@link #HIGHLIGHT_CURRENT_LINE_PROPERTY}. + * Sets whether or not the current line is highlighted. This method fires a + * property change of type {@link #HIGHLIGHT_CURRENT_LINE_PROPERTY}. * - * @param highlight - * Whether or not to highlight the current line. + * @param highlight Whether or not to highlight the current line. * @see #getHighlightCurrentLine() * @see #getCurrentLineHighlightColor * @see #setCurrentLineHighlightColor @@ -939,25 +909,23 @@ public abstract class RTextAreaBase extends JTextArea { repaint(); // Repaint entire width of line. } } - + /** - * Sets whether or not word wrap is enabled. This is overridden so that - * the "current line highlight" gets updated if it needs to be. + * Sets whether or not word wrap is enabled. This is overridden so that the + * "current line highlight" gets updated if it needs to be. * - * @param wrap - * Whether or not word wrap should be enabled. + * @param wrap Whether or not word wrap should be enabled. */ @Override public void setLineWrap(boolean wrap) { super.setLineWrap(wrap); forceCurrentLineHighlightRepaint(); } - + /** * Overridden to update the current line highlight location. * - * @param insets - * The new insets. + * @param insets The new insets. */ @Override public void setMargin(Insets insets) { @@ -971,12 +939,11 @@ public abstract class RTextAreaBase extends JTextArea { } super.setMargin(insets); } - + /** * Sets the color used to paint the margin line. * - * @param color - * The new margin line color. + * @param color The new margin line color. * @see #getDefaultMarginLineColor() * @see #getMarginLineColor() */ @@ -987,12 +954,11 @@ public abstract class RTextAreaBase extends JTextArea { repaint(marginLineX, visibleRect.y, 1, visibleRect.height); } } - + /** * Enables or disables the margin line. * - * @param enabled - * Whether or not the margin line should be enabled. + * @param enabled Whether or not the margin line should be enabled. * @see #isMarginLineEnabled */ public void setMarginLineEnabled(boolean enabled) { @@ -1004,13 +970,11 @@ public abstract class RTextAreaBase extends JTextArea { } } } - + /** * Sets the number of 'm' widths the margin line is over. * - * @param size - * The margin size. - * #see #getDefaultMarginLinePosition + * @param size The margin size. #see #getDefaultMarginLinePosition * @see #getMarginLinePosition */ public void setMarginLinePosition(int size) { @@ -1022,14 +986,12 @@ public abstract class RTextAreaBase extends JTextArea { repaint(marginLineX, visibleRect.y, 1, visibleRect.height); } } - + /** - * Sets whether the edges of selections are rounded in this text area. - * This method fires a property change of type - * {@link #ROUNDED_SELECTION_PROPERTY}. + * Sets whether the edges of selections are rounded in this text area. This + * method fires a property change of type {@link #ROUNDED_SELECTION_PROPERTY}. * - * @param rounded - * Whether selection edges should be rounded. + * @param rounded Whether selection edges should be rounded. * @see #getRoundedSelectionEdges() */ public void setRoundedSelectionEdges(boolean rounded) { @@ -1045,17 +1007,15 @@ public abstract class RTextAreaBase extends JTextArea { firePropertyChange(ROUNDED_SELECTION_PROPERTY, !rounded, rounded); } } - + /** - * Sets the UI for this RTextArea. Note that, for instances - * of RTextArea, setUI only updates the popup - * menu; this is because RTextAreas' look and feels are - * independent of the Java Look and Feel. This method is here so - * subclasses can set a UI (subclass of RTextAreaUI) if they - * have to. + * Sets the UI for this RTextArea. Note that, for instances of + * RTextArea, setUI only updates the popup menu; this + * is because RTextAreas' look and feels are independent of the + * Java Look and Feel. This method is here so subclasses can set a UI (subclass + * of RTextAreaUI) if they have to. * - * @param ui - * The new UI. + * @param ui The new UI. * @see #setUI */ protected void setRTextAreaUI(RTextAreaUI ui) { @@ -1064,15 +1024,14 @@ public abstract class RTextAreaBase extends JTextArea { // want it to be. setOpaque(getBackgroundObject() instanceof Color); } - + /** - * Changes whether or not tabs should be emulated with spaces (i.e., soft - * tabs). Note that this affects all tabs inserted AFTER this call, not - * tabs already in the document. For that, see - * {@link #convertTabsToSpaces} and {@link #convertSpacesToTabs}. + * Changes whether or not tabs should be emulated with spaces (i.e., soft tabs). + * Note that this affects all tabs inserted AFTER this call, not tabs already in + * the document. For that, see {@link #convertTabsToSpaces} and + * {@link #convertSpacesToTabs}. * - * @param areEmulated - * Whether or not tabs should be emulated with spaces. + * @param areEmulated Whether or not tabs should be emulated with spaces. * @see #convertSpacesToTabs * @see #convertTabsToSpaces * @see #getTabsEmulated @@ -1080,18 +1039,17 @@ public abstract class RTextAreaBase extends JTextArea { public void setTabsEmulated(boolean areEmulated) { tabsEmulatedWithSpaces = areEmulated; } - + /** - * Workaround, since in JDK1.4 it appears that setTabSize() - * doesn't work for a JTextArea unless you use the constructor - * specifying the number of rows and columns... + * Workaround, since in JDK1.4 it appears that setTabSize() doesn't + * work for a JTextArea unless you use the constructor specifying + * the number of rows and columns... *

          - * Sets the number of characters to expand tabs to. This will be multiplied - * by the maximum advance for variable width fonts. A PropertyChange event + * Sets the number of characters to expand tabs to. This will be multiplied by + * the maximum advance for variable width fonts. A PropertyChange event * ("tabSize") is fired when the tab size changes. * - * @param size - * Number of characters to expand to. + * @param size Number of characters to expand to. */ @Override public void setTabSize(int size) { @@ -1100,11 +1058,11 @@ public abstract class RTextAreaBase extends JTextArea { setLineWrap(!b); setLineWrap(b); } - + /** - * This is here so subclasses such as RSyntaxTextArea that - * have multiple fonts can define exactly what it means, for example, for - * the margin line to be "80 characters" over. + * This is here so subclasses such as RSyntaxTextArea that have + * multiple fonts can define exactly what it means, for example, for the margin + * line to be "80 characters" over. */ protected void updateMarginLineX() { Font font = getFont(); @@ -1114,85 +1072,90 @@ public abstract class RTextAreaBase extends JTextArea { } marginLineX = getFontMetrics(font).charWidth('m') * marginSizeInChars; } - + /** * Returns the y-coordinate of the specified line. * - * @param line - * The line number. - * @return The y-coordinate of the top of the line, or -1 if - * this text area doesn't yet have a positive size or the line is - * hidden (i.e. from folding). - * @throws BadLocationException - * If line isn't a valid line - * number for this document. + * @param line The line number. + * @return The y-coordinate of the top of the line, or -1 if this + * text area doesn't yet have a positive size or the line is hidden + * (i.e. from folding). + * @throws BadLocationException If line isn't a valid line number + * for this document. */ public int yForLine(int line) throws BadLocationException { return ((RTextAreaUI) getUI()).yForLine(line); } - + /** * Returns the y-coordinate of the line containing an offset. * - * @param offs - * The offset info the document. - * @return The y-coordinate of the top of the offset, or -1 if - * this text area doesn't yet have a positive size or the line is - * hidden (i.e. from folding). - * @throws BadLocationException - * If offs isn't a valid offset - * into the document. + * @param offs The offset info the document. + * @return The y-coordinate of the top of the offset, or -1 if this + * text area doesn't yet have a positive size or the line is hidden + * (i.e. from folding). + * @throws BadLocationException If offs isn't a valid offset into + * the document. */ public int yForLineContaining(int offs) throws BadLocationException { return ((RTextAreaUI) getUI()).yForLineContaining(offs); } - + /** * Listens for mouse events in this component. */ protected class RTAMouseListener extends CaretEvent implements MouseListener, MouseMotionListener, FocusListener { - + RTAMouseListener(RTextAreaBase textArea) { super(textArea); } - + @Override - public void focusGained(FocusEvent e) {} - + public void focusGained(FocusEvent e) { + } + @Override - public void focusLost(FocusEvent e) {} - + public void focusLost(FocusEvent e) { + } + @Override - public void mouseDragged(MouseEvent e) {} - + public void mouseDragged(MouseEvent e) { + } + @Override - public void mouseMoved(MouseEvent e) {} - + public void mouseMoved(MouseEvent e) { + } + @Override - public void mouseClicked(MouseEvent e) {} - + public void mouseClicked(MouseEvent e) { + } + @Override - public void mousePressed(MouseEvent e) {} - + public void mousePressed(MouseEvent e) { + } + @Override - public void mouseReleased(MouseEvent e) {} - + public void mouseReleased(MouseEvent e) { + } + @Override - public void mouseEntered(MouseEvent e) {} - + public void mouseEntered(MouseEvent e) { + } + @Override - public void mouseExited(MouseEvent e) {} - + public void mouseExited(MouseEvent e) { + } + @Override public int getDot() { return dot; } - + @Override public int getMark() { return mark; } - + protected int dot; protected int mark; } diff --git a/src/org/fife/ui/rtextarea/RTextAreaEditorKit.java b/src/org/fife/ui/rtextarea/RTextAreaEditorKit.java index da80e4a..289c635 100644 --- a/src/org/fife/ui/rtextarea/RTextAreaEditorKit.java +++ b/src/org/fife/ui/rtextarea/RTextAreaEditorKit.java @@ -253,6 +253,7 @@ public class RTextAreaEditorKit extends DefaultEditorKit { * @return The line number list. */ public LineNumberList createLineNumberList(RTextArea textArea) { + // TODO ByteEdit modified return new LineNumberList(textArea); } diff --git a/src/org/fife/ui/rtextarea/RTextAreaUI.java b/src/org/fife/ui/rtextarea/RTextAreaUI.java index f4df10c..3159065 100644 --- a/src/org/fife/ui/rtextarea/RTextAreaUI.java +++ b/src/org/fife/ui/rtextarea/RTextAreaUI.java @@ -51,33 +51,30 @@ import javax.swing.text.WrappedPlainView; * @version 0.5 */ public class RTextAreaUI extends BasicTextAreaUI { - + private static final String SHARED_ACTION_MAP_NAME = "RTextAreaUI.actionMap"; private static final String SHARED_INPUT_MAP_NAME = "RTextAreaUI.inputMap"; protected RTextArea textArea; // The text area for which we are the UI. private static final EditorKit DEFAULT_KIT = new RTextAreaEditorKit(); private static final TransferHandler DEFAULT_TRANSFER_HANDLER = new RTATextTransferHandler(); private static final String RTEXTAREA_KEYMAP_NAME = "RTextAreaKeymap"; - + /** * Creates a UI for an RTextArea. * - * @param textArea - * A text area. + * @param textArea A text area. * @return The UI. */ public static ComponentUI createUI(JComponent textArea) { return new RTextAreaUI(textArea); } - + /** * Constructor. * - * @param textArea - * An instance of RTextArea. - * @throws IllegalArgumentException - * If textArea is not an - * instance of RTextArea. + * @param textArea An instance of RTextArea. + * @throws IllegalArgumentException If textArea is not an instance + * of RTextArea. */ public RTextAreaUI(JComponent textArea) { if (!(textArea instanceof RTextArea)) { @@ -85,16 +82,15 @@ public class RTextAreaUI extends BasicTextAreaUI { } this.textArea = (RTextArea) textArea; } - + /** - * The Nimbus LAF (and any Synth laf might have similar issues) doesn't set - * many UIManager properties that BasicLAF UI's look for. This causes - * problems for custom Basic-based UI's such as RTextAreaUI. This method - * attempts to detect if Nimbus has been installed, and if so, sets proper - * values for some editor properties. + * The Nimbus LAF (and any Synth laf might have similar issues) doesn't set many + * UIManager properties that BasicLAF UI's look for. This causes problems for + * custom Basic-based UI's such as RTextAreaUI. This method attempts to detect + * if Nimbus has been installed, and if so, sets proper values for some editor + * properties. * - * @param editor - * The text area. + * @param editor The text area. */ private void correctNimbusDefaultProblems(JTextComponent editor) { // Don't check UIManager.getLookAndFeel().getName() for "Nimbus", @@ -150,13 +146,11 @@ public class RTextAreaUI extends BasicTextAreaUI { editor.setMargin(new InsetsUIResource(2, 2, 2, 2)); } } - + /** - * Creates the view for an element. Returns a WrappedPlainView or - * PlainView. + * Creates the view for an element. Returns a WrappedPlainView or PlainView. * - * @param elem - * The element. + * @param elem The element. * @return The view. */ @Override @@ -167,7 +161,7 @@ public class RTextAreaUI extends BasicTextAreaUI { return new PlainView(elem); } } - + /** * Returns the default caret for an RTextArea. This caret is * capable of displaying itself differently for insert/overwrite modes. @@ -180,12 +174,12 @@ public class RTextAreaUI extends BasicTextAreaUI { caret.setBlinkRate(500); return caret; } - + /** - * Creates the keymap for this text area. This takes the super class's - * keymap, but sets the default keystroke to be RTextAreaEditorKit's - * DefaultKeyTypedAction. This must be done to override the default - * keymap's default key-typed action. + * Creates the keymap for this text area. This takes the super class's keymap, + * but sets the default keystroke to be RTextAreaEditorKit's + * DefaultKeyTypedAction. This must be done to override the default keymap's + * default key-typed action. * * @return The keymap. */ @@ -201,16 +195,16 @@ public class RTextAreaUI extends BasicTextAreaUI { } return map; } - + /** - * Creates a default action map. This action map contains actions for all - * basic text area work - cut, copy, paste, select, caret motion, etc. + * Creates a default action map. This action map contains actions for all basic + * text area work - cut, copy, paste, select, caret motion, etc. *

          * * This isn't named createActionMap() because there is a - * package-private member by that name in BasicTextAreaUI, - * and some compilers will give warnings that we are not overriding that - * method since it is package-private. + * package-private member by that name in BasicTextAreaUI, and some + * compilers will give warnings that we are not overriding that method since it + * is package-private. * * @return The action map. */ @@ -231,23 +225,22 @@ public class RTextAreaUI extends BasicTextAreaUI { map.put(TransferHandler.getPasteAction().getValue(Action.NAME), TransferHandler.getPasteAction()); return map; } - + /** - * Returns the name to use to cache/fetch the shared action map. This - * should be overridden by subclasses if the subclass has its own custom - * editor kit to install, so its actions get picked up. + * Returns the name to use to cache/fetch the shared action map. This should be + * overridden by subclasses if the subclass has its own custom editor kit to + * install, so its actions get picked up. * * @return The name of the cached action map. */ protected String getActionMapName() { return SHARED_ACTION_MAP_NAME; } - + /** * Fetches the EditorKit for the UI. * - * @param tc - * the text component for which this UI is installed + * @param tc the text component for which this UI is installed * @return the editor capabilities * @see TextUI#getEditorKit */ @@ -255,7 +248,7 @@ public class RTextAreaUI extends BasicTextAreaUI { public EditorKit getEditorKit(JTextComponent tc) { return DEFAULT_KIT; } - + /** * Returns the text area for which we are the UI. * @@ -264,16 +257,16 @@ public class RTextAreaUI extends BasicTextAreaUI { public RTextArea getRTextArea() { return textArea; } - + /** * Returns an action map to use by a text area. *

          * - * This method is not named getActionMap() because there is - * a package-private method in BasicTextAreaUI with that name. - * Thus, creating a new method with that name causes certain compilers to - * issue warnings that you are not actually overriding the original method - * (since it is package-private). + * This method is not named getActionMap() because there is a + * package-private method in BasicTextAreaUI with that name. Thus, + * creating a new method with that name causes certain compilers to issue + * warnings that you are not actually overriding the original method (since it + * is package-private). * * @return The action map. * @see #createRTextAreaActionMap() @@ -293,16 +286,16 @@ public class RTextAreaUI extends BasicTextAreaUI { } return componentMap; } - + /** * Get the InputMap to use for the UI. *

          * - * This method is not named getInputMap() because there is - * a package-private method in BasicTextAreaUI with that name. - * Thus, creating a new method with that name causes certain compilers to - * issue warnings that you are not actually overriding the original method - * (since it is package-private). + * This method is not named getInputMap() because there is a + * package-private method in BasicTextAreaUI with that name. Thus, + * creating a new method with that name causes certain compilers to issue + * warnings that you are not actually overriding the original method (since it + * is package-private). */ protected InputMap getRTextAreaInputMap() { InputMap map = new InputMapUIResource(); @@ -317,14 +310,12 @@ public class RTextAreaUI extends BasicTextAreaUI { map.setParent(shared); return map; } - + /** - * Gets the allocation to give the root View. Due - * to an unfortunate set of historical events this - * method is inappropriately named. The Rectangle - * returned has nothing to do with visibility. - * The component must have a non-zero positive size for - * this translation to be computed. + * Gets the allocation to give the root View. Due to an unfortunate set of + * historical events this method is inappropriately named. The Rectangle + * returned has nothing to do with visibility. The component must have a + * non-zero positive size for this translation to be computed. * * @return the bounding box for the root view */ @@ -342,7 +333,7 @@ public class RTextAreaUI extends BasicTextAreaUI { } return null; } - + @Override protected void installDefaults() { super.installDefaults(); @@ -353,7 +344,7 @@ public class RTextAreaUI extends BasicTextAreaUI { correctNimbusDefaultProblems(editor); editor.setTransferHandler(DEFAULT_TRANSFER_HANDLER); } - + /** * {@inheritDoc} */ @@ -382,7 +373,7 @@ public class RTextAreaUI extends BasicTextAreaUI { SwingUtilities.replaceUIActionMap(textArea, am); } } - + /** * Installs this UI to the given text component. */ @@ -393,7 +384,7 @@ public class RTextAreaUI extends BasicTextAreaUI { } super.installUI(c); } - + @Override protected void paintBackground(Graphics g) { // Only fill in the background if an image isn't being used. @@ -406,14 +397,12 @@ public class RTextAreaUI extends BasicTextAreaUI { } paintEditorAugmentations(g); } - + /** * Paints the highlighted current line, if it is enabled. * - * @param g - * The graphics context with which to paint. - * @param visibleRect - * The visible rectangle of the text area. + * @param g The graphics context with which to paint. + * @param visibleRect The visible rectangle of the text area. */ protected void paintCurrentLineHighlight(Graphics g, Rectangle visibleRect) { if (textArea.getHighlightCurrentLine()) { @@ -431,8 +420,8 @@ public class RTextAreaUI extends BasicTextAreaUI { if (textArea.getFadeCurrentLineHighlight()) { Graphics2D g2d = (Graphics2D) g; Color bg = textArea.getBackground(); - GradientPaint paint = new GradientPaint(visibleRect.x, 0, highlight, visibleRect.x + visibleRect.width, 0, - bg == null ? Color.WHITE : bg); + GradientPaint paint = new GradientPaint(visibleRect.x, 0, highlight, + visibleRect.x + visibleRect.width, 0, bg == null ? Color.WHITE : bg); g2d.setPaint(paint); g2d.fillRect(visibleRect.x, textArea.currentCaretY, visibleRect.width, height); } else { @@ -442,13 +431,12 @@ public class RTextAreaUI extends BasicTextAreaUI { } } } - + /** - * Paints editor augmentations added by RTextArea: highlighted lines, - * current line highlight, and margin line. + * Paints editor augmentations added by RTextArea: highlighted lines, current + * line highlight, and margin line. * - * @param g - * The graphics context with which to paint. + * @param g The graphics context with which to paint. */ protected void paintEditorAugmentations(Graphics g) { Rectangle visibleRect = textArea.getVisibleRect(); @@ -456,12 +444,11 @@ public class RTextAreaUI extends BasicTextAreaUI { paintCurrentLineHighlight(g, visibleRect); paintMarginLine(g, visibleRect); } - + /** * Paints any line highlights. * - * @param g - * The graphics context. + * @param g The graphics context. */ protected void paintLineHighlights(Graphics g) { LineHighlightManager lhm = textArea.getLineHighlightManager(); @@ -469,14 +456,12 @@ public class RTextAreaUI extends BasicTextAreaUI { lhm.paintLineHighlights(g); } } - + /** * Draws the "margin line" if enabled. * - * @param g - * The graphics context to paint with. - * @param visibleRect - * The visible rectangle of this text area. + * @param g The graphics context to paint with. + * @param visibleRect The visible rectangle of this text area. */ protected void paintMarginLine(Graphics g, Rectangle visibleRect) { if (textArea.isMarginLineEnabled()) { @@ -486,7 +471,7 @@ public class RTextAreaUI extends BasicTextAreaUI { g.drawLine(marginLineX, visibleRect.y, marginLineX, visibleRect.y + visibleRect.height); } } - + @Override protected void paintSafely(Graphics g) { // Paint editor augmentations if editor is not opaque because @@ -496,7 +481,7 @@ public class RTextAreaUI extends BasicTextAreaUI { } super.paintSafely(g); } - + /** * Returns the y-coordinate of the specified line. *

          @@ -509,24 +494,22 @@ public class RTextAreaUI extends BasicTextAreaUI { *

        * * Subclasses that can calculate this value more quickly than traditional - * {@link #modelToView(JTextComponent, int)} calls should override this - * method to do so. This method may be used when the entire bounding box - * isn't needed, to speed up rendering. + * {@link #modelToView(JTextComponent, int)} calls should override this method + * to do so. This method may be used when the entire bounding box isn't needed, + * to speed up rendering. * - * @param line - * The line number. - * @return The y-coordinate of the top of the line, or -1 if - * this text area doesn't yet have a positive size or the line is - * hidden (i.e. from folding). - * @throws BadLocationException - * If line isn't a valid line - * number for this document. + * @param line The line number. + * @return The y-coordinate of the top of the line, or -1 if this + * text area doesn't yet have a positive size or the line is hidden + * (i.e. from folding). + * @throws BadLocationException If line isn't a valid line number + * for this document. */ public int yForLine(int line) throws BadLocationException { int startOffs = textArea.getLineStartOffset(line); return yForLineContaining(startOffs); } - + /** * Returns the y-coordinate of the line containing an offset. *

        @@ -540,34 +523,32 @@ public class RTextAreaUI extends BasicTextAreaUI { * * * Subclasses that can calculate this value more quickly than traditional - * {@link #modelToView(JTextComponent, int)} calls should override this - * method to do so. This method may be used when the entire bounding box - * isn't needed, to speed up rendering. + * {@link #modelToView(JTextComponent, int)} calls should override this method + * to do so. This method may be used when the entire bounding box isn't needed, + * to speed up rendering. * - * @param offs - * The offset info the document. - * @return The y-coordinate of the top of the offset, or -1 if - * this text area doesn't yet have a positive size or the line is - * hidden (i.e. from folding). - * @throws BadLocationException - * If offs isn't a valid offset - * into the document. + * @param offs The offset info the document. + * @return The y-coordinate of the top of the offset, or -1 if this + * text area doesn't yet have a positive size or the line is hidden + * (i.e. from folding). + * @throws BadLocationException If offs isn't a valid offset into + * the document. */ public int yForLineContaining(int offs) throws BadLocationException { Rectangle r = modelToView(textArea, offs); return r != null ? r.y : -1; } - + /** * Registered in the ActionMap. */ class FocusAction extends AbstractAction { - + @Override public void actionPerformed(ActionEvent e) { textArea.requestFocus(); } - + @Override public boolean isEnabled() { return textArea.isEditable(); diff --git a/src/org/fife/ui/rtextarea/RTextScrollPane.java b/src/org/fife/ui/rtextarea/RTextScrollPane.java index a42a4a2..75e2279 100644 --- a/src/org/fife/ui/rtextarea/RTextScrollPane.java +++ b/src/org/fife/ui/rtextarea/RTextScrollPane.java @@ -36,106 +36,87 @@ import javax.swing.JScrollPane; * @version 1.0 */ public class RTextScrollPane extends JScrollPane { - + private Gutter gutter; - + /** * Constructor. If you use this constructor, you must call - * {@link #setViewportView(Component)} and pass in an {@link RTextArea} for - * this + * {@link #setViewportView(Component)} and pass in an {@link RTextArea} for this * scroll pane to render line numbers properly. */ public RTextScrollPane() { this(null, true); } - + /** * Creates a scroll pane. A default value will be used for line number color * (gray), and the current line's line number will be highlighted. * - * @param textArea - * The text area this scroll pane will contain. + * @param textArea The text area this scroll pane will contain. */ public RTextScrollPane(RTextArea textArea) { this(textArea, true); } - + /** * Creates a scroll pane. A default value will be used for line number color * (gray), and the current line's line number will be highlighted. * - * @param comp - * The component this scroll pane should display. This should be - * an - * instance of {@link RTextArea}, javax.swing.JLayer - * (or - * the older org.jdesktop.jxlayer.JXLayer), or - * null. If this argument is null, you - * must - * call {@link #setViewportView(Component)}, passing in an - * instance - * of one of the types above. + * @param comp The component this scroll pane should display. This should be an + * instance of {@link RTextArea}, javax.swing.JLayer + * (or the older org.jdesktop.jxlayer.JXLayer), or + * null. If this argument is null, you + * must call {@link #setViewportView(Component)}, passing in an + * instance of one of the types above. */ public RTextScrollPane(Component comp) { this(comp, true); } - + /** * Creates a scroll pane. A default value will be used for line number color * (gray), and the current line's line number will be highlighted. * - * @param textArea - * The text area this scroll pane will contain. If this is - * null, you must call - * {@link #setViewportView(Component)}, passing in an - * {@link RTextArea}. - * @param lineNumbers - * Whether line numbers should be enabled. + * @param textArea The text area this scroll pane will contain. If this is + * null, you must call + * {@link #setViewportView(Component)}, passing in an + * {@link RTextArea}. + * @param lineNumbers Whether line numbers should be enabled. */ public RTextScrollPane(RTextArea textArea, boolean lineNumbers) { this(textArea, lineNumbers, Color.GRAY); } - + /** * Creates a scroll pane. A default value will be used for line number color * (gray), and the current line's line number will be highlighted. * - * @param comp - * The component this scroll pane should display. This should be - * an - * instance of {@link RTextArea}, javax.swing.JLayer - * (or - * the older org.jdesktop.jxlayer.JXLayer), or - * null. If this argument is null, you - * must - * call {@link #setViewportView(Component)}, passing in an - * instance - * of one of the types above. - * @param lineNumbers - * Whether line numbers should be enabled. + * @param comp The component this scroll pane should display. This should + * be an instance of {@link RTextArea}, + * javax.swing.JLayer (or the older + * org.jdesktop.jxlayer.JXLayer), or + * null. If this argument is null, + * you must call {@link #setViewportView(Component)}, passing + * in an instance of one of the types above. + * @param lineNumbers Whether line numbers should be enabled. */ public RTextScrollPane(Component comp, boolean lineNumbers) { this(comp, lineNumbers, Color.GRAY); } - + /** * Creates a scroll pane. * - * @param comp - * The component this scroll pane should display. This should be - * an - * instance of {@link RTextArea}, javax.swing.JLayer - * (or - * the older org.jdesktop.jxlayer.JXLayer), or - * null. If this argument is null, you - * must - * call {@link #setViewportView(Component)}, passing in an - * instance - * of one of the types above. - * @param lineNumbers - * Whether line numbers are initially enabled. - * @param lineNumberColor - * The color to use for line numbers. + * @param comp The component this scroll pane should display. This + * should be an instance of {@link RTextArea}, + * javax.swing.JLayer (or the older + * org.jdesktop.jxlayer.JXLayer), or + * null. If this argument is + * null, you must call + * {@link #setViewportView(Component)}, passing in an + * instance of one of the types above. + * @param lineNumbers Whether line numbers are initially enabled. + * @param lineNumberColor The color to use for line numbers. */ public RTextScrollPane(Component comp, boolean lineNumbers, Color lineNumberColor) { super(comp); @@ -150,7 +131,7 @@ public class RTextScrollPane extends JScrollPane { setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_ALWAYS); setHorizontalScrollBarPolicy(HORIZONTAL_SCROLLBAR_AS_NEEDED); } - + /** * Ensures the gutter is visible if it's showing anything. */ @@ -166,7 +147,7 @@ public class RTextScrollPane extends JScrollPane { } } } - + /** * Returns the gutter. * @@ -175,7 +156,7 @@ public class RTextScrollPane extends JScrollPane { public Gutter getGutter() { return gutter; } - + /** * Returns true if the line numbers are enabled and visible. * @@ -185,7 +166,7 @@ public class RTextScrollPane extends JScrollPane { public boolean getLineNumbersEnabled() { return gutter.getLineNumbersEnabled(); } - + /** * Returns the text area being displayed. * @@ -195,7 +176,7 @@ public class RTextScrollPane extends JScrollPane { public RTextArea getTextArea() { return (RTextArea) getViewport().getView(); } - + /** * Returns whether the fold indicator is enabled. * @@ -205,7 +186,7 @@ public class RTextScrollPane extends JScrollPane { public boolean isFoldIndicatorEnabled() { return gutter.isFoldIndicatorEnabled(); } - + /** * Returns whether the icon row header is enabled. * @@ -215,50 +196,45 @@ public class RTextScrollPane extends JScrollPane { public boolean isIconRowHeaderEnabled() { return gutter.isIconRowHeaderEnabled(); } - + /** * Toggles whether the fold indicator is enabled. * - * @param enabled - * Whether the fold indicator should be enabled. + * @param enabled Whether the fold indicator should be enabled. * @see #isFoldIndicatorEnabled() */ public void setFoldIndicatorEnabled(boolean enabled) { gutter.setFoldIndicatorEnabled(enabled); checkGutterVisibility(); } - + /** - * Toggles whether the icon row header (used for breakpoints, bookmarks, - * etc.) + * Toggles whether the icon row header (used for breakpoints, bookmarks, etc.) * is enabled. * - * @param enabled - * Whether the icon row header is enabled. + * @param enabled Whether the icon row header is enabled. * @see #isIconRowHeaderEnabled() */ public void setIconRowHeaderEnabled(boolean enabled) { gutter.setIconRowHeaderEnabled(enabled); checkGutterVisibility(); } - + /** * Toggles whether or not line numbers are visible. * - * @param enabled - * Whether or not line numbers should be visible. + * @param enabled Whether or not line numbers should be visible. * @see #getLineNumbersEnabled() */ public void setLineNumbersEnabled(boolean enabled) { gutter.setLineNumbersEnabled(enabled); checkGutterVisibility(); } - + /** * Sets the view for this scroll pane. This must be an {@link RTextArea}. * - * @param view - * The new view. + * @param view The new view. * @see #getTextArea() */ @Override @@ -277,14 +253,13 @@ public class RTextScrollPane extends JScrollPane { gutter.setTextArea(rtaCandidate); } } - + /** * Returns the first descendant of a component that is an * RTextArea. This is primarily here to support * javax.swing.JLayers that wrap RTextAreas. * - * @param comp - * The component to recursively look through. + * @param comp The component to recursively look through. * @return The first descendant text area, or null if none is * found. */ diff --git a/src/org/fife/ui/rtextarea/RUndoManager.java b/src/org/fife/ui/rtextarea/RUndoManager.java index b66a112..c1ab294 100644 --- a/src/org/fife/ui/rtextarea/RUndoManager.java +++ b/src/org/fife/ui/rtextarea/RUndoManager.java @@ -16,18 +16,17 @@ import javax.swing.undo.UndoManager; import javax.swing.undo.UndoableEdit; /** - * This class manages undos/redos for a particular editor pane. It groups - * all undos that occur one character position apart together, to avoid - * Java's horrible "one character at a time" undo behavior. It also - * recognizes "replace" actions (i.e., text is selected, then the user - * types), and treats it as a single action, instead of a remove/insert - * action pair. + * This class manages undos/redos for a particular editor pane. It groups all + * undos that occur one character position apart together, to avoid Java's + * horrible "one character at a time" undo behavior. It also recognizes + * "replace" actions (i.e., text is selected, then the user types), and treats + * it as a single action, instead of a remove/insert action pair. * * @author Robert Futrell * @version 1.0 */ public class RUndoManager extends UndoManager { - + private RCompoundEdit compoundEdit; private RTextArea textArea; private int lastOffset; @@ -35,12 +34,11 @@ public class RUndoManager extends UndoManager { private String cantRedoText; private int internalAtomicEditDepth; private static final String MSG = "org.fife.ui.rtextarea.RTextArea"; - + /** * Constructor. * - * @param textArea - * The parent text area. + * @param textArea The parent text area. */ public RUndoManager(RTextArea textArea) { this.textArea = textArea; @@ -48,13 +46,12 @@ public class RUndoManager extends UndoManager { cantUndoText = msg.getString("Action.CantUndo.Name"); cantRedoText = msg.getString("Action.CantRedo.Name"); } - + /** - * Begins an "atomic" edit. This method is called when RTextArea - * KNOWS that some edits should be compound automatically, such as - * when the user is typing in overwrite mode (the deletion of the - * current char + insertion of the new one) or the playing back of a - * macro. + * Begins an "atomic" edit. This method is called when RTextArea KNOWS that some + * edits should be compound automatically, such as when the user is typing in + * overwrite mode (the deletion of the current char + insertion of the new one) + * or the playing back of a macro. * * @see #endInternalAtomicEdit() */ @@ -66,7 +63,7 @@ public class RUndoManager extends UndoManager { compoundEdit = new RCompoundEdit(); } } - + /** * Ends an "atomic" edit. * @@ -80,7 +77,7 @@ public class RUndoManager extends UndoManager { updateActions(); // Needed to show the new display name. } } - + /** * Returns the localized "Can't Redo" string. * @@ -90,7 +87,7 @@ public class RUndoManager extends UndoManager { public String getCantRedoText() { return cantRedoText; } - + /** * Returns the localized "Can't Undo" string. * @@ -100,7 +97,7 @@ public class RUndoManager extends UndoManager { public String getCantUndoText() { return cantUndoText; } - + /** * {@inheritDoc} */ @@ -109,7 +106,7 @@ public class RUndoManager extends UndoManager { super.redo(); updateActions(); } - + private RCompoundEdit startCompoundEdit(UndoableEdit edit) { lastOffset = textArea.getCaretPosition(); compoundEdit = new RCompoundEdit(); @@ -117,7 +114,7 @@ public class RUndoManager extends UndoManager { addEdit(compoundEdit); return compoundEdit; } - + /** * {@inheritDoc} */ @@ -126,7 +123,7 @@ public class RUndoManager extends UndoManager { super.undo(); updateActions(); } - + @Override public void undoableEditHappened(UndoableEditEvent e) { // This happens when the first undoable edit occurs, and @@ -161,10 +158,10 @@ public class RUndoManager extends UndoManager { compoundEdit = startCompoundEdit(e.getEdit()); // updateActions(); } - + /** - * Ensures that undo/redo actions are enabled appropriately and have - * descriptive text at all times. + * Ensures that undo/redo actions are enabled appropriately and have descriptive + * text at all times. */ public void updateActions() { String text; @@ -197,27 +194,27 @@ public class RUndoManager extends UndoManager { } } } - + /** * The edit used by {@link RUndoManager}. */ class RCompoundEdit extends CompoundEdit { - + @Override public String getUndoPresentationName() { return UIManager.getString("AbstractUndoableEdit.undoText"); } - + @Override public String getRedoPresentationName() { return UIManager.getString("AbstractUndoableEdit.redoText"); } - + @Override public boolean isInProgress() { return false; } - + @Override public void undo() { if (compoundEdit != null) { diff --git a/src/org/fife/ui/rtextarea/RecordableTextAction.java b/src/org/fife/ui/rtextarea/RecordableTextAction.java index 081b8a5..bf6e376 100644 --- a/src/org/fife/ui/rtextarea/RecordableTextAction.java +++ b/src/org/fife/ui/rtextarea/RecordableTextAction.java @@ -17,45 +17,39 @@ import javax.swing.text.JTextComponent; import javax.swing.text.TextAction; /** - * The base action used by the actions defined in - * {@link RTextAreaEditorKit}. This action is what allows instances of - * RTextArea to record keystrokes into "macros;" if an action is - * recordable and occurs while the user is recording a macro, it adds itself to - * the currently-being-recorded macro. + * The base action used by the actions defined in {@link RTextAreaEditorKit}. + * This action is what allows instances of RTextArea to record + * keystrokes into "macros;" if an action is recordable and occurs while the + * user is recording a macro, it adds itself to the currently-being-recorded + * macro. * * @author Robert Futrell * @version 0.5 */ public abstract class RecordableTextAction extends TextAction { - + /** * Whether or not this text action should be recorded in a macro. */ private boolean isRecordable; - + /** * Constructor. * - * @param text - * The text (name) associated with the action. + * @param text The text (name) associated with the action. */ public RecordableTextAction(String text) { this(text, null, null, null, null); } - + /** * Constructor. * - * @param text - * The text (name) associated with the action. - * @param icon - * The icon associated with the action. - * @param desc - * The description of the action. - * @param mnemonic - * The mnemonic for the action. - * @param accelerator - * The accelerator key for the action. + * @param text The text (name) associated with the action. + * @param icon The icon associated with the action. + * @param desc The description of the action. + * @param mnemonic The mnemonic for the action. + * @param accelerator The accelerator key for the action. */ public RecordableTextAction(String text, Icon icon, String desc, Integer mnemonic, KeyStroke accelerator) { super(text); @@ -65,14 +59,13 @@ public abstract class RecordableTextAction extends TextAction { putValue(MNEMONIC_KEY, mnemonic); setRecordable(true); } - + /** * This method is final so that you cannot override it and mess up the * macro-recording part of it. The actual meat of the action is in * actionPerformedImpl. * - * @param e - * The action being performed. + * @param e The action being performed. * @see #actionPerformedImpl */ @Override @@ -102,19 +95,17 @@ public abstract class RecordableTextAction extends TextAction { actionPerformedImpl(e, textArea); } } - + /** - * The actual meat of the action. If you wish to subclass this action - * and modify its behavior, this is the method to override. + * The actual meat of the action. If you wish to subclass this action and modify + * its behavior, this is the method to override. * - * @param e - * The action being performed. - * @param textArea - * The text area "receiving" the action. + * @param e The action being performed. + * @param textArea The text area "receiving" the action. * @see #actionPerformed */ public abstract void actionPerformedImpl(ActionEvent e, RTextArea textArea); - + /** * Returns the accelerator for this action. * @@ -124,7 +115,7 @@ public abstract class RecordableTextAction extends TextAction { public KeyStroke getAccelerator() { return (KeyStroke) getValue(ACCELERATOR_KEY); } - + /** * Returns the description for this action. * @@ -133,7 +124,7 @@ public abstract class RecordableTextAction extends TextAction { public String getDescription() { return (String) getValue(SHORT_DESCRIPTION); } - + /** * Returns the icon for this action. * @@ -142,22 +133,21 @@ public abstract class RecordableTextAction extends TextAction { public Icon getIcon() { return (Icon) getValue(SMALL_ICON); } - + /** - * Returns the identifier for this macro. This method makes it so that you - * can create an instance of the RTextAreaEditorKit.CutAction - * action, for example, rename it to "Remove", and it will still be - * recorded as a "cut" action. Subclasses should return a unique string - * from this method; preferably the name of the action. + * Returns the identifier for this macro. This method makes it so that you can + * create an instance of the RTextAreaEditorKit.CutAction action, + * for example, rename it to "Remove", and it will still be recorded as a "cut" + * action. Subclasses should return a unique string from this method; preferably + * the name of the action. *

        - * If you subclass a RecordableTextAction, you should NOT - * override this method; if you do, the action may not be properly - * recorded in a macro. + * If you subclass a RecordableTextAction, you should NOT override + * this method; if you do, the action may not be properly recorded in a macro. * * @return The internally-used macro ID. */ public abstract String getMacroID(); - + /** * Returns the mnemonic for this action. * @@ -169,7 +159,7 @@ public abstract class RecordableTextAction extends TextAction { Integer i = (Integer) getValue(MNEMONIC_KEY); return i != null ? i.intValue() : -1; } - + /** * Returns the name of this action. * @@ -179,10 +169,9 @@ public abstract class RecordableTextAction extends TextAction { public String getName() { return (String) getValue(NAME); } - + /** - * Returns whether or not this action will be recorded and replayed in - * a macro. + * Returns whether or not this action will be recorded and replayed in a macro. * * @return Whether or not this action will be recorded and replayed. * @see #setRecordable(boolean) @@ -190,89 +179,77 @@ public abstract class RecordableTextAction extends TextAction { public boolean isRecordable() { return isRecordable; } - + /** * Sets the accelerator for this action. * - * @param accelerator - * The new accelerator. + * @param accelerator The new accelerator. * @see #getAccelerator() */ public void setAccelerator(KeyStroke accelerator) { putValue(ACCELERATOR_KEY, accelerator); } - + /** * Sets the mnemonic for this action. * - * @param mnemonic - * The new mnemonic. + * @param mnemonic The new mnemonic. * @see #setMnemonic(Integer) * @see #getMnemonic() */ public void setMnemonic(char mnemonic) { setMnemonic(Integer.valueOf(mnemonic)); } - + /** * Sets the mnemonic for this action. * - * @param mnemonic - * The new mnemonic. + * @param mnemonic The new mnemonic. * @see #setMnemonic(char) * @see #getMnemonic() */ public void setMnemonic(Integer mnemonic) { putValue(MNEMONIC_KEY, mnemonic); } - + /** * Sets the name of this action. * - * @param name - * The new name. + * @param name The new name. * @see #getName() */ public void setName(String name) { putValue(NAME, name); } - + /** * Sets the name, mnemonic, and description of this action. * - * @param msg - * The resource bundle. - * @param keyRoot - * The root of the keys for the properties. - * ".Name", ".Mnemonic", and - * ".Desc" will be appended to create the key for - * each - * property. + * @param msg The resource bundle. + * @param keyRoot The root of the keys for the properties. ".Name", + * ".Mnemonic", and ".Desc" will be + * appended to create the key for each property. */ public void setProperties(ResourceBundle msg, String keyRoot) { setName(msg.getString(keyRoot + ".Name")); setMnemonic(msg.getString(keyRoot + ".Mnemonic").charAt(0)); setShortDescription(msg.getString(keyRoot + ".Desc")); } - + /** - * Sets whether or not this action will be recorded and replayed in - * a macro. + * Sets whether or not this action will be recorded and replayed in a macro. * - * @param recordable - * Whether or not this action should be recorded - * and replayed. + * @param recordable Whether or not this action should be recorded and replayed. * @see #isRecordable() */ public void setRecordable(boolean recordable) { isRecordable = recordable; } - + /** * Sets the short description for this action. * - * @param shortDesc - * The short description for this action. + * @param shortDesc The short description for this action. */ public void setShortDescription(String shortDesc) { putValue(SHORT_DESCRIPTION, shortDesc); diff --git a/src/org/fife/ui/rtextarea/RegExReplaceInfo.java b/src/org/fife/ui/rtextarea/RegExReplaceInfo.java index 339a120..649a587 100644 --- a/src/org/fife/ui/rtextarea/RegExReplaceInfo.java +++ b/src/org/fife/ui/rtextarea/RegExReplaceInfo.java @@ -13,26 +13,22 @@ package org.fife.ui.rtextarea; * @version 1.0 */ class RegExReplaceInfo { - + private String matchedText; private int startIndex; private int endIndex; private String replacement; - + /** * Constructor. * - * @param matchedText - * The text that matched the regular expression. - * @param start - * The start index of the matched text in the - * CharSequence searched. - * @param end - * The end index of the matched text in the - * CharSequence searched. - * @param replacement - * The text to replace the matched text with. This - * string has any matched groups and character escapes replaced. + * @param matchedText The text that matched the regular expression. + * @param start The start index of the matched text in the + * CharSequence searched. + * @param end The end index of the matched text in the + * CharSequence searched. + * @param replacement The text to replace the matched text with. This string has + * any matched groups and character escapes replaced. */ RegExReplaceInfo(String matchedText, int start, int end, String replacement) { this.matchedText = matchedText; @@ -40,7 +36,7 @@ class RegExReplaceInfo { this.endIndex = end; this.replacement = replacement; } - + /** * Returns the end index of the matched text. * @@ -51,7 +47,7 @@ class RegExReplaceInfo { public int getEndIndex() { return endIndex; } - + /** * Returns the text that matched the regular expression. * @@ -60,7 +56,7 @@ class RegExReplaceInfo { public String getMatchedText() { return matchedText; } - + /** * Returns the string to replaced the matched text with. * @@ -69,7 +65,7 @@ class RegExReplaceInfo { public String getReplacement() { return replacement; } - + /** * Returns the start index of the matched text. * diff --git a/src/org/fife/ui/rtextarea/SearchContext.java b/src/org/fife/ui/rtextarea/SearchContext.java index 05c9a65..3fe5f68 100644 --- a/src/org/fife/ui/rtextarea/SearchContext.java +++ b/src/org/fife/ui/rtextarea/SearchContext.java @@ -10,18 +10,18 @@ import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; /** - * Contains information about a find/replace operation. Applications can - * keep an instance of this class around and use it to maintain the user's - * selection for options such as "match case," "regular expression," etc., - * between search operations. They can then pass the instance as a parameter - * to the public {@link SearchEngine} methods to do the actual searching. + * Contains information about a find/replace operation. Applications can keep an + * instance of this class around and use it to maintain the user's selection for + * options such as "match case," "regular expression," etc., between search + * operations. They can then pass the instance as a parameter to the public + * {@link SearchEngine} methods to do the actual searching. * * @author Robert Futrell * @version 2.0 * @see SearchEngine */ public class SearchContext implements Cloneable { - + /** Fired when the "search for" property is modified. */ public static final String PROPERTY_SEARCH_FOR = "Search.searchFor"; /** Fired when the "replace with" property is modified. */ @@ -49,34 +49,31 @@ public class SearchContext implements Cloneable { private boolean selectionOnly; private boolean markAll; private PropertyChangeSupport support; - + /** - * Creates a new search context. Specifies a forward search, - * case-insensitive, not whole-word, not a regular expression. + * Creates a new search context. Specifies a forward search, case-insensitive, + * not whole-word, not a regular expression. */ public SearchContext() { this(null); } - + /** - * Creates a new search context. Specifies a forward search, - * case-insensitive, not whole-word, not a regular expression. + * Creates a new search context. Specifies a forward search, case-insensitive, + * not whole-word, not a regular expression. * - * @param searchFor - * The text to search for. + * @param searchFor The text to search for. */ public SearchContext(String searchFor) { this(searchFor, false); } - + /** - * Creates a new search context. Specifies a forward search, not - * whole-word, not a regular expression. + * Creates a new search context. Specifies a forward search, not whole-word, not + * a regular expression. * - * @param searchFor - * The text to search for. - * @param matchCase - * Whether to do a case-sensitive search. + * @param searchFor The text to search for. + * @param matchCase Whether to do a case-sensitive search. */ public SearchContext(String searchFor, boolean matchCase) { support = new PropertyChangeSupport(this); @@ -85,18 +82,17 @@ public class SearchContext implements Cloneable { markAll = true; forward = true; } - + /** * Adds a property change listener to this context. * - * @param l - * The new listener. + * @param l The new listener. * @see #removePropertyChangeListener(PropertyChangeListener) */ public void addPropertyChangeListener(PropertyChangeListener l) { support.addPropertyChangeListener(l); } - + @Override public SearchContext clone() { try { @@ -109,15 +105,15 @@ public class SearchContext implements Cloneable { throw new RuntimeException("Should never happen", cnse); } } - + protected void firePropertyChange(String property, boolean oldValue, boolean newValue) { support.firePropertyChange(property, oldValue, newValue); } - + protected void firePropertyChange(String property, String oldValue, String newValue) { support.firePropertyChange(property, oldValue, newValue); } - + /** * Returns whether "mark all" should be selected or enabled. * @@ -127,7 +123,7 @@ public class SearchContext implements Cloneable { public boolean getMarkAll() { return markAll; } - + /** * Returns whether case should be honored while searching. * @@ -137,7 +133,7 @@ public class SearchContext implements Cloneable { public boolean getMatchCase() { return matchCase; } - + /** * Returns the text to replace with, if doing a replace operation. * @@ -148,7 +144,7 @@ public class SearchContext implements Cloneable { public String getReplaceWith() { return replaceWith; } - + /** * Returns the text to search for. * @@ -159,7 +155,7 @@ public class SearchContext implements Cloneable { public String getSearchFor() { return searchFor; } - + /** * Returns whether the search should be forward through the text (vs. * backwards). @@ -170,10 +166,10 @@ public class SearchContext implements Cloneable { public boolean getSearchForward() { return forward; } - + /** - * Returns whether the search should only be done in the selected text. - * This flag is currently not supported. + * Returns whether the search should only be done in the selected text. This + * flag is currently not supported. * * @return Whether only the selected text should be searched. * @see #setSearchSelectionOnly(boolean) @@ -181,13 +177,12 @@ public class SearchContext implements Cloneable { public boolean getSearchSelectionOnly() { return selectionOnly; } - + /** - * Returns whether only "whole word" matches should be returned. A match - * is considered to be "whole word" if the character on either side of the - * matched text is a non-word character, or if there is no character on - * one side of the word, such as when it's at the beginning or end of a - * line. + * Returns whether only "whole word" matches should be returned. A match is + * considered to be "whole word" if the character on either side of the matched + * text is a non-word character, or if there is no character on one side of the + * word, such as when it's at the beginning or end of a line. * * @return Whether only "whole word" matches should be returned. * @see #setWholeWord(boolean) @@ -195,7 +190,7 @@ public class SearchContext implements Cloneable { public boolean getWholeWord() { return wholeWord; } - + /** * Returns whether a regular expression search should be done. * @@ -205,24 +200,22 @@ public class SearchContext implements Cloneable { public boolean isRegularExpression() { return regex; } - + /** * Removes a property change listener from this context. * - * @param l - * The listener to remove. + * @param l The listener to remove. * @see #addPropertyChangeListener(PropertyChangeListener) */ public void removePropertyChangeListener(PropertyChangeListener l) { support.removePropertyChangeListener(l); } - + /** - * Sets whether "mark all" should be selected or enabled. This method - * fires property change events of type {@link #PROPERTY_MARK_ALL}. + * Sets whether "mark all" should be selected or enabled. This method fires + * property change events of type {@link #PROPERTY_MARK_ALL}. * - * @param markAll - * Whether "mark all" should be enabled. + * @param markAll Whether "mark all" should be enabled. * @see #getMarkAll() */ public void setMarkAll(boolean markAll) { @@ -231,13 +224,12 @@ public class SearchContext implements Cloneable { firePropertyChange(PROPERTY_MARK_ALL, !markAll, markAll); } } - + /** - * Sets whether case should be honored while searching. This method - * fires a property change event of type {@link #PROPERTY_MATCH_CASE}. + * Sets whether case should be honored while searching. This method fires a + * property change event of type {@link #PROPERTY_MATCH_CASE}. * - * @param matchCase - * Whether case should be honored. + * @param matchCase Whether case should be honored. * @see #getMatchCase() */ public void setMatchCase(boolean matchCase) { @@ -246,13 +238,12 @@ public class SearchContext implements Cloneable { firePropertyChange(PROPERTY_MATCH_CASE, !matchCase, matchCase); } } - + /** - * Sets whether a regular expression search should be done.This method - * fires a property change event of type {@link #PROPERTY_USE_REGEX}. + * Sets whether a regular expression search should be done.This method fires a + * property change event of type {@link #PROPERTY_USE_REGEX}. * - * @param regex - * Whether a regular expression search should be done. + * @param regex Whether a regular expression search should be done. * @see #isRegularExpression() */ public void setRegularExpression(boolean regex) { @@ -261,31 +252,29 @@ public class SearchContext implements Cloneable { firePropertyChange(PROPERTY_USE_REGEX, !regex, regex); } } - + /** - * Sets the text to replace with, if doing a replace operation. This - * method fires a property change event of type - * {@link #PROPERTY_REPLACE_WITH}. + * Sets the text to replace with, if doing a replace operation. This method + * fires a property change event of type {@link #PROPERTY_REPLACE_WITH}. * - * @param replaceWith - * The text to replace with. + * @param replaceWith The text to replace with. * @see #getReplaceWith() * @see #setSearchFor(String) */ public void setReplaceWith(String replaceWith) { - if ((replaceWith == null && this.replaceWith != null) || (replaceWith != null && !replaceWith.equals(this.replaceWith))) { + if ((replaceWith == null && this.replaceWith != null) + || (replaceWith != null && !replaceWith.equals(this.replaceWith))) { String old = this.replaceWith; this.replaceWith = replaceWith; firePropertyChange(PROPERTY_REPLACE_WITH, old, replaceWith); } } - + /** - * Sets the text to search for. This method fires a property change - * event of type {@link #PROPERTY_SEARCH_FOR}. + * Sets the text to search for. This method fires a property change event of + * type {@link #PROPERTY_SEARCH_FOR}. * - * @param searchFor - * The text to search for. + * @param searchFor The text to search for. * @see #getSearchFor() * @see #setReplaceWith(String) */ @@ -296,14 +285,13 @@ public class SearchContext implements Cloneable { firePropertyChange(PROPERTY_SEARCH_FOR, old, searchFor); } } - + /** - * Sets whether the search should be forward through the text (vs. - * backwards). This method fires a property change event of type + * Sets whether the search should be forward through the text (vs. backwards). + * This method fires a property change event of type * {@link #PROPERTY_SEARCH_FORWARD}. * - * @param forward - * Whether we should search forwards. + * @param forward Whether we should search forwards. * @see #getSearchForward() */ public void setSearchForward(boolean forward) { @@ -312,17 +300,16 @@ public class SearchContext implements Cloneable { firePropertyChange(PROPERTY_SEARCH_FORWARD, !forward, forward); } } - + /** - * Sets whether only the selected text should be searched. This method - * fires a property change event of type {@link #PROPERTY_SELECTION_ONLY}. + * Sets whether only the selected text should be searched. This method fires a + * property change event of type {@link #PROPERTY_SELECTION_ONLY}. *

        * - * This flag is currently not supported. Calling this method will throw - * an {@link UnsupportedOperationException} until it is implemented. + * This flag is currently not supported. Calling this method will throw an + * {@link UnsupportedOperationException} until it is implemented. * - * @param selectionOnly - * Whether only selected text should be searched. + * @param selectionOnly Whether only selected text should be searched. * @see #getSearchSelectionOnly() */ public void setSearchSelectionOnly(boolean selectionOnly) { @@ -334,17 +321,15 @@ public class SearchContext implements Cloneable { } } } - + /** - * Sets whether only "whole word" matches should be returned. A match - * is considered to be "whole word" if the character on either side of the - * matched text is a non-word character, or if there is no character on - * one side of the word, such as when it's at the beginning or end of a - * line.This method fires a property change event of type - * {@link #PROPERTY_MATCH_WHOLE_WORD}. + * Sets whether only "whole word" matches should be returned. A match is + * considered to be "whole word" if the character on either side of the matched + * text is a non-word character, or if there is no character on one side of the + * word, such as when it's at the beginning or end of a line.This method fires a + * property change event of type {@link #PROPERTY_MATCH_WHOLE_WORD}. * - * @param wholeWord - * Whether only "whole word" matches should be returned. + * @param wholeWord Whether only "whole word" matches should be returned. * @see #getWholeWord() */ public void setWholeWord(boolean wholeWord) { @@ -353,10 +338,11 @@ public class SearchContext implements Cloneable { firePropertyChange(PROPERTY_MATCH_WHOLE_WORD, !wholeWord, wholeWord); } } - + @Override public String toString() { - return "[SearchContext: " + "searchFor=" + getSearchFor() + ", replaceWith=" + getReplaceWith() + ", matchCase=" + getMatchCase() - + ", wholeWord=" + getWholeWord() + ", regex=" + isRegularExpression() + ", markAll=" + getMarkAll() + "]"; + return "[SearchContext: " + "searchFor=" + getSearchFor() + ", replaceWith=" + getReplaceWith() + ", matchCase=" + + getMatchCase() + ", wholeWord=" + getWholeWord() + ", regex=" + isRegularExpression() + ", markAll=" + + getMarkAll() + "]"; } } diff --git a/src/org/fife/ui/rtextarea/SearchResult.java b/src/org/fife/ui/rtextarea/SearchResult.java index ad8f486..f4271b7 100644 --- a/src/org/fife/ui/rtextarea/SearchResult.java +++ b/src/org/fife/ui/rtextarea/SearchResult.java @@ -16,62 +16,57 @@ import org.fife.ui.rsyntaxtextarea.DocumentRange; * @see SearchEngine */ public class SearchResult implements Comparable { - + /** - * If a find or replace operation is successful, this will be the range - * of text representing the found text (for "find" operations) or the - * replacement text inserted (for "replace" operations; for "replace all" - * operations this will be the last replacement region). If no match was - * found, or this was a "mark all" operation, this will be - * null. + * If a find or replace operation is successful, this will be the range of text + * representing the found text (for "find" operations) or the replacement text + * inserted (for "replace" operations; for "replace all" operations this will be + * the last replacement region). If no match was found, or this was a "mark all" + * operation, this will be null. */ private DocumentRange matchRange; /** - * The number of matches found or replaced. For regular "find" and - * "replace" operations, this will be zero or 1. For "replace - * all" operations, this will be the number of replacements. For "mark - * all" operations, this should be zero. + * The number of matches found or replaced. For regular "find" and "replace" + * operations, this will be zero or 1. For "replace all" + * operations, this will be the number of replacements. For "mark all" + * operations, this should be zero. */ private int count; /** * The number of instances marked. */ private int markedCount; - + /** * Constructor; indicates no match is found. */ public SearchResult() { this(null, 0, 0); } - + /** * Constructor. * - * @param range - * The selected range of text after the find or replace - * operation. This can be null if the selection was - * not changed. - * @param count - * The number of matches found or replaced. For regular - * "find" and "replace" operations, this will be zero or - * 1; for "replace all" operations, this will be the - * number of replacements. - * @param markedCount - * The number of matches marked. If "mark all" is - * disabled, this should be zero. + * @param range The selected range of text after the find or replace + * operation. This can be null if the selection + * was not changed. + * @param count The number of matches found or replaced. For regular + * "find" and "replace" operations, this will be zero or + * 1; for "replace all" operations, this will be + * the number of replacements. + * @param markedCount The number of matches marked. If "mark all" is disabled, + * this should be zero. */ public SearchResult(DocumentRange range, int count, int markedCount) { this.matchRange = range; this.count = count; this.markedCount = markedCount; } - + /** * Compares this search result to another. * - * @param other - * Another search result to compare to. + * @param other Another search result to compare to. * @return How this result object should be sorted compared to * other. */ @@ -96,14 +91,12 @@ public class SearchResult implements Comparable { } return matchRange.compareTo(other.matchRange); } - + /** - * Returns whether this search result represents the same logical result - * as another. + * Returns whether this search result represents the same logical result as + * another. * - * @param other - * Another object (presumably another - * SearchResult). + * @param other Another object (presumably another SearchResult). */ @Override public boolean equals(Object other) { @@ -115,12 +108,12 @@ public class SearchResult implements Comparable { } return false; } - + /** * Returns the number of matches found or replaced. For regular "find" and - * "replace" operations, this will be zero or 1. For "replace - * all" operations, this will be the number of replacements. For "mark - * all" operations, this will be zero. + * "replace" operations, this will be zero or 1. For "replace all" + * operations, this will be the number of replacements. For "mark all" + * operations, this will be zero. * * @return The count. * @see #setCount(int) @@ -128,10 +121,10 @@ public class SearchResult implements Comparable { public int getCount() { return count; } - + /** - * Returns the number of instances marked. If "mark all" was not enabled, - * this will be 0. + * Returns the number of instances marked. If "mark all" was not enabled, this + * will be 0. * * @return The number of instances marked. * @see #setMarkedCount(int) @@ -139,14 +132,14 @@ public class SearchResult implements Comparable { public int getMarkedCount() { return markedCount; } - + /** - * If a find or replace operation is successful, this will be the range - * of text representing the found text (for "find" operations) or the - * replacement text inserted (for "replace" operations; for "replace all" - * operations this will be the last replacement region). If no match was - * found, or this was a "mark all" operation, this will be - * null, since they do not update the editor's selection. + * If a find or replace operation is successful, this will be the range of text + * representing the found text (for "find" operations) or the replacement text + * inserted (for "replace" operations; for "replace all" operations this will be + * the last replacement region). If no match was found, or this was a "mark all" + * operation, this will be null, since they do not update the + * editor's selection. * * @return The matched range of text. * @see #setMatchRange(DocumentRange) @@ -154,7 +147,7 @@ public class SearchResult implements Comparable { public DocumentRange getMatchRange() { return matchRange; } - + /** * Overridden simply as a best practice, since {@link #equals(Object)} is * overridden. @@ -169,43 +162,40 @@ public class SearchResult implements Comparable { } return hash; } - + /** * Sets the number of matches found or replaced. For regular "find" and - * "replace" operations, this should be zero or 1. For - * "replace all" operations, this should be the number of replacements. - * For "mark all" operations, this should be zero. + * "replace" operations, this should be zero or 1. For "replace + * all" operations, this should be the number of replacements. For "mark all" + * operations, this should be zero. * - * @param count - * The count. + * @param count The count. * @see #getCount() */ public void setCount(int count) { this.count = count; } - + /** * Sets the number of marked occurrences found. * - * @param markedCount - * The number of marked occurrences found. + * @param markedCount The number of marked occurrences found. * @see #getMarkedCount() */ public void setMarkedCount(int markedCount) { this.markedCount = markedCount; } - + /** * Sets the selected range for this search operation. * - * @param range - * The new selected range. + * @param range The new selected range. * @see #getMatchRange() */ public void setMatchRange(DocumentRange range) { this.matchRange = range; } - + /** * Returns a string representation of this object. Useful for debugging. * @@ -213,9 +203,10 @@ public class SearchResult implements Comparable { */ @Override public String toString() { - return "[SearchResult: " + "count=" + getCount() + ", markedCount=" + getMarkedCount() + ", matchRange=" + getMatchRange() + "]"; + return "[SearchResult: " + "count=" + getCount() + ", markedCount=" + getMarkedCount() + ", matchRange=" + + getMatchRange() + "]"; } - + /** * Returns whether anything was found in this search operation. This is * shorthand for getCount()>0. diff --git a/src/org/fife/ui/rtextarea/SmartHighlightPainter.java b/src/org/fife/ui/rtextarea/SmartHighlightPainter.java index e604937..2d0872f 100644 --- a/src/org/fife/ui/rtextarea/SmartHighlightPainter.java +++ b/src/org/fife/ui/rtextarea/SmartHighlightPainter.java @@ -23,11 +23,10 @@ import javax.swing.text.View; * following features: * *

          - *
        • Rendered highlights don't "grow" when users append text to the "end" - * of them. This is implemented by assuming that the highlights - * themselves specify their end offset as one offset "too short". This - * behavior is baked into various RSTA highlights (mark all, mark - * occurrences, etc.). + *
        • Rendered highlights don't "grow" when users append text to the "end" of + * them. This is implemented by assuming that the highlights themselves specify + * their end offset as one offset "too short". This behavior is baked into + * various RSTA highlights (mark all, mark occurrences, etc.). *
        • Ability to paint a border line around highlights. *
        * @@ -35,27 +34,26 @@ import javax.swing.text.View; * @version 1.0 */ public class SmartHighlightPainter extends ChangeableHighlightPainter { - + private Color borderColor; private boolean paintBorder; - + /** * Creates a highlight painter that defaults to blue. */ public SmartHighlightPainter() { super(Color.BLUE); } - + /** * Constructor. * - * @param paint - * The color or paint to use for this painter. + * @param paint The color or paint to use for this painter. */ public SmartHighlightPainter(Paint paint) { super(paint); } - + /** * Returns whether a border is painted around marked occurrences. * @@ -66,7 +64,7 @@ public class SmartHighlightPainter extends ChangeableHighlightPainter { public boolean getPaintBorder() { return paintBorder; } - + /** * {@inheritDoc} */ @@ -116,7 +114,7 @@ public class SmartHighlightPainter extends ChangeableHighlightPainter { return null; } } - + /** * {@inheritDoc} */ @@ -127,12 +125,11 @@ public class SmartHighlightPainter extends ChangeableHighlightPainter { borderColor = ((Color) paint).darker(); } } - + /** * Toggles whether a border is painted around highlights. * - * @param paint - * Whether to paint a border. + * @param paint Whether to paint a border. * @see #getPaintBorder() * @see #setPaint(Paint) */ diff --git a/src/org/fife/ui/rtextarea/ToolTipSupplier.java b/src/org/fife/ui/rtextarea/ToolTipSupplier.java index 1b72a3a..c072bc3 100644 --- a/src/org/fife/ui/rtextarea/ToolTipSupplier.java +++ b/src/org/fife/ui/rtextarea/ToolTipSupplier.java @@ -11,24 +11,22 @@ import java.awt.event.MouseEvent; /** * A ToolTipSupplier can create tool tip text for an RTextArea - * on its behalf. A text area will check its ToolTipSupplier for a - * tool tip before calling the super class's implementation of - * {@link RTextArea#getToolTipText()}. This allows - * applications to intercept tool tip events and provide the text for a tool - * tip without subclassing RTextArea. + * on its behalf. A text area will check its ToolTipSupplier for a tool + * tip before calling the super class's implementation of + * {@link RTextArea#getToolTipText()}. This allows applications to intercept + * tool tip events and provide the text for a tool tip without subclassing + * RTextArea. * * @author Robert Futrell * @version 1.0 */ public interface ToolTipSupplier { - + /** * Returns the tool tip text to display for a given mouse event. * - * @param textArea - * The text area. - * @param e - * The mouse event. + * @param textArea The text area. + * @param e The mouse event. * @return The tool tip, or null if none. */ String getToolTipText(RTextArea textArea, MouseEvent e); diff --git a/src/org/fife/ui/rtextarea/VolatileImageBackgroundPainterStrategy.java b/src/org/fife/ui/rtextarea/VolatileImageBackgroundPainterStrategy.java index abace2f..d2104b6 100644 --- a/src/org/fife/ui/rtextarea/VolatileImageBackgroundPainterStrategy.java +++ b/src/org/fife/ui/rtextarea/VolatileImageBackgroundPainterStrategy.java @@ -12,8 +12,8 @@ import java.awt.Image; import java.awt.image.VolatileImage; /** - * A strategy for painting the background of an RTextAreaBase - * as an image. The image is always stretched to completely fill the + * A strategy for painting the background of an RTextAreaBase as an + * image. The image is always stretched to completely fill the * RTextAreaBase. *

        * @@ -21,12 +21,11 @@ import java.awt.image.VolatileImage; * theoretically, this should be the best image format for performance. *

        * - * You can set the scaling hint used when stretching/skewing the image - * to fit in the RTextAreaBase's background via the - * setScalingHint method, but keep in mind the more - * accurate the scaling hint, the less responsive your application will - * be when stretching the window (as that's the only time the image's - * size is recalculated). + * You can set the scaling hint used when stretching/skewing the image to fit in + * the RTextAreaBase's background via the + * setScalingHint method, but keep in mind the more accurate the + * scaling hint, the less responsive your application will be when stretching + * the window (as that's the only time the image's size is recalculated). * * @author Robert Futrell * @version 0.1 @@ -34,30 +33,25 @@ import java.awt.image.VolatileImage; * @see org.fife.ui.rtextarea.BufferedImageBackgroundPainterStrategy */ public class VolatileImageBackgroundPainterStrategy extends ImageBackgroundPainterStrategy { - + private VolatileImage bgImage; - + /** * Constructor. * - * @param ta - * The text area whose background we'll be painting. + * @param ta The text area whose background we'll be painting. */ public VolatileImageBackgroundPainterStrategy(RTextAreaBase ta) { super(ta); } - + /** - * Paints the image at the specified location. This method assumes - * scaling has already been done, and simply paints the background - * image "as-is." + * Paints the image at the specified location. This method assumes scaling has + * already been done, and simply paints the background image "as-is." * - * @param g - * The graphics context. - * @param x - * The x-coordinate at which to paint. - * @param y - * The y-coordinate at which to paint. + * @param g The graphics context. + * @param x The x-coordinate at which to paint. + * @param y The y-coordinate at which to paint. */ @Override protected void paintImage(Graphics g, int x, int y) { @@ -74,18 +68,14 @@ public class VolatileImageBackgroundPainterStrategy extends ImageBackgroundPaint } while (bgImage.contentsLost()); } } - + /** - * Renders the image at the proper size into bgImage. - * This method assumes that bgImage is not - * null. + * Renders the image at the proper size into bgImage. This method + * assumes that bgImage is not null. * - * @param width - * The width of the volatile image to render into. - * @param height - * The height of the volatile image to render into. - * @param hint - * The scaling hint to use. + * @param width The width of the volatile image to render into. + * @param height The height of the volatile image to render into. + * @param hint The scaling hint to use. */ private void renderImage(int width, int height, int hint) { Image master = getMasterImage(); @@ -119,16 +109,13 @@ public class VolatileImageBackgroundPainterStrategy extends ImageBackgroundPaint bgImage = null; } } - + /** * Rescales the displayed image to be the specified size. * - * @param width - * The new width of the image. - * @param height - * The new height of the image. - * @param hint - * The scaling hint to use. + * @param width The new width of the image. + * @param height The new height of the image. + * @param hint The scaling hint to use. */ @Override protected void rescaleImage(int width, int height, int hint) { diff --git a/src/org/fife/util/DynamicIntArray.java b/src/org/fife/util/DynamicIntArray.java index 176b080..0c6a848 100644 --- a/src/org/fife/util/DynamicIntArray.java +++ b/src/org/fife/util/DynamicIntArray.java @@ -12,39 +12,36 @@ import java.util.Arrays; /** * Similar to a java.util.ArrayList, but specifically for - * ints. This is basically an array of integers that resizes - * itself (if necessary) when adding new elements. + * ints. This is basically an array of integers that resizes itself + * (if necessary) when adding new elements. * * @author Robert Futrell * @version 0.8 */ public class DynamicIntArray implements Serializable { - + /** * The actual data. */ private int[] data; /** - * The number of values in the array. Note that this is NOT the - * capacity of the array; rather, size <= capacity. + * The number of values in the array. Note that this is NOT the capacity of the + * array; rather, size <= capacity. */ private int size; - + /** * Constructs a new array object with an initial capacity of 10. */ public DynamicIntArray() { this(10); } - + /** * Constructs a new array object with a given initial capacity. * - * @param initialCapacity - * The initial capacity. - * @throws IllegalArgumentException - * If initialCapacity is - * negative. + * @param initialCapacity The initial capacity. + * @throws IllegalArgumentException If initialCapacity is negative. */ public DynamicIntArray(int initialCapacity) { if (initialCapacity < 0) { @@ -53,17 +50,14 @@ public class DynamicIntArray implements Serializable { data = new int[initialCapacity]; size = 0; } - + /** * Constructs a new array object from the given int array. The resulting - * DynamicIntArray will have an initial capacity of 110% - * the size of the array. + * DynamicIntArray will have an initial capacity of 110% the size + * of the array. * - * @param intArray - * Initial data for the array object. - * @throws NullPointerException - * If intArray is - * null. + * @param intArray Initial data for the array object. + * @throws NullPointerException If intArray is null. */ public DynamicIntArray(int[] intArray) { size = intArray.length; @@ -71,35 +65,29 @@ public class DynamicIntArray implements Serializable { data = new int[capacity]; System.arraycopy(intArray, 0, data, 0, size); // source, dest, length. } - + /** * Appends the specified int to the end of this array. * - * @param value - * The int to be appended to this array. + * @param value The int to be appended to this array. */ public void add(int value) { ensureCapacity(size + 1); data[size++] = value; } - + /** - * Inserts all ints in the specified array into this array - * object at the specified location. Shifts the int - * currently at that position (if any) and any subsequent - * ints to the right (adds one to their indices). + * Inserts all ints in the specified array into this array object + * at the specified location. Shifts the int currently at that + * position (if any) and any subsequent ints to the right (adds one + * to their indices). * - * @param index - * The index at which the specified integer is to be - * inserted. - * @param intArray - * The array of ints to insert. - * @throws IndexOutOfBoundsException - * If index is less than - * zero or greater than getSize(). - * @throws NullPointerException - * If intArray is - * null. + * @param index The index at which the specified integer is to be inserted. + * @param intArray The array of ints to insert. + * @throws IndexOutOfBoundsException If index is less than zero or + * greater than getSize(). + * @throws NullPointerException If intArray is + * null. */ public void add(int index, int[] intArray) { if (index > size) { @@ -114,21 +102,16 @@ public class DynamicIntArray implements Serializable { System.arraycopy(intArray, 0, data, index, addCount); size += addCount; } - + /** - * Inserts the specified int at the specified position in - * this array. Shifts the int currently at that position (if - * any) and any subsequent ints to the right (adds one to - * their indices). + * Inserts the specified int at the specified position in this + * array. Shifts the int currently at that position (if any) and + * any subsequent ints to the right (adds one to their indices). * - * @param index - * The index at which the specified integer is to be - * inserted. - * @param value - * The int to be inserted. - * @throws IndexOutOfBoundsException - * If index is less than - * zero or greater than getSize(). + * @param index The index at which the specified integer is to be inserted. + * @param value The int to be inserted. + * @throws IndexOutOfBoundsException If index is less than zero or + * greater than getSize(). */ public void add(int index, int value) { if (index > size) { @@ -139,21 +122,19 @@ public class DynamicIntArray implements Serializable { data[index] = value; size++; } - + /** - * Removes all values from this array object. Capacity will remain the - * same. + * Removes all values from this array object. Capacity will remain the same. */ public void clear() { size = 0; } - + /** - * Returns whether this array contains a given integer. This method - * performs a linear search, so it is not optimized for performance. + * Returns whether this array contains a given integer. This method performs a + * linear search, so it is not optimized for performance. * - * @param integer - * The int for which to search. + * @param integer The int for which to search. * @return Whether the given integer is contained in this array. */ public boolean contains(int integer) { @@ -164,14 +145,12 @@ public class DynamicIntArray implements Serializable { } return false; } - + /** * Decrements all values in the array in the specified range. * - * @param from - * The range start offset (inclusive). - * @param to - * The range end offset (exclusive). + * @param from The range start offset (inclusive). + * @param to The range end offset (exclusive). * @see #increment(int, int) */ public void decrement(int from, int to) { @@ -179,14 +158,13 @@ public class DynamicIntArray implements Serializable { data[i]--; } } - + /** - * Makes sure that this DynamicIntArray instance can hold - * at least the number of elements specified. If it can't, then the - * capacity is increased. + * Makes sure that this DynamicIntArray instance can hold at least + * the number of elements specified. If it can't, then the capacity is + * increased. * - * @param minCapacity - * The desired minimum capacity. + * @param minCapacity The desired minimum capacity. */ private void ensureCapacity(int minCapacity) { int oldCapacity = data.length; @@ -202,27 +180,24 @@ public class DynamicIntArray implements Serializable { System.arraycopy(oldData, 0, data, 0, size); } } - + /** * Sets the value of all entries in this array to the specified value. * - * @param value - * The new value for all elements in the array. + * @param value The new value for all elements in the array. */ public void fill(int value) { Arrays.fill(data, value); } - + /** - * Returns the int at the specified position in this array - * object. + * Returns the int at the specified position in this array object. * - * @param index - * The index of the int to return. + * @param index The index of the int to return. * @return The int at the specified position in this array. - * @throws IndexOutOfBoundsException - * If index is less than - * zero or greater than or equal to getSize(). + * @throws IndexOutOfBoundsException If index is less than zero or + * greater than or equal to + * getSize(). */ public int get(int index) { // Small enough to be inlined, and throwException() is rarely called. @@ -231,21 +206,20 @@ public class DynamicIntArray implements Serializable { } return data[index]; } - + /** - * Returns the int at the specified position in this array - * object, without doing any bounds checking. You really should use - * {@link #get(int)} instead of this method. + * Returns the int at the specified position in this array object, + * without doing any bounds checking. You really should use {@link #get(int)} + * instead of this method. * - * @param index - * The index of the int to return. + * @param index The index of the int to return. * @return The int at the specified position in this array. */ public int getUnsafe(int index) { // Small enough to be inlined. return data[index]; } - + /** * Returns the number of ints in this array object. * @@ -254,14 +228,12 @@ public class DynamicIntArray implements Serializable { public int getSize() { return size; } - + /** * Increments all values in the array in the specified range. * - * @param from - * The range start offset (inclusive). - * @param to - * The range end offset (exclusive). + * @param from The range start offset (inclusive). + * @param to The range end offset (exclusive). * @see #decrement(int, int) */ public void increment(int from, int to) { @@ -269,7 +241,7 @@ public class DynamicIntArray implements Serializable { data[i]++; } } - + public void insertRange(int offs, int count, int value) { if (offs > size) { throwException2(offs); @@ -281,7 +253,7 @@ public class DynamicIntArray implements Serializable { } size += count; } - + /** * Returns whether or not this array object is empty. * @@ -290,16 +262,15 @@ public class DynamicIntArray implements Serializable { public boolean isEmpty() { return size == 0; } - + /** * Removes the int at the specified location from this array * object. * - * @param index - * The index of the int to remove. - * @throws IndexOutOfBoundsException - * If index is less than - * zero or greater than or equal to getSize(). + * @param index The index of the int to remove. + * @throws IndexOutOfBoundsException If index is less than zero or + * greater than or equal to + * getSize(). */ public void remove(int index) { if (index >= size) { @@ -311,19 +282,16 @@ public class DynamicIntArray implements Serializable { } --size; } - + /** - * Removes the ints in the specified range from this array - * object. + * Removes the ints in the specified range from this array object. * - * @param fromIndex - * The index of the first int to remove. - * @param toIndex - * The index AFTER the last int to remove. - * @throws IndexOutOfBoundsException - * If either of fromIndex - * or toIndex is less than zero or greater than or - * equal to getSize(). + * @param fromIndex The index of the first int to remove. + * @param toIndex The index AFTER the last int to remove. + * @throws IndexOutOfBoundsException If either of fromIndex or + * toIndex is less than zero or + * greater than or equal to + * getSize(). */ public void removeRange(int fromIndex, int toIndex) { if (fromIndex >= size || toIndex > size) { @@ -333,18 +301,16 @@ public class DynamicIntArray implements Serializable { System.arraycopy(data, toIndex, data, fromIndex, moveCount); size -= (toIndex - fromIndex); } - + /** - * Sets the int value at the specified position in this - * array object. + * Sets the int value at the specified position in this array + * object. * - * @param index - * The index of the int to set - * @param value - * The value to set it to. - * @throws IndexOutOfBoundsException - * If index is less than - * zero or greater than or equal to getSize(). + * @param index The index of the int to set + * @param value The value to set it to. + * @throws IndexOutOfBoundsException If index is less than zero or + * greater than or equal to + * getSize(). */ public void set(int index, int value) { // Small enough to be inlined, and throwException() is rarely called. @@ -353,74 +319,67 @@ public class DynamicIntArray implements Serializable { } data[index] = value; } - + /** - * Sets the int value at the specified position in this - * array object, without doing any bounds checking. You should use + * Sets the int value at the specified position in this array + * object, without doing any bounds checking. You should use * {@link #set(int, int)} instead of this method. * - * @param index - * The index of the int to set - * @param value - * The value to set it to. + * @param index The index of the int to set + * @param value The value to set it to. */ public void setUnsafe(int index, int value) { // Small enough to be inlined. data[index] = value; } - + /** - * Throws an exception. This method isolates error-handling code from - * the error-checking code, so that callers (e.g. {@link #get} and - * {@link #set}) can be both small enough to be inlined, as well as - * not usually make any expensive method calls (since their callers will - * usually not pass illegal arguments to them). + * Throws an exception. This method isolates error-handling code from the + * error-checking code, so that callers (e.g. {@link #get} and {@link #set}) can + * be both small enough to be inlined, as well as not usually make any expensive + * method calls (since their callers will usually not pass illegal arguments to + * them). * * See * this Sun bug report for more information. * - * @param index - * The invalid index. - * @throws IndexOutOfBoundsException - * Always. + * @param index The invalid index. + * @throws IndexOutOfBoundsException Always. */ private void throwException(int index) { throw new IndexOutOfBoundsException("Index " + index + " not in valid range [0-" + (size - 1) + "]"); } - + /** - * Throws an exception. This method isolates error-handling code from - * the error-checking code, so that callers can be both small enough to be - * inlined, as well as not usually make any expensive method calls (since - * their callers will usually not pass illegal arguments to them). + * Throws an exception. This method isolates error-handling code from the + * error-checking code, so that callers can be both small enough to be inlined, + * as well as not usually make any expensive method calls (since their callers + * will usually not pass illegal arguments to them). * * See * this Sun bug report for more information. * - * @param index - * The invalid index. - * @throws IndexOutOfBoundsException - * Always. + * @param index The invalid index. + * @throws IndexOutOfBoundsException Always. */ private void throwException2(int index) { throw new IndexOutOfBoundsException("Index " + index + ", not in range [0-" + size + "]"); } - + /** - * Throws an exception. This method isolates error-handling code from - * the error-checking code, so that callers can be both small enough to be - * inlined, as well as not usually make any expensive method calls (since - * their callers will usually not pass illegal arguments to them). + * Throws an exception. This method isolates error-handling code from the + * error-checking code, so that callers can be both small enough to be inlined, + * as well as not usually make any expensive method calls (since their callers + * will usually not pass illegal arguments to them). * * See * this Sun bug report for more information. * - * @param index - * The invalid index. - * @throws IndexOutOfBoundsException - * Always. + * @param index The invalid index. + * @throws IndexOutOfBoundsException Always. */ private void throwException3(int fromIndex, int toIndex) { - throw new IndexOutOfBoundsException("Index range [" + fromIndex + ", " + toIndex + "] not in valid range [0-" + (size - 1) + "]"); + throw new IndexOutOfBoundsException( + "Index range [" + fromIndex + ", " + toIndex + "] not in valid range [0-" + (size - 1) + "]"); } }